Zookeeper集群安装与部署

集群网络规划

IP

hostname

用户名

密码

OS

192.168.255.101

node01

root

oracle

CentOS Linux release 7.7.1908 (Core)

192.168.255.102

node02

root

oracle

CentOS Linux release 7.7.1908 (Core)

192.168.255.103

node03

root

oracle

CentOS Linux release 7.7.1908 (Core)

主机配置

[root@node01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.255.101 node01
192.168.255.102 node02
192.168.255.103 node03


[root@node02 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.255.101 node01
192.168.255.102 node02
192.168.255.103 node03


[root@node03 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.255.101 node01
192.168.255.102 node02
192.168.255.103 node03

配置SSH免密登录

1、执行ssh-keygen
[root@node01 ~]# ssh-keygen -t rsa -b 4096
[root@node02 ~]# ssh-keygen -t rsa -b 4096
[root@node03 ~]# ssh-keygen -t rsa -b 4096


2、执行ssh-copy-id
[root@node01 ~]# ssh-copy-id node01
[root@node02 ~]# ssh-copy-id node02
[root@node03 ~]# ssh-copy-id node03

验证免密

1、验证node01
[root@node01 ~]# ssh node02 date
Tue Jul 18 19:14:44 CST 2023
[root@node01 ~]# ssh node03 date
Tue Jul 18 19:14:48 CST 2023

2、验证node02
[root@node02 ~]# ssh node01 date
Tue Jul 18 19:15:28 CST 2023
[root@node02 ~]# ssh node02 date
Tue Jul 18 19:15:30 CST 2023
[root@node02 ~]# ssh node03 date
Tue Jul 18 19:15:33 CST 2023

3、验证node03
[root@node03 ~]# ssh node01 date
Tue Jul 18 19:15:50 CST 2023
[root@node03 ~]# ssh node02 date
Tue Jul 18 19:15:53 CST 2023
[root@node03 ~]# ssh node03 date
Tue Jul 18 19:15:57 CST 2023

配置JDK环境

1、下载jdk 17
[root@node01 ~]# wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

[root@node01 ~]# ll -h jdk-17_linux-x64_bin.tar.gz 
-rw-r--r--. 1 root root 174M Mar 18 03:53 jdk-17_linux-x64_bin.tar.gz

2、安装目录

[root@node01 ~]# mkdir -p /usr/local/tomcat

3、解压缩

[root@node01 ~]# tar -zxf jdk-17_linux-x64_bin.tar.gz -C /usr/local/tomcat/


4、设置软连接

[root@node01 ~]# ln -s /usr/local/tomcat/jdk-17.0.7/ /usr/local/tomcat/jdk17
[root@node01 ~]# ll -h /usr/local/tomcat/jdk17
lrwxrwxrwx. 1 root root 29 Jul 18 14:42 /usr/local/tomcat/jdk17 -> /usr/local/tomcat/jdk-17.0.7/


5、配置环境变量

[root@node01 ~]# vim .bash_profile 
export JAVA_HOME=/usr/local/tomcat/jdk17
export PATH=$PATH:$JAVA_HOME/bin

[root@node01 ~]# source .bash_profile 

6、配置java执行程序的软链接
[root@node01 ~]# java -version
-bash: java: command not found

[root@node01 ~]# ln -s /usr/local/cluster/jdk /usr/bin/java

[root@node01 ~]# ll -h /usr/bin/java 
lrwxrwxrwx. 1 root root 32 Jul 18 14:45 /usr/bin/java -> /usr/local/tomcat/jdk17/bin/java


[root@node01 ~]# java -version
java version "17.0.7" 2023-04-18 LTS
Java(TM) SE Runtime Environment (build 17.0.7+8-LTS-224)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.7+8-LTS-224, mixed mode, sharing)
[root@node01 ~]# javac -version
-bash: javac: command not found

[root@node01 ~]# ln -s /usr/local/tomcat/jdk17/bin/javac /usr/bin/javac

[root@node01 ~]# javac -version
javac 17.0.7

安装zookeeper

1、下载安装包(node01)
[root@node01 ~]# wget https://downloads.apache.org/zookeeper/zookeeper-3.5.10/apache-zookeeper-3.5.10-bin.tar.gz
--2023-07-18 19:54:54--  https://downloads.apache.org/zookeeper/zookeeper-3.5.10/apache-zookeeper-3.5.10-bin.tar.gz
Resolving downloads.apache.org (downloads.apache.org)... 88.99.95.219, 135.181.214.104, 2a01:4f8:10a:201a::2, ...
Connecting to downloads.apache.org (downloads.apache.org)|88.99.95.219|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3203258 (3.1M) [application/x-gzip]
Saving to: ‘apache-zookeeper-3.5.10.tar.gz’

100%[=====================================================>] 3,203,258    595KB/s   in 40s    

2023-07-18 19:55:45 (78.0 KB/s) - ‘apache-zookeeper-3.5.10-bin.tar.gz’ saved [3203258/3203258]


[root@node01 ~]# ll -h apache-zookeeper-3.5.10-bin.tar.gz 
-rw-r--r-- 1 root root 3.1M Jun  4  2022 apache-zookeeper-3.5.10-bin.tar.gz



2、解压缩到/usr/local/cluster目录 (node01)
[root@node01 ~]# mkdir -p /usr/local/cluster
[root@node01 ~]# tar -zxf apache-zookeeper-3.5.10-bin.tar.gz -C /usr/local/cluster
[root@node01 ~]# ll -h /usr/local/cluster/
total 4.0K
drwxr-xr-x 13 root root 4.0K Jul 19 06:11 apache-zookeeper-3.5.10


3、创建软链接 (node01)
[root@node01 ~]# ln -s /usr/local/cluster/apache-zookeeper-3.5.10-bin/ /usr/local/cluster/zookeeper
[root@node01 ~]# ll -h /usr/local/cluster
total 4.0K
drwxr-xr-x 13 root root 4.0K Jul 19 06:11 apache-zookeeper-3.5.10-bin
lrwxrwxrwx  1 root root   43 Jul 19 06:12 zookeeper -> /usr/local/cluster/apache-zookeeper-3.5.10-bin/


[root@node01 ~]# ll -h /usr/local/java/jdk
lrwxrwxrwx. 1 root root 27 Jul 18 19:27 /usr/local/java/jdk -> /usr/local/java/jdk-17.0.7/


4、修改配置文件(node01)
[root@node01 ~]# ll -h /usr/local/cluster/zookeeper/conf/zoo_sample.cfg 
-rw-r--r-- 1 1000 1000 922 May 19  2022 /usr/local/cluster/zookeeper/conf/zoo_sample.cfg
[root@node01 ~]# cp /usr/local/cluster/zookeeper/conf/zoo_sample.cfg /usr/local/cluster/zookeeper/conf/zoo.cfg

zookeeper默认端口号2181、3888选举leader、2888集群内通信
server.x=y:z:k
x表示配置文件/usr/local/cluster/zookeeper/data/myid的值
y表示节点的hostname
z表示集群内通信端口号
k表示选举leader

[root@node01 ~]# vim /usr/local/cluster/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/cluster/zookeeper/data
clientPort=2181
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888

5、创建数据目录
[root@node01 ~]# mkdir -p /usr/local/cluster/zookeeper/data

6、配置myid(node01)
[root@node01 ~]# vim /usr/local/cluster/zookeeper/data/myid
1

7、将node01 Zookeeper 复制到node02和node03
[root@node02 ~]# mkdir -p /usr/local/cluster
[root@node03 ~]# mkdir -p /usr/local/cluster
[root@node01 ~]# scp -r /usr/local/cluster/apache-zookeeper-3.5.10-bin/ node02:/usr/local/cluster/
[root@node01 ~]# scp -r /usr/local/cluster/apache-zookeeper-3.5.10-bin/ node03:/usr/local/cluster/


8、node02、node03创建软连接并修改修改myid文件
[root@node02 ~]# ln -s /usr/local/cluster/apache-zookeeper-3.5.10-bin/ /usr/local/cluster/zookeeper
[root@node03 ~]# ln -s /usr/local/cluster/apache-zookeeper-3.5.10-bin/ /usr/local/cluster/zookeeper
[root@node02 ~]# vim /usr/local/cluster/zookeeper/data/myid 
2
[root@node03 ~]# vim /usr/local/cluster/zookeeper/data/myid 
3

启动集群

1、启动集群
[root@node01 ~]# /usr/local/cluster/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/cluster/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

[root@node02 ~]# /usr/local/cluster/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/cluster/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

[root@node03 ~]# /usr/local/cluster/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/cluster/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

2、查看集群状态
[root@node01 ~]# /usr/local/cluster/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/cluster/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

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

[root@node03 ~]# /usr/local/cluster/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/cluster/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值