从京东云上面购买了三台服务器,作为kafka集群搭建环境。下面的不是本人真实ip地址
服务器简介:
服务器名称 服务器ip地址 服务器角色 备注
Jd1 190.168.161.26 节点
Jd2 190.168.161.25 节点
Jd3 190.168.161.24 节点
云服务器开通端口:
一、安装java环境
选择java1.8+ 及以上版本,我使用的是jdk-8u221-linux-x64.tar.gz。每台服务器均安装
上传到centos系统上,然后解压软件:
[root@jd3 software]# tar zxvf jdk-8u221-linux-x64.tar.gz
得到一个文件夹,移动到/usr/local目录下:
[root@jd3 software]# mv jdk1.8.0_221/ /usr/local/java
配置java环境变量:
[root@jd3 software]# vim /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
重新加载环境变量配置:
[root@jd3 software]# source /etc/profile
测试java环境是否安装成功
[root@jd3 software]# java -version
二、安装zookeeper环境
选择zookeeper版本,我使用的是apache-zookeeper-3.6.0-bin.tar.gz。每台服务器都安装
上传到centos系统上,然后解压软件:
[root@jd3 software]# tar zxvf apache-zookeeper-3.6.0-bin.tar.gz
修改文件夹名称为zookeeper,也可以不修改
[root@jd3 software]# mv /opt/zookeeper-3.6.0 /opt/zookeeper
得到一个文件夹,进入到其/conf目录下:
我解压后的目录位置在/opt下面
[root@jd3 software]# cd /opt/zookeeper/conf
创建一个配置文件:
[root@jd3 software]# cp zoo_sample.cfg zoo.cfg
修改配置文件:
[root@jd3 software]# vim zoo.cfg
#只需要修改下面这几个地方
dataDir=/opt/zookeeper/zkdata
dataLogDir=/opt/zookeeper/zkdataLog
clientPort=12181
server.1=190.168.161.26:12888:13888
server.2=190.168.161.25:12888:13888
server.3=190.168.161.24:12888:13888
为了便于讲解上面的配置,这里抽象出一个公式,即
server.A=B:C:D。其中 A 是一个数字,代表服务器的编号,就是前面所说的myid文件里面的值。集群中每台服务器的编号都必须唯一,所以要保证每台服务器中的myid文件中的值不同。B代表服务器的IP地址。C表示服务器与集群中的 leader 服务器交换信息的端口。D 表示选举时服务器相互通信的端口。
创建文件目录
[root@jd3 software]# mkdir /opt/zookeeper/zkdata
[root@jd3 software]# mkdir /opt/zookeeper/zkdataLog
创建服务器的编号:(每台服务器上面执行,注意数字要和配置文件对应)
[root@jd1 software]# echo “1” > /opt/zookeeper/zkdata/myid
进入到/opt/zookeeper/bin 目录,三台机器都启动:
[root@jd3 software]# cd /opt/zookeeper/bin
[root@jd3 software]# ./zkServer.sh start
查看运行状态,其中一个为leader,另外两个为follower
[root@jd3 software]# ./zkServer.sh status
注意问题:云服务器搭建zookeeper集群,因为虚拟化的问题导致无法启动集群。在每个Zookeeper节点上的zoo.cfg里面添加上quorumListe