内容简介:软件版本如下:参考Hadoop HA 搭建 目前已完成 Hadoop/ZooKeeper 环境搭建
Apache Spark
是一个开源集群运算框架,作用类似于 Hadoop
的 MapReduce
。但是相对于 MapReduce
来说它的速度要快得多。
环境介绍
软件版本如下:
Program | Version | URL |
---|---|---|
System | CentOS-7-x86_64-Minimal-1810 | TUNA Mirrors |
JAVA | jdk-8u211-linux-x64.tar.gz | Oracle |
Hadoop | hadoop-2.6.0.tar.gz | Apache Archive |
Spark | spark-2.0.0-bin-hadoop2.6.gz | Apache Archive |
ZooKeeper | zookeeper-3.4.5.tar.gz | Apache Archive |
目标
- 完成 Standalone 集群搭建
- 在 YARN 上运行 Spark
- 在 Mesos 上运行 Spark
基础环境配置
参考Hadoop HA 搭建 目前已完成 Hadoop/ZooKeeper 环境搭建
下载解压
curl -O http://archive.apache.org/dist/spark/spark-2.0.0/spark-2.0.0-bin-hadoop2.6.tgz tar xf spark-2.0.0-bin-hadoop2.6.tgz -C /usr/local/src/ mv /usr/local/src/spark-2.0.0-bin-hadoop2.6 /usr/local/src/spark
Standalone Mode
使用这种模式搭建,不需要借助其他外部工具(高可用性需要 ZooKeeper)
手动启动集群
先搭建一个最简单的
HostName | Mode | IP |
---|---|---|
master | Master | 192.168.66.128 |
slave1 | Worker | 192.168.66.129 |
slave2 | Worker | 192.168.66.130 |
不需要修改任何配置,直接启动即可。
# master cd /usr/local/src/spark/sbin ./start-master.sh
用浏览器打开的 Web UI
看看 http://master:8080/
其中的 URL
是让其他的 Workers
连接到 master
的重要参数
将程序传到另外两台机子上
scp -r /usr/local/src/spark slave1:/usr/local/src/ scp -r /usr/local/src/spark slave2:/usr/local/src/
接下来在另外两台机子上启动 workers
并连接到 master
# 两台机子都要运行 cd /usr/local/src/spark/sbin ./start-slave.sh spark://master:7077
如图出现了两个 Worker
且 State
处于 ALIVE
搭建完毕
脚本启动集群
首先将之前启动的服务都手动关掉
# master ./stop-master.sh
# 两个 slave 都需要关闭 ./stop-slave.sh
将默认的配置文件改名为正式使用
cd /usr/local/src/spark/conf/ cp spark-env.sh.template spark-env.sh cp slaves.template slaves
修改 slaves
文件删掉里面的所有内容写入以下内容
slave1 slave2
修改 spark-env.sh
文件指定 master
,写入以下内容
SPARK_MASTER_HOST=master JAVA_HOME=/usr/local/src/jdk1.8.0_211
如果不写 JAVA_HOME
的话,在启动 slave
的时候会报 JAVA_HOME is not set
估计是因为我的 JAVA_HOME
设置的仅对 root
生效的原因吧
将配置文件同步给另外两台机子
scp -r /usr/local/src/spark/conf/ slave1:/usr/local/src/spark/ scp -r /usr/local/src/spark/conf/ slave2:/usr/local/src/spark/
在 master
上面启动 master
和 slaves
cd /usr/local/src/spark/sbin/ ./start-master.sh ./start-slaves.sh
启动成功后浏览器打开 http://master:8080/ 看看,应该和上面的图片是一样的
下面的命令可以关闭
./stop-master.sh ./stop-slaves.sh
高可用
编辑配置文件
vi /usr/local/src/spark/conf/spark-env.sh
在配置文件中新增以下内容
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master:2181,slave1:2181,slave2:2181 -Dspark.deploy.zookeeper.dir=/sparkha"
注意如果你之前添加了 SPARK_MASTER_HOST=master
要删掉,因为 master
的任命被 ZooKeeper
接管了这个配置没用了
将配置同步到另外两台机器上
scp -r /usr/local/src/spark/conf/ slave1:/usr/local/src/spark/ scp -r /usr/local/src/spark/conf/ slave2:/usr/local/src/spark/
启动 ZooKeeper
,如果你还没有配置可以参考这篇文章 Hadoop HA 配置 - ZooKeeper 配置
# 每台机子都要启动 zkServer.sh start
在 mastrt
上启动 master
和 slaves
./start-master.sh ./start-slaves.sh
在 slave1
上启动 备用 master
./start-master.sh
以上所述就是小编给大家介绍的《Spark 配置》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 6、如何获取配置中心的配置
- React降级配置及Ant Design配置
- vscode 配置eslint 开发vue的相关配置
- git commit 规范校验配置和版本发布配置
- hadoop地址配置、内存配置、守护进程设置、环境设置
- 在hibernate中配置事务级别与命名查询配置【原创】
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。