Spark单独集群模式部署
目錄
?
網絡配置
SSH 免密碼登錄
部署
執行測試
網絡配置
?
192.168.81.157 node1 master
192.168.81.158 node2 slave1
192.168.81.159 node3 slave2
?
相同的配置先在一個節點上配置,配置完成后復制到其它節點上。
vi /etc/hosts
192.168.81.157 node1
192.168.81.158 node2
192.168.81.159 node3
分別對應每一臺主機修改主機名;
依次修改所有節點?node[1-3]上分別執行
hostnamectl set-hostname node1
?
拷貝文件到其他節點
for a in {2..3} ; do scp /etc/hosts node$a:/etc/hosts ; done
?
SSH 免密碼登錄
1.在集群node1的?/etc/ssh/sshd_config??文件
vi /etc/ssh/sshd_config
RSAAuthentication yes #開啟私鑰驗證 PubkeyAuthentication yes #開啟公鑰驗證
2.將集群node1 修改后的?/etc/ssh/sshd_config??通過?scp?命令復制發送到集群的每一個節點
for a in {2..3} ; do scp /etc/ssh/sshd_config node$a:/etc/ssh/sshd_config ; done
3.生成公鑰、私鑰
1.在集群的每一個節點節點輸入命令?ssh-keygen -t rsa -P '',生成 key,一律回車
ssh-keygen -t rsa -P ''
4.在集群的node1 節點輸入命令
將集群每一個節點的公鑰id_rsa.pub放入到自己的認證文件中authorized_keys;
for a in {1..3}; do ssh root@node$a cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys; done
5.在集群的node1 節點輸入命令
將自己的認證文件?authorized_keys??通過?scp?命令復制發送到每一個節點上去:?/root/.ssh/authorized_keys`
for a in {2..3}; do scp /root/.ssh/authorized_keys root@node$a:/root/.ssh/authorized_keys ; done
6.在集群的每一個節點節點輸入命令
接重啟ssh服務
sudo systemctl restart sshd.service
7.驗證 ssh 無密登錄
開一個其他窗口測試下能否免密登陸
例如:在node3
ssh root@node2
exit?退出
?
部署
node1機器上
部署/opt/目錄
tar xzvf spark-2.4.4-bin-hadoop2.7.tgz
cd spark-2.4.4-bin-hadoop2.7
cp conf/slaves.template conf/slaves
將slave機器名添加上
node2
node3
?
cp conf/spark-env.sh.template conf/spark-env.sh
?
所有機器都
yum install -y java-1.8.0-openjdk
?
vi conf/spark-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/
?
拷貝到其他機器上
for a in {2..3}; do scp -r /opt/spark-2.4.4-bin-hadoop2.7 node$a:/opt ; done
?
關閉防火墻(各臺均執行)
systemctl stop firewalld.service
systemctl disable firewalld
?
node1機器上啟動集群
./sbin/start-all.sh
關閉集群
./sbin/stop-all.sh
?
netstat -tunlp #看到8080端口已經被監聽
?
瀏覽器訪問頁面
http://192.168.81.157:8080/
?
可以看到slave也加入到集群中了。
?
執行測試
bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://node1:7077 --num-executors 2 /opt/spark-2.4.4-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.4.jar
……
19/12/17 17:46:05 INFO DAGScheduler: Job 0 finished: reduce at SparkPi.scala:38, took 2.072959 s
Pi is roughly 3.141275706378532
……
?
總結
以上是生活随笔為你收集整理的Spark单独集群模式部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android设计个人简历页面_Andr
- 下一篇: Pycharm 项目无法导入自己写的模块