Linux环境Centos服务器下安装zookeeper
1:在官网上下载zookeeper,官网地址:http://www.apache.org/dyn/closer.cgi/zookeeper/
点击箭头所指进入下载:
选择一个版本:
下载之后利用xshell工具上传到服务器的目录下:
执行rz命令,上传文件。如果不能弹出上传文件的对话框。
说明没有rz命令没有被识别。执行yum -y install lrzsz 在执行rz
选择zmodem方式上传文件。
上传成功之后:
2:解压zookeeper到/root目录下。
tar zxvf zookeeper-3.4.10.tar.gz /root
然后我们进入root目录。cd /root
3:单台机器上通过配置来使用复制模式,从而模拟真实的集群环境
我们要只有一台机器,模拟集群,所以在root目录下复制zookeeper-3.4.10文件夹三份。
cp -r zookeeper-3.4.10 zookeeper-3.4.10-1
cp -r zookeeper-3.4.10 zookeeper-3.4.10-2
cp -r zookeeper-3.4.10 zookeeper-3.4.10-3
3:修改文件名:zoo_sample修改为zoo.cfg并进行配置的修改(这个文件在/root/zookeeper-3.4.10-1/conf目录下):
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg进入编辑zoo.cfg页面
初始状态下的zoo.cfg:
上面指向的是我们要修改的地方。由于上面我们配置了三个实例,我们需要修改每个实例对应端口(ClientPort)和
产生数据的路径(dataDir)都不同。
1、其中的dataDir是指定实例数据的存放路径,不同的实例要区分开。并且,注释中提醒不要设置为/tmp目录。比如
可以分别设为:
/var/lib/zookeeper-1
/var/lib/zookeeper-2
/var/lib/zookeeper-3
2、配置中的clientPort是供客户端连接本实例的端口号,不同的实例也要区分。比如,可以分别指定为:2181、2182、2183。
3、设置我们创建的实例连接起来。添加配置:
# servers
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
server.{X}这个X可以取数字也可以取其他值,用来标识集群中唯一的一个实例。配置了多少个server.{X}就表示集群中有多少个实例。后面值的格式为:{host}:{port1}:{port2}其中,{host}为实例所在的主机IP,这里由于都在一台机器上,所以都指定为本机地址;如果我们用多个计算机联网或者我们通过局域网工作就用一个主机的ip,{port1}是集群中实例之间用于数据通信的端口;{port2}是集群中实例进行leader选举时使用的通信端口。对于同一实例{port1}和{port2}是不可相同的。即使向我们这样用一台机器部署多个实例的情况,不同实例的同一种端口也是需要区分的。
注:如果写入失败执行:w!。其他两个文件夹一样的进行配置。
4、配置myid文件。
需要在每一个实例指定的{dateDir}目录下创建一个名为myid的文件,在这里根据我们配置需要在这三个文件夹下
/var/lib/zookeeper-1、/var/lib/zookeeper-2、/var/lib/zookeeper-3创建一个名为myid的文件
文件的内容就是一个数字,对应server.{X}中的X。即1,2,3。
在对应的myid文件中写入对应的实例名,比如我在这个文件中(myid)下写入了1,当作唯一标识这个实例。
其他两个文件夹也是对应如此(对应为2,3)。
5、创建启动和停止的脚本
对于多个实例,分别启动和停止比较麻烦,可以写一个脚本来自动完成这个工作。
start-zk-servers.sh的内容:
stop-zk-servers.sh的内容:
运行启动脚本:sh start-zk-servers.sh
运行停止脚本:sh stop-zk-servers.sh
配置完成!
以上配置过程参考博客:Centos下安装Zookeeper,感谢博主!!!