集群网络规划
|
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
2244

被折叠的 条评论
为什么被折叠?



