zookeeper集群配置详细教程
2018-11-01 10:31
1066 查看
第一步:环境准备
环境准备完毕之后,安装三台centos7的虚拟机,并分配好静态IP。
假设三台虚拟机分配的IP分别为:
10.0.90.52
10.0.90.53
10.0.90.54
配置Jdk环境变量,确保“java -version”命令能够执行成功,Jdk的环境变量配置不在赘述。
注意:为了确保zookeeper集群能够成功运行,确保万一,这里需要关闭一下centos的防火墙,关闭方法如下:
1. 安装iptables:
yum install -y iptables-services
2.关闭防火墙:
service iptables stop
3. 查看防火墙状态 service iptables status
这个状态说明已经关闭了,如下图所示:
环境 | 版本 | 说明 |
JDK | 1.8 | zookeeper运行所需 |
centos | 7 | 操作系统 需要配置好JDK的环境变量 |
zookeeper-3.4.9.tar.gz | 3.4.9 | zookeeper部署包 |
第二步:Zookeeper配置 选取其中一台服务器,比如ip为10.0.90.52的服务器,将zookeeper-3.4.9.tar.gz 移动到 /usr/local 目录下。 解压压缩包: tar -zxvf zookeeper-3.4.9.tar.gz 解压成功之后,会有一个zookeeper-3.4.9文件夹,这个是zookeeper的部署包,个人习惯将将文件夹名改成zk(mv zookeeper-3.4.9 zk),下文都以zk表示zookeeper的部署包名。 修改配置文件: zookeeper的配置文件都是放在 conf 目录下的,在这里,他有一个初始化的配置文件,zoo_simple.cfg,将其重命名为zoo.cfg。conf目录结构图如下:
接下来看看zoo.cfg:
zookeeper的配置文件注释还是很全的,这里重点讲一下集群的配置,上图红框部分,dataDir是zookeeper存放数据的目录,默认情况是指定的/tmp/zookeeper。 根据实际的工程需要指定目录的地址,这里我是放在了 /opt/data/zk 目录下。 注意:在配置zookeeper集群时,还需要增加一个步骤,在上文指定的dataDir目录下,新建文件myid,并在其中写入与其他不同服务器不同的并且唯一的 myid 的值。 比如,现在有三台服务器,10.0.90.52服务器myid的值是1,10.0.90.53服务器myid的值是2,10.0.90.54服务器myid的值是3。 集群成员配置:在zoo.cfg最下方,加上集群的成员,如下图所示: 到这里zookeeper部署包的配置基本完成了。 那么接下来只需要在其他两台机器上,进行类似的操作即可。可以方便的操作,直接将10.0.90.52上的zookeeper部署包scp到其他两台上,命令如下: scp -r /usr/local/zk 10.0.90.53:/usr/local 切记,其他两台服务器的dataDir目录下的myid文件的创建与值的唯一。 第三步:启动集群 zookeeper的脚本和cli工具都是放在 bin 目录下的,如下图所示:
依次启动zookeeper,首先我先启动 10.0.90.52上的服务,执行命令: sh zkServer.sh start 启动成功输出如下:
可以使用 “jps“命令查看正在运行的Java进程,执行 jps
如果jps命名输出中包含上图红框中的内容,则说明zookeeper服务启动成功。 还可以通过查看端口开启的方式,执行命令: netstat -nltp | grep 2181 正常的执行结果如下图所示:
到此集群中的第一个成员,启动完毕,接着按照同样的方式启动第二个,第三个服务,到此集群的所有服务启动完毕。 查看集群状态 还是在bin目录下,执行命令: sh zkServer.sh status 输出结果如下:
可以看到此服务已经成功集群,并正扮演者leader的角色,再看看其他两台的情况。 如下图所示,其他两台服务正扮演着follwers的角色。 通常来说,集群中第一个启动的服务,都会成为leader。 第四步:验证 zookeeper提供了cli工具,可以完成基本的操作,只需要输入简单的命令即可。 工具是:bin目录下的zkCli.sh 既然集群启动成功了,那么做一个小实验,分为两个步骤: 1. 在其中的一台服务,创建一个节点:test 2. 然后在其他两台服务中查看是否存在新创建的节点 执行 sh zkCli.sh 如下图所示,cli工具就是自动连接上本机localhost的zookeeper
查看节点: 输入命令 ls /
zookeeper节点是zookeeper服务中本身默认存在的节点,这里我们手动创建一个节点test,并赋值 ‘123’。 执行命令:create /test 123 结果如下图所示,节点创建成功。
转到集群中的其他服务,使用zkCli工具查看该节点是否存在。 结果如下图所示: test节点存在,说明集群配置成功,集群中的各个服务保证了数据一致性。 到此zookeeper的全部集群配置完毕 常见错误解决 注意zookeeper启动出差 会在bin目录下生成一个zookeeper.out文件,里面记录了错误信息。 集群启动失败 2018-10-11 11:00:18,461 [myid:] - INFO [main:QuorumPeerConfig@124] - Reading configuration from: /usr/local/zk/bin/../conf/zoo.cfg 2018-10-11 11:00:18,484 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: 10.0.90.52 to address: /10.0.90.52 2018-10-11 11:00:18,484 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: 10.0.90.54 to address: /10.0.90.54 2018-10-11 11:00:18,485 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: 10.0.90.53 to address: /10.0.90.53 2018-10-11 11:00:18,485 [myid:] - INFO [main:QuorumPeerConfig@352] - Defaulting to majority quorums 2018-10-11 11:00:18,486 [myid:] - ERROR [main:QuorumPeerMain@85] - Invalid config, exiting abnormally org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /usr/local/zk/bin/../conf/zoo.cfg at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:144) at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101) at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78) Caused by: java.lang.IllegalArgumentException: /tmp/zookeeper/myid file is missing at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:362) at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:140) ... 2 more Invalid config, exiting abnormally dataDir目录下的myid文件缺失,需要创建myid文件,并赋值
相关文章推荐
- 在linux下通过zookeeper部署solr集群详细配置教程
- kafka_2.10-0.8.1.1.tgz的1或3节点集群的下载、安装和配置(图文详细教程)绝对干货
- Hadoop 2.0集群配置详细教程[虚拟机下配置成功]
- Hadoop 2.0集群配置详细教程
- zookeeper集群环境搭建详细图文教程
- kafka集群zookeeper集群详细配置
- Hadoop 2.0集群配置详细教程
- 入门级Hadoop集群搭建详细教程(六):yum本地仓库与远程仓库配置
- kafka_2.10-0.8.1.1.tgz的1或3节点集群的下载、安装和配置(图文详细教程)绝对干货
- Linxu环境下ZooKeeper的集群搭建之详细教程
- Hadoop 2.0集群配置详细教程
- windows下 zookeeper dubbo 安装+配置+demo 详细图文教程
- windows下 zookeeper dubbo 安装+配置+demo 详细图文教程
- Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境
- Kafka详细教程:下载、安装、配置与集群部署
- 非常详细的weblogic使用教程以及集群配置
- Zookeeper3.4.6与Kafka0.8.1.1集群安装和配置详细步骤
- 转:zookeeper配置运行——较为详细的教程
- ZooKeeper在Linxu下集群配置
- hadoop学习(九)Hadoop2.2.0+HA+zookeeper3.4.5详细配置过程+错误处理(2)