ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ZooKeeper集群部署

2022-05-20 09:35:13  阅读:214  来源: 互联网

标签:bin zookeeper 部署 ZooKeeper 集群 usr apache local 3.8


Zookeeper的介绍

  • ZooKeeper主要服务于分布式系统,可以用ZooKeeper来做:统一配置管理、统一命名服务、分布式锁、集群管理。
  • 使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点进行统一管理等等),而由于这些问题处理起来可能相对麻烦和提高了系统的复杂性,ZooKeeper作为一个能够通用解决这些问题的中间件就应运而生了。

zookeeper的选举策略也是需要半数以上的节点同意才能当选leader,如果是偶数节点可能导致票数相同的情况,所以Zookeeper做集群最好部署3,5,7个节点。 

Zookeeper包下载地址:http://zookeeper.apache.org/releases.html#download 或 http://archive.apache.org/dist/zookeeper/

服务规划

Zookeeper部署

1.关闭防火墙和SELinux(所有设备)

systemctl stop firewalld.service

systemctl disable firewalld.service

setenforce 0               

vi /etc/selinux/config   

SELINUX=enforcing改为SELINUX=disabled

2.安装JDK

zookeeper是由java开发,所以需要有JDK 1.6以上的运行环境支持,JDK的部署可参考JDK的安装配置(Windows、Linux)

3.配置IP地址和主机名之间的映射(所有设备)

vim /etc/hosts

192.168.36.152 node1
192.168.36.153 node2
192.168.36.154 node3

4.配置主机名(所有设备)

vim /etc/sysconfig/network

network=主机名

需重启设备使配置生效:init 6

5.安装Zookeeper(192.168.36.152)

先在一台设备上部署  

解压安装包

tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz -C /usr/local/

修改Zookeeper配置文件

cd /usr/local/apache-zookeeper-3.8.0-bin/conf/

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

#数据文件目录
dataDir=/usr/local/apache-zookeeper-3.8.0-bin/data  
#Zookeeper客户端连接端口	
clientPort=2181                           
#集群服务地址,2888为zookeeper集群内通讯端口,Leader监听此端口
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
#保留3个快照
autopurge.snapRetainCount=3   
#1小时清理一下日志      
autopurge.purgeInterval=1            

mkdir /usr/local/apache-zookeeper-3.8.0-bin/data

将Zookeeper拷贝至其他节点

scp -r /usr/local/apache-zookeeper-3.8.0-bin/ root@node2:/usr/local/

scp -r /usr/local/apache-zookeeper-3.8.0-bin/ root@node3:/usr/local/

6.配置Zookeeper的id(所有设备)

cd /usr/local/apache-zookeeper-3.8.0-bin/data

vi myid

#myid对应zoo.cfg配置文件里相应的server号,node1也就会是1,node2是2,node3则是3
1

7.配置环境变量(所有设备)

vim /etc/profile

export ZK_HOME=/usr/local/apache-zookeeper-3.8.0-bin
export PATH=$PATH:$ZK_HOME/bin

source /etc/profile

8.启动Zookeeper(所有设备)

cd /usr/local/apache-zookeeper-3.8.0-bin/bin    #配置了环境变量则不进入该路径也可以

./zkServer.sh start

ZooKeeper JMX enabled by default
Using config: /usr/local/apache-zookeeper-3.8.0-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

三台zookeeper启动后再查看zookeeper状态,可以看到我是node2被选举为了leader

[root@node2 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/apache-zookeeper-3.8.0-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

[root@node1 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/apache-zookeeper-3.8.0-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

jps命令查看,看到QuorumPeerMain即可,QuorumPeerMain是zookeeper集群的启动类,用来加载配置启动QuorumPeer线程的

10451 QuorumPeerMain         
10622 Jps

 

标签:bin,zookeeper,部署,ZooKeeper,集群,usr,apache,local,3.8
来源: https://www.cnblogs.com/cjzzz/p/16279255.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有