CentOS7安装zookeeper(集群模式)
闲来没什么事就搞搞自己感兴趣的东西,不做不知道,很多东西自己都不会.......要加油学习了,这篇文章主要为了加深自己印象,是在别人的资料下总结而来,若是能帮助大家解决问题就好了这里一并列出参考的资料,不分排名先后,因为我最后参考:http://blog.51cto.com/4925054/1920382(zookeeper)参考:https://blog.csdn.net/qq_38295166
闲来没什么事就搞搞自己感兴趣的东西,不做不知道,很多东西自己都不会.......要加油学习了,这篇文章主要为了加深自己印象,是在别人的资料下总结而来,若是能帮助大家解决问题就好了
这里一并列出参考的资料,不分排名先后,因为我最后
参考:http://blog.51cto.com/4925054/1920382(zookeeper)
参考:https://blog.csdn.net/qq_38295166/article/details/78822598(firewall防火墙)
参考:https://www.cnblogs.com/lixuwu/p/6102444.html(telnet)
参考:https://blog.csdn.net/hdfyq/article/details/76974397(dns)
首先,我们需要已经有三台CentOS7的虚拟机可以正常运行。
一、
CentOS7需要已经安装好JDK
请参考:https://blog.csdn.net/wuyongzhou/article/details/80906975
二、
下载好zookeeper
我选择的是这个版本。这个下载应该不会难,就不具体说了。
三、
将下载好的zookeeper利用WinSCP上传到指定目录。
我是放到了 /usr/local/ 这个目录下
四、
使用 tar xvzf zookeeper-3.4.12.tar.gz 得到
五、
使用 mv zookeeper-3.4.12 zookeeper 重命名文件夹
六、
进入zookeeper文件夹中的conf文件夹
将 zoo_sample.cfg 复制一份出来 cp zoo_sample.cfg zoo.cfg 效果如上图。
七、
修改zoo.cfg文件 vi zoo.cfg
打开后会有默认的参数。其中需要注意的是dataDir这个参数,代表日志文件的输出位置
clientPort表示对外提供服务的端口
这里我把路径修改为
在最后插入
server.1=192.168.174.130:2888:3888
server.2=192.168.174.131:2888:3888
server.3=192.168.174.132:2888:3888
格式是这样的 server.id=host:port:port
id:自定义的整数,代表服务器
host:服务器的ip地址
第一个port:follower与leader之间的通信端口
第二个port:关于leader的选举投票通信端口
请根据自己服务器的IP地址进行配置。最后保存退出。
八、
这时候需要到 var 目录下面创建文件夹 zookeeper ,并在zookeeper文件夹里面创建myid文件
在myid文件中写入对应的id
假设当前服务器ip为 192.168.174.130 那么myid文件中写入1,请根据自己在zoo.cfg文件的内容来编写,保存后退出。
九、
由于我们是三台服务器,我们上面才大致将其中一台配置好,需要是对其余两台进行同样的操作,同样的先是解压zookeeper并且重命名(解压的路径三台服务器最好相同),然后回到一开始操作的服务器中,
使用 scp zoo.cfg 用户名@服务器ip:/usr/local/zookeeper/conf
例子:scp zoo.cfg wyz@192.168.174.131:/usr/local/zookeeper/conf(请根据实际调整)
接着输入服务器的密码,就可以把zoo.cfg文件传输到指定的服务器中,接着对最好一台服务器也是这样操作,只是改变服务器ip
接着,到第二台服务器中,重复第八步,第三台服务器也是这样。
按照我的配置 192.168.174.130 在myid文件中是 1,192.168.174.131在myid文件中是 2,192.168.174.132在myid文件中是 3
各位请分清。
十、
这时候,我们的三台服务器都已经做好了基本的配置,接着在第一台服务器中,cd /usr/local/zookeeper/bin 移动到bin目录下,执行zkServer.sh start 启动zookeeper
若提示这样的信息代表成功启动。
这时候我们可以使用telnet 进行访问
如果之前没有安装过telnet的话,肯定会提示没有这个命令。
这时候我们需要先安装telnet。
yum list |grep telnet 获取可以安装的源数据
再执行 yum install telnet-server.x86_64 如果安装过程中提示
那么恭喜你,和我一样。需要配置dns网关
执行 vi /etc/resolv.conf 打开文件,加上一句 nameserver 114.114.114.114 后保存退出。
然后,再次执行yum install telnet-server.x86_64 过程会提示缺少什么的,无视就好。
接着再执行 yum install telnet.x86_64
这时候就可以使用telnet 连接zookeeper服务器了。
十一、
执行 telnet 192.168.174.130 2181 (服务器ip以及端口号请根据实际调整)
接着输入 stat 可以如上图那样,能看到指定服务器的zookeeper信息。
需要注意的是,我们的服务器防火墙需要对zookeeper的相关端口进行开放,否则,会提示这样的错误。
这是因为我其中两台服务器都开放了相对应的端口号,而最后这台132服务器没有开放。
防火墙相关命令:
添加开放端口
样例: firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
根据上面设置的端口,最少需要开放三个
firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
添加后需要执行 firewall-cmd --reload
执行 firewall-cmd --zone=public --list-ports 查看所有打开的端口
这时候,在132服务器再次执行 telnet 192.168.174.132 2181
成功了。
以上的就是最基本的zookeeper集群部署的相关内容,包含了很多方面(也是我一边尝试一边发现的坑),如果有不对的地方,请提出来,谢谢
更多推荐
所有评论(0)