修改配置文件
配置环境变量
服务启动、客户端连接
删除缓存的version-2文件夹其实就是删除了已经create的节点,重启zookeeper就可以解决报错。
在宏毕每次新建一个节点时,一定要判断该节点(路径)是否存在,因为在ZooKeeper中路径使唯一的,所以当在该路径下已有节点时,继续往当前路径上新建节点就会报这个蔽誉芹错。
在dataDir目录下创建myid并设置编号
A代表第几号服务器、B代表服务IP地址、C是服务器与集群Leader服务器交互数据的端口、D是万一集群的Leader服务器挂了,需要一个端口来重新进行选举。
查看zookeeper状态虚团
安装zookeeper首先要安装JDK,Linux有自带的OPENJDK,要卸载然后重新安装。
1. java -version 查看JDK版本
2. rpm -qa | grep java 查找有哪些java相关的包
3. rpm -e --nodeps tzdata-java-2015e-1.e16.noarch 卸载,--nodeps 就是no depends的意思,忽略相关依赖强制卸载
4. mkdir /export/server 创建zookeeper和 JDK安装的目录
5.
mv jdk1.8.0_65.tar.gz /export/server 把jdk安装包移动到/export/server文件夹
cd /export/server 进入该文件夹, ls查看可以看到安装包
tar -zxvf jdk1.8.0_65.tar.gz 把JDK上传到linux系统中,然后执行tar解压 *** 作
6. vi /etc/profile 编辑/etc目录下的profile文件,也就是配置环境变量的配置文件。
7. 打开文件后,按大写的G直接跳到文件的最后一行,然后按 i 进入编辑文件状闹弯态,在末尾添加这三行配置信息
export JAVA_HOME=/export/server/jdk.1.8.0_65 配置一个JAVA_HOME的变量,值是jdk安装的目录,这个JAVA_HOME在下面两行会用到
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
编辑完毕,按ESC退出文件编辑状态,然后输入 指令 :wq (冒号+wq) 回车退出并保存该文件。
8. source /etc/profile 刷新profile文件到系统内存。
9. 在任意目录下 输入 java -v 查看JDK版本
以上JDK安装完毕,接下来安装zookeeper。
10. 和上传JDK一样,把zookeeper-3.4.10.tar.gz文件放到/export/server目录下,并进行解压。(忘记了就去看第5步)
tar -zxvf zookeeper-3.4.10.tar.gz
解压之后要进行相关的配置(软件安装无非就是解压+配置)
这里主要有两个重要要改的地方:1.zookeeper服务启动后数据文件保存在哪里? 2. zookeeper通常是会集群化,也就是启动好几台zookeeper同时提供服务的,因此在每台zookeeper服务的配置文件里面都要配置上其它zookeeper服务的ip和端口。 第二点不懂的话直接看配置文件就好了。
11. 首先实现第一点,创建zookeeper数据保存目录
mkdir /export/data/zkdata 创建zkdata文件夹,用于存在zookeeper数据.(这条如果报错了,说明你应该先执行mkdir /export/data/创建data目录)
12. 接下来进行配置
cd zookeeper/conf/ 配置文件放在该目录下,ll可以查看有哪些文件,如图
其中有个zoo_sample.cfg 文件,这个文件是自带的一个模板,就是告诉你配置文件要照着这个样子去抄。。。
然后有个重要的东西就是:zookeeper启动的时候,默认是会读取该文件路径下配置文件zoo.cfg的,但是这里默认是i没有这个文件的。所以我们直接复制一个zoo_sample.cfg 重命名为zoo.cfg就OK了。但液春闷是要进去做自己的相关配置改动。 复制文件命令是:
cp zoo_sample.cfg zoo.cfg
13. vi zoo.cfg 开始编辑配置文件了,打开可以看见一堆你可能看不懂的东西,但是不重要因为大多数都是注释掉的东西。新手就别管那么多了。
这里我们主要要修改的是两个东西,哪两个? 前面黑体字有说过了:数森歼据存放目录,集群中各个zookeeper服务的ip port。
同样的,按 i 进入编辑模式,找到dataDir=/tmp。。。这一行。 这一行就是设置数据存放的目录。 把它改成我们自己新建的目录:
dataDir=/export/data/zkdata/ 这样第一点就配置完了。
实际上到这里一台zookeeper服务已经安装完毕了,但是说过了,zookeeper是集群,所以得多搞几个服务器。我这里用了三台虚拟机,复制三台。ip分别是192.168.209.128 / 192.168.209.129 / 192.168.209.130,这三台同样的安装JDK 和zookeeper。 重复前面的 *** 作就行,也可以直接复制虚拟机。
同样的在zoo.cfg里面,大写的G到最后一行。在末尾加上这三行配置:
server.1=192.168.209.128:2888:3888 #三台服务对应server 1 2 3 ,对应三个ip。 后面两个端口分别是 心跳端口2888 和选举端口。
server.2=192.168.209.129:2888:3888
server.3=192.168.209.130:2888:3888
然后保存退出就OK了。
13. 最后一步: 就是给三台zookeeper服务设置id。在哪里设置呢?
就是在zookeeper保存文件的目录下创建一个/export/data/zkdata/myid 文件。 文件名不能乱写,就得是是这个,选举的时候很关键的。
我们有三台zookeeper server,每台的myid文件数字 不一样,你得进入三台服务器分别编辑这个文件。
第一台服务器,vi myid 编辑该文件,写入一个数字 1
第二台服务器,vi myid 编辑该文件,写入一个数字 2
第三台服务器,vi myid 编辑该文件,写入一个数字 3
14. 最后你启动一下zookeeper试试安装成功了没 。
/export/server/zookeeper/bin/zkServer.sh start 启动zookeeper的指令。可以看到日志打印出来的是默认Using zoo.cfg这个配置文件。三台服务你都要启动,zookeeper会根据你配置的三个ip port去发送心跳,自动建立集群。 并且根据myid去选举哪个server是leader,哪个是follower。
【这里呢就安装完毕了! 动手 *** 作也就14步是不是很简单。但是搞清楚原理才是最主要的。】
在一台机器上,通过启动多个zookeeper服务,来实现伪集群。环境:Linux、zookeeper-3.4.14
单机安装就没啥要说了吧,之前有写在windows上装zookeeper,现在环境更换成Linux了,也没啥大区别啊。简单说一下吧:
在Linux安装zookeeper的过程到此结束~
简单吧。。。
但现在我们要的是伪集群模式,现在你只是开启了一个zookeeper服务而已,也就是所谓伏盯的单机模式。因此我们要进行稍微的配置调整了。
说明:
编辑模式下缺森和,写下数字,保春巧存退出即可。
以上 *** 作完成后,那后面就是启动zookeeper了,进入zookeeper根目录,
然后分别执行下面的三条命令:
最后查看zookeeper服务状态,
至此,zookeeper伪集群配置完毕~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)