背景
最近在研究hadoop spark过程中 遇到的一些问题
搭建hadoop参考地址:https://blog.csdn.net/weixin_36394852/article/details/75948241#commentsedit
搭建spark参考地址:https://blog.csdn.net/weixin_36394852/article/details/76030317
问题
主:alpha@master
从:ubuntu@slave1
版本:
java 1.8.0_171
scala 2.11.8
hadoop 2.9.2
spark 2.2.3
1. 在启动hadoop时遇到 需要输入alpha@master的密码
解决: 将自身的id_rsa.pub 加入自己的authorized_keys中
2. 主从机器用户名不同 在启动hadoop时遇到 需要输入alpha@slave1的密码
根据参考的流程 将各自的id_rsa.pub 加入authorized_keys中
因为主从用户名不一致导致了 默认使用主机用户名登录从机
解决: 在/xxx/xx/hadoop.xx.xx/etc/hadoop/的 slaves 中 修改slave => ubuntu@slave1
3. spark 搭建完成后 启动时 只有master启动了 slave启动失败
这里单独启动slave 失败如下
ubuntu@slave1: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/logs/spark-ubuntu-org.apache.spark.deploy.worker.Worker-1-maint1.out
ubuntu@slave1: failed to launch: nice -n 0 /usr/local/spark/bin/spark-class org.apache.spark.deploy.worker.Worker --webui-port 8081 spark://ubuntu:7077
ubuntu@slave1: at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
ubuntu@slave1: at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
ubuntu@slave1: full log in /usr/local/spark/logs/spark-ubuntu-org.apache.spark.deploy.worker.Worker-1-maint1.out
网上找了很多 都是什么环境没配什么的 并没有什么用
后来发现master用的java1.8 而slave的是java1.7
有在网上看到好像spark2.2之后不支持java1.7
更新了一下java版本就ok了
4. spark启动未报错 但是jps查看时 master正常 slave依旧没有worker
也是在网上找了很久 终于找到:https://my.oschina.net/u/2329800/blog/1826179
在slave的spark配置中加上
export SPARK_LOCAL_IP=本地ip
这里如果写127.0.0.1也能启动 不过会在sparkUI界面出现127.0.0.1:25302的展示 不好看 所以写本地ip也可以
5. 启动Spark在UI界面上看不到worker节点的信息
参考:https://blog.csdn.net/xsg448457111/article/details/82986024
将 spark-env.sh
export SPARK_MASTER_IP=master
给为
export SPARK_MASTER_HOST=192.168.1.100