Spark Standalone模式搭建
2017-12-07 11:13
239 查看
Spark三种模式
localon yarn
standalone
spark的local模式不多做说明,on yarn模式就是将资源管理交给hadoop的yarn,自己本身只做计算与任务调度。而standalone则是自己本身成为一套系统,有自己的资源管理与调度器。
本篇博客主要讲述在虚拟机中搭建spark 集群(standalone),其主要采用Master/Slave(Worker)结构.
集群安装
1、前期准备spark-2.1.1-bin-hadoop2.7.tar.gz
master 192.168.10.4 hadoop jdk Slave master1 192.168.10.8 hadoop jdk Master slave1 192.168.10.5 hadoop jdk zookeeper Slave slave2 192.168.10.6 hadoop jdk zookeeper Slave slave3 192.168.10.7 hadoop jdk zookeeper Slave
2、这里依旧采用5台虚拟机来模拟搭建Spark集群,所有虚拟机都已安装完成hadoop HA集群、jdk、Zookeeper,且已做好hadoop账户的免密登录与hosts文件修改
3、为了安全起见,又新建一个专门的用户来管理Spark集群
//在root账户下 useradd spark passwd spark id spark su spark
这样就建好并进入spark用户了。
4、5台虚拟机之间的spark账户同样也要做免密登录,这样是为了避免在通过Master节点启动其他Slave节点的时候再次输入其他节点Spark用户登录密码
ssh-keygen -t rsa //连续回车,知道生成密钥对 //把公钥发送给其他节点 ssh-copy-id -i ~/.ssh/id_rsa.pub spark@master ssh-copy-id -i ~/.ssh/id_rsa.pub spark@master1 ssh-copy-id -i ~/.ssh/id_rsa.pub spark@slave1 ssh-copy-id -i ~/.ssh/id_rsa.pu 4000 b spark@slave2 ssh-copy-id -i ~/.ssh/id_rsa.pub spark@slave3 //该文件如果不存在会被创建 ~/.ssh/authorized_keys
其他节点一次进行同样的操作
5、将spark-2.1.1-bin-hadoop2.7.tgz拷贝进虚拟机的/usr/local/目录下并解压(在Master1节点上)
tar –xzvf spark-2.1.1-bin-hadoop2.7.tgz chown -R spark:spark /usr/local/spark
6、配置环境变量
vim ~/.bashrc export SPARK_HOME=/usr/local/spark export SCALA_HOME=/usr/local/scala //在PATH中添加spark变量 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin //增加完了后,保存退出,让文件生效 source ~/.bashrc
7、安装配置Spark
修改Spark文件中的slaves节点,添加worker节点
cd /usr/local/spark/conf //如果没有改文件 cp slaves.template slaves //修改slaves文件 vim slaves //文件最后添加 master slave1 slave2 slave3
配置spark-env.sh,增加一些基础配置
//如果没有该文件 cp spark-env.sh.template spark- env.sh //在配置文件中添加 export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop export JAVA_HOME=/usr/local/jdk1.8.0_144 export SPARK_HOME=/usr/local/spark export SPARK_EXECUTOR_MEMORY=1G export SPARK_EXECUTOR_cores=1 export SPARK_WORKER_CORES=1
分别为
设定hadop配置文件的路径
设定JDK文件的路径
设定Spark文件的路径
设定Spark executor的内存大小
设定Spark executor 使用的cpu的核的数量
设定spark worker使用cpu的的核的数量
配置修改spark-default.conf
//如果没有该文件 cp spark-defaults.conf.template spark-defaults.conf //在里面添加相关内容 spark.eventlog.enabled=true spark.history.fs.cleaner.interval=1d spark.history.fs.cleaner.maxAge=7d spark.eventlog.dir hdfs://nn/user/spark/history spark.driver.memory 1g spark.history.fs.logDirectory hdfs://nn/usr/spark/history spark.sql.warehouse.dir /user/spark/warehouse
分别为
设定事件日志为true
设定记录删除时间
设定事件日志目录
设定Driver的内存大小
设定历史操作日志保存路径
设定仓库目录
8、将配置好的Spark发送给其他的节点
//发送给其他的节点 scp -r /usr/local/spark master:/usr/local/spark scp -r /usr/local/spark slave1:/usr/local/spark scp -r /usr/local/spark slave2:/usr/local/spark scp -r /usr/local/spark slave3:/usr/local/spark
然后配置其他节点的环境变量配置
至此,Spark 集群就配置完成
9、启动测试集群(Spark 集群自己没有文件存储功能,因此需要借助HDFS来存储eventlog)
//先启动hdfs-dfs.sh //然后启动spark集群的master节点(master1) start-master.sh //启动worker节点(master1) start-slaves.sh //jps 查看启动服务
输入
192.168.10.8:8080
可以访问Spark 集群的WEB UI
测试
使用spark自带的SparkPi来测试一下集群是否正常工作spark-submit --class org.apache.spark.examples.SparkPi --master spark://master1:7077 --num-executors 2 /usr/local/spark/examples/jars/spark-examples_2.11-2.1.1.jar 5
在UI上也可以查看相应的状态
测试成功,说明集群正常工作!
有什么意见或者建议,请联系我,谢谢。
相关文章推荐
- Spark的StandAlone模式环境搭建
- Spark的StandAlone运行模式环境搭建
- 关于Spark下的第二种模式——standalone搭建
- Spark1.6.1集群环境搭建——Standalone模式HA
- Spark1.2.1集群环境搭建——Standalone模式
- Spark自带的集群模式(Standalone),Spark/Spark-ha集群搭建
- spark环境搭建--Standalone模式
- zeppelin 无法连接一个已有的standalone模式的spark集群
- 安装spark - standalone模式
- Spark Standalone模式HA环境搭建
- Spark Standalone模式应用程序开发
- Spark的环境搭建以及简单的eclipse的两种运行方式--standalone和yarn
- 搭建Spark集群(独立模式)
- Apache Spark源码走读之15 -- Standalone部署模式下的容错性分析
- spark 环境搭建及几种模式测试
- 010-spark standalone模式Scala版本WordCount代码
- Maven安装编译Spark,搭建Spark独立集群模式(Hadoop架构之上)
- Spark2.1集群安装(standalone模式)
- Spark中standalone模式的HA(了解,知道怎么配置即可)
- Spark -5:Standalone 集群模式