zookeeper集群的搭建

注意事项:

     1.本次操作 都是在root环境下进行操作,不然会有文件访问权限问题,出现如下的情况:zookeeper的conf文件只读,更改之后无法保存的问题。

切换到root的命令
sudo  su
然后输入密码:
就可以

   

  2.前置条件jdk环境必须是可用的

首先我在一个linux服务器里面安装了一个zookeeper(zookeeper的安装步骤参照博客https://www.cnblogs.com/huangjianping/p/8012580.html),然后对这个服务器进行克隆,得到了三份完全一样的服务,三个服务器的ip如下:

192.168.229.129

192.168.229.130

192.168.229.131

来连接的情况如下:

好,下面开始搭建集群环境。

一、主机名更改

这里需要使用linux主机名进行配置,查看linux 主机名的方式如下:

为了方便主机名区分,我对三个服务器号的主机名进行了更改,更改方式如下:

二、zoo.cfg文件更改

对zoo.cfg的配置文件进行更改:

注意:dataDir目录建议修改,这个目录是zookeeper存放数据的地方,如果不修改,默认在、temp下,这个目录下的数据可能会在自盘空间不足或者服务重启的时候被linux清理。

说明:2888原子广播端口,3888选举端口,zookeeper有几个节点就配置几个server

这里的server.1对应myid里面的数字,二者必须保持一致,server1,server2可以改成ip地址,对于本机的ip可以写成0.0.0.0:2888:3888

建议使用ip不然还得配本地映射,这里我改成了使用ip的方式。

三、myid

到之前配置的zookeeper数据文件所在的目录下生成 一个文件叫myid,其中写上一个数字表明当前机器是哪一个编号的机器。

比如我的文件夹应该是在data下

在这个文件里加上编号就可以了

另外两台 服务器操作也是这样,只是他们的编号不是一样的。

四、重启服务器

进入bin目录下启动zookeeper
命令如下:
启动:
./zkServer.sh start
重启
./zkServer.sh restart
查看状态
./zkServer.sh  status

这样zk集群的环境搭建完毕 。

最后的结果如图所示:

三个zk都起来了进行协同工作

搭建参考博客:https://my.oschina.net/u/3754001/blog/1802140

在服务搭建完毕之后,启动zk,使用tail -fn200 命令监控日志,发现如下信息

2019-06-15 11:10:34,772 [myid:1] - INFO  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumPeer$QuorumServer@149] - Resolved hostname: 192.168.229.130 to address: /192.168.229.130
2019-06-15 11:10:34,776 [myid:1] - WARN  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@400] - Cannot open channel to 3 at election address /192.168.229.131:3888
java.net.ConnectException: 拒绝连接 (Connection refused)
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:381)
	at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:426)
	at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:843)
	at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:822)

本机的zk的正常启动,其他两个都是连不上,其他zk虽然已经启动了,但是通过查看进程还是没有,因为我个人的服务器是直接克隆的,我没想过克隆以后会导致jdk环境改变,最后排除发现java -version 不能用了jdk环境不能用了,这就很烦了,问题解决就ok了。

这个过程回顾一下基本的命令吧:

vim   /etc/profile   环境变量的位置
source +文件名   不重启使修改的配置生效
tai  -fn200   out.log  滚动查看日志
 sudo  su           切换到root用户
netstat -an|grep   2181  查看端口号占用情况
ps -ef|grep   zookeeper  查看进程
Java -version  jdk版本查看  检测jdk环境
shit+g   跳转到文件最后一行
grep 'Exception' out.log    即在out.log中搜索并高亮"Exception"关键字

大文件的搜索
sudo du -s * | sort -nr | head   显示前10个占用空间最大的文件或目录
sudo du –max-depth=1         linux查找占空间最大的文件与目录
sudo find / -size +204800        这样可以查找出大于100M的文件,按需求删除就可
sudo find ./ -size +2048c             查找大于2K的文件,+ 表示大于
sudo find ./ -size +2048c -type f     查找小于2K的文件,- 表示小于

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值