SPark高集群从头到尾踩坑记录

环境:ubuntu16.04;spark2.4.7;zookeeper3.4.9;虚拟机四台

安装过程:zookeeper是在node1,node2,node3上安装,spark是在node1,node3,node4上面安装

spark问题汇总

问题1:spark启动后,利用jps可以看到worker进程,但是在web界面上看不到

答:由于博主用的是虚拟机,除了node1以外其他的虚拟机都是由node1拷贝的,所以按照网上的教程只更改了hostname,但是用户名还是node1。然后在spark-env.sh里面的SPARK_MASTER_HOST上写的是node1,但是当更改为node1的ip地址以后就可以用了。

问题2:安装zookeeper以后启动spark,在web上无法看到worker进程

答:这里一定要把更改后的spark-env.sh复制到各台虚拟机上面,替换之前的,不然是看不到的,复制过以后可以检查一下,博主找问题找了很久才发现这里是没有复制正确。

ssh问题汇总:

问题1:为什么复制了公钥以后想要用ssh远程登录另一台机器还是需要输入密码

答:看到网上的教程是把每一个机器的公钥全都复制给其他所有的机器,当然包括本台机器(这样本台机器才能够免密登录)。但是博主只需要主从机器中主可以登录从就可以了,在这里犯了一个逻辑错误,博主做的是把从机器的公钥复制给主机器,但是其实是需要将主机器的公钥复制给从机器的,这样主机器才能免密登录从机器。如果按照网上教程的各种解决方法都没法成果的话,可以看一下是不是和博主犯了一样的错误。如果不介意从机器免密登录主机器的话,可以将公钥全部复制拷贝给其他所有机器。

问题2:如果重新生成了密钥对,且将秘钥也复制给了主机器,结果在ssh登录的时候发生错误,提示为@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@怎么办

答:这是因为每次ssh远程登录其他主机的时候会在.ssh/konwn_hosts文件里面存储好之前的登录信息,当重新生成密钥对以后,会使得新的信息和known_hosts里面的信息有误差,导致其无法正确登录,解决办法可以将known_hosts里面关于这个机器的信息删除,(楼主直接删除了known_hosts哈哈),再次登录就可以了。注意,每次第一次登录的时候都是会弹出一个选择yes/no的,之后就不会了。

zookeeper问题汇总

问题1:为什么通过命令zkServer.sh start之后,显示started,但是用status查看的时候是error?

答:在这里可以看到网上有很多教程,比如说防火墙,比如说myid文件的路径是否正确。博主这里发现dataDir是对的,myid也是对的,但是问题在于zoo.cfg文件里面本身就有一个dataDir,需要将原有的dataDir用#标识,然后再设置新的dataDir,不然是无法找到我们自己设置的dataDir的。

最后,博主由于用的是虚拟机复制,因此用户名没有进行更改,只修改了主机名,为了避免错误,因此博主在用到名字的地方,用的都是node1@node1,node1@node2这种类型,或者是直接用ip代替(用ip非常方便,可以避免错误)。

最后在这里贴上博主用到的一些有用的链接(参考资料):

https://wenku.baidu.com/view/5bb285f459eef8c75ebfb3bf.html

https://blog.csdn.net/yitian_z/article/details/86697474

视频:https://www.bilibili.com/video/BV1vb41137Yv?p=1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值