Zookeeper 集群环境搭建
2017-03-28 07:45
417 查看
参考官方文档,基于ZK3.4.9 ,JDK1.8, CENTOS 7
下载ZK 安装包,http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz 推荐迅雷下载
集群环境,准备至少三台的奇数个CentOS主机, 依据来源于ZK的ZAB协议,可查询相关资料论证.
为保证集群一致性,强烈建议使用统一的hostname, 以笔者masterN为例, ZK安装包统一置于/app目录下, CentOS 7 hostname 修改位置:./etc/hostname
tar -zxf zookeeper-3.4.9.tar.gz 分别解压ZK 到 /app 目录下
mv zookeeper-3.4.9 zookeeper 对目录重命名,此处不考虑多版本的问题,自行决定,另查看版本也可直接查看jar ,该操作可三主机同步进行.
任意选一主机, cd /app/zookeeper/conf ;cp zoo_sample.cfg zoo.cfg;vi zoo.cfg; 做如下配置
创建zk data存储目录 , cd / ;mkdir data; cd data; mkdir zookeeper;
vi zoo.cfg 配置集群环境,此处需要预先将三主机的ip在/etc/hosts中进行映射
分发 zoof.cfg 到其它两个主机,可以手动COPY,此处使用 scp -r zookeeper root@master20:/app 将 zookeeper目录直接发送值 20,25主机, 也可手动完成.
20,25 主机中创建数据目录 /data/zookeeper
在数据目录下为ZK节点创建唯一标识,即zoo.cfg server.* 后的标识, 以13主机为例: cd /data/zookeeper; echo 1 >> myid ,20,25一致,区别在于echo的内容分别为2,3,更多ZK节点的集群雷同
启动集群,ZK节点启动不分先后顺序,先启动13为例, cd /app/zookeeper/bin;./zkServer.sh start; JPS 查看JVM进程,注:即便能够看到ZK的进程JVM进程也并不意味着启动成功,日志文件见启动脚本下zookeeper.out . 可以使用ps ,netstat 等命令查看默认的2181,以及下文体现的其它端口是否启用监听.
查看ZK节点状态, ./zkCli.sh stat ,此处笔者已经启动了其余的两个节点,ZK 的ZAB算法已经推举出了合适的Leader,如下为一个Follower节点
如启动后节点间不能通信,关闭防火墙后重启机器,启动ZK ./zkServer.sh start; 下列关闭防火墙方法适用于CentOS7 ,另如还有网络问题应关闭 SeLinux 内核模块
如还存在其它问题,请严格检查下列
/ect/hosts 下是否配置合适的域名映射
ZK zoo.cfg data目录修改是否恰当,且集群配置的中使用的端口,通信端口2888,Leader选举端口3888是否被占用.
ZK 数据目录下 是够存在 myid 文件且内容有且仅为当前实例的ID及 server.N 中的N
网络防火墙策略是否允许2181,以及ZK相关节点通信,内部环境中关闭防火墙策略 Selinux 及firewall 重启即可.
其它潜在的问题
关于ZK的简单使用及使用场景计划在其它章节体现.
下载ZK 安装包,http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz 推荐迅雷下载
集群环境,准备至少三台的奇数个CentOS主机, 依据来源于ZK的ZAB协议,可查询相关资料论证.
为保证集群一致性,强烈建议使用统一的hostname, 以笔者masterN为例, ZK安装包统一置于/app目录下, CentOS 7 hostname 修改位置:./etc/hostname
tar -zxf zookeeper-3.4.9.tar.gz 分别解压ZK 到 /app 目录下
mv zookeeper-3.4.9 zookeeper 对目录重命名,此处不考虑多版本的问题,自行决定,另查看版本也可直接查看jar ,该操作可三主机同步进行.
任意选一主机, cd /app/zookeeper/conf ;cp zoo_sample.cfg zoo.cfg;vi zoo.cfg; 做如下配置
dataDir=/data/zookeeper
创建zk data存储目录 , cd / ;mkdir data; cd data; mkdir zookeeper;
vi zoo.cfg 配置集群环境,此处需要预先将三主机的ip在/etc/hosts中进行映射
server.1=master13:2888:3888 server.2=master20:2888:3888 server.3=master25:2888:3888
分发 zoof.cfg 到其它两个主机,可以手动COPY,此处使用 scp -r zookeeper root@master20:/app 将 zookeeper目录直接发送值 20,25主机, 也可手动完成.
20,25 主机中创建数据目录 /data/zookeeper
在数据目录下为ZK节点创建唯一标识,即zoo.cfg server.* 后的标识, 以13主机为例: cd /data/zookeeper; echo 1 >> myid ,20,25一致,区别在于echo的内容分别为2,3,更多ZK节点的集群雷同
启动集群,ZK节点启动不分先后顺序,先启动13为例, cd /app/zookeeper/bin;./zkServer.sh start; JPS 查看JVM进程,注:即便能够看到ZK的进程JVM进程也并不意味着启动成功,日志文件见启动脚本下zookeeper.out . 可以使用ps ,netstat 等命令查看默认的2181,以及下文体现的其它端口是否启用监听.
3084 QuorumPeerMain
查看ZK节点状态, ./zkCli.sh stat ,此处笔者已经启动了其余的两个节点,ZK 的ZAB算法已经推举出了合适的Leader,如下为一个Follower节点
ZooKeeper JMX enabled by default Using config: /app/zookeeper/bin/../conf/zoo.cfg Mode: follower
如启动后节点间不能通信,关闭防火墙后重启机器,启动ZK ./zkServer.sh start; 下列关闭防火墙方法适用于CentOS7 ,另如还有网络问题应关闭 SeLinux 内核模块
systemctl disable firewalld.service :防火墙禁用 systemctl stop firewalld.service :关闭防火墙
vim /etc/selinux/config 修改 :SELINUX=disabled 重启主机;
如还存在其它问题,请严格检查下列
/ect/hosts 下是否配置合适的域名映射
ZK zoo.cfg data目录修改是否恰当,且集群配置的中使用的端口,通信端口2888,Leader选举端口3888是否被占用.
ZK 数据目录下 是够存在 myid 文件且内容有且仅为当前实例的ID及 server.N 中的N
网络防火墙策略是否允许2181,以及ZK相关节点通信,内部环境中关闭防火墙策略 Selinux 及firewall 重启即可.
其它潜在的问题
关于ZK的简单使用及使用场景计划在其它章节体现.
相关文章推荐
- Hadoop 、Hbase、zookeeper 集群环境搭建
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建2
- 第2讲 zookeeper 集群环境的搭建与测试
- ZooKeeper 集群环境搭建 (本机3个节点)
- zookeeper集群环境的搭建
- Zookeeper集群环境搭建实践
- 搭建ZooKeeper集群环境
- Hadoop+Flume+Kafka+Zookeeper集群环境搭建(一)
- Zookeeper集群环境搭建实践
- VMware+CentOS+zookeeper+solr集群环境搭建_org.apache.solr.handler.dataimport.DataImportHandler
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建
- 伪分布式集群环境hadoop、hbase、zookeeper搭建(全)
- zookeeper集群环境搭建
- zookeeper伪分布式集群环境搭建
- 配置密码分布式集群环境hadoop、hbase、zookeeper搭建(全)
- 伪分布式集群环境hadoop、hbase、zookeeper搭建(全)
- hadoop1.2.1+zookeeper3.4.6+hbase0.94集群环境搭建
- 【zookeeper】zookeeper单机和集群环境的搭建
- 生产环境Zookeeper集群搭建
- Hadoop+Hbase+Zookeeper集群环境搭建