大数据高可用集群环境安装与配置(09)——安装Spark高可用集群
1. 获取spark下载链接
登录官网:http://spark.apache.org/downloads.html 选择要下载的版本
2. 执行命令下载并安装
cd /usr/local/src/ wget http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.4/spark-2.4.4-bin-hadoop2.7.tgz tar -zxvf spark-2.4.4-bin-hadoop2.7.tgz mv spark-2.4.4-bin-hadoop2.7 /usr/local/spark cd /usr/local/spark/conf mv spark-env.sh.template spark-env.sh
3. 修改spark-env.sh配置
vi spark-env.sh
在尾部添加下面配置,绑定hadoop的配置文件路径
export JAVA_HOME=/usr/local/java/jdk export HADOOP_CONF_DIR=/usr/local/hadoop/etc/Hadoop export SPARK_HOME=/usr/local/spark export SPARK_MASTER_PORT=7077 # 非高可用集群配置 # export SPARK_MASTER_IP=master # 高可用集群配置 export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master:2181,master-backup:2181 -Dspark.deploy.zookeeper.dir=/spark"
4. 修改slaves配置
mv slaves.template slaves vi slaves
删除里面的localhost,添加下面配置
node1 node2 node3
5. 指定spark的主节点
mv spark-defaults.conf.template spark-defaults.conf vi spark-defaults.conf
添加下面配置
spark.master spark://master:7077,master-backup:7077
6. 修改服务器系统环境变量
所有服务器都需要按要求修改配置
vi /etc/profile
在尾部添加下面配置
export SPARK_HOME=/usr/local/spark/ export PATH=$PATH:$SPARK_HOME/bin # 这里根据具体需要进行修改,如果你运行的是python2版本的程序,则不需要修改,python3的话后面需要安装相关环境 export PYSPARK_PYTHON=/usr/local/bin/python3
保存退出后,运行命令,让配置马上生效
source /etc/profile
7. 安装插件,配置pyspark访问hbase
拷贝spark访问hbase所需要的jar到spark/jar引用文件夹
cp /usr/local/hbase/lib/hbase-*.jar /usr/local/spark/jars/
配置Phoenix方式访问hbase
cd /usr/local/src/ wget http://www.apache.org/dyn/closer.lua/phoenix/apache-phoenix-5.0.0-HBase-2.0/bin/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz mv apache-phoenix-5.0.0-HBase-2.0-bin /usr/local/phoenix cd /usr/local/phoenix # 复制phoenix服务插件到hbase目录下 cp phoenix-5.0.0-HBase-2.0-server.jar /usr/local/hbase/lib/ # 复制phoenix客户端插件到spark的jars目录下 cp phoenix-5.0.0-HBase-2.0-client.jar /usr/local/spark/jars/
8. 将spark同步到其他服务器上
rsync -avz /usr/local/spark/ master-backup:/usr/local/spark/ rsync -avz /usr/local/spark/ node1:/usr/local/spark/ rsync -avz /usr/local/spark/ node2:/usr/local/spark/ rsync -avz /usr/local/spark/ node3:/usr/local/spark/ # 将phoenix-5.0.0-HBase-2.0-server.jar同步到其他两台服务器上 rsync -avz /usr/local/hbase/lib/phoenix-5.0.0-HBase-2.0-server.jar master-backup:/usr/local/hbase/lib/ rsync -avz /usr/local/hbase/lib/phoenix-5.0.0-HBase-2.0-server.jar node1:/usr/local/hbase/lib/ rsync -avz /usr/local/hbase/lib/phoenix-5.0.0-HBase-2.0-server.jar node2:/usr/local/hbase/lib/ rsync -avz /usr/local/hbase/lib/phoenix-5.0.0-HBase-2.0-server.jar node3:/usr/local/hbase/lib/
9. 启动spark
重启hbase服务
/usr/local/hbase/bin/stop-hbase.sh /usr/local/hbase/bin/start-hbase.sh
在master服务器上启动spark服务
/usr/local/spark/sbin/start-all.sh
在master-backup服务器上,启动第二个master
/usr/local/spark/sbin/start-master.sh
在master与master-backup服务器输入jps,都可以查看到Master
31681 Master
在其他服务器输入jps
28660 Worker
启动后就可以看到spark的web控制台地址了,在浏览器中输入地址访问,就可以查看到master节点的spark,Status为ALIVE,master-backup节点的spark,Status为STANDBY
10. 测试master切换
首先打开http://192.168.10.90:8080/ 与 http://192.168.10.91:8080/ 页面
在master服务器上输入jps,查看到Master服务的PID
16073 Master
然后输入命令,杀掉Master进程
kill -9 16073
运行scala(不运行的话,刷新页面看不到切换效果)
spark-shell --master spark://master:7077,master-backup:7077
接着在浏览器中刷新打开的两个页面,查看Workers是否已切换到另一台服务器上了
版权声明:本文原创发表于 博客园,作者为 AllEmpty 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
作者博客:http://www.cnblogs.com/EmptyFS/