首先是上篇博客中搭建的CentOS7虚拟机:
1、先给三台机器安装jdk
我用的是jdk-8u131-linux-x64.tar.gz版本,有需要的也可以去官网下
链接:https://pan.baidu.com/s/1MJImxpQ3WPIFNGqRxNn9tQ
提取码:fn3t
现在只是本地有了这个JDK安装包,需要把它上传到linux上,这里有个工具lrzsz可以代替FT上传、下载。
yum -y install lrzsz
安装完即可使用,上传jdk的包:
rz
之后解压tar包(我习惯在/home/user/中创建java文件夹,再把包放进去进行解压)
tar -zxvf jdk-8u131-linux-x64.tar.gz
解压完后需要配置环境变量:
vi /etc/profile
export JAVA_HOME=/home/captain/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
保存完后,让它生效:
source /etc/profile让profile
测试是否安装成功:
①、使用javac命令,不会出现command not found错误
②、使用java -version,出现版本为java version "1.8.0_131"
③、echo $PATH,看看自己刚刚设置的的环境变量配置是否都正确
2、接下来就要安装zookeeper集群了
linux系统的tar包:
链接:https://pan.baidu.com/s/1zA7sSfuaM4Y16kHuqD4gZg
提取码:52kk
1)解压安装
(1)解压 zookeeper 安装包到/home/captain/zookeeper目录下
tar -zxvf zookeeper-3.4.10.tar.gz
(2)在/home/captain/zookeeper/zookeeper-3.4.10/这个目录下创建 zkData
mkdir -p zkData
(3)重命名/opt/module/zookeeper-3.4.10/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg
mv zoo_sample.cfg zoo.cfg
2)配置 zoo.cfg 文件
(1)具体配置
dataDir=/opt/module/zookeeper-3.4.10/zkData
增加如下配置
#######################cluster##########################
server.1=191.168.1.101:2888:3888
server.2=191.168.1.102:2888:3888
server.3=191.168.1.103:2888:3888
(2)配置参数解读
Server.A=B:C:D。
A 是一个数字,表示这个是第几号服务器;
B 是这个服务器的 ip 地址;
C 是这个服务器与集群中的 Leader 服务器交换信息的端口;
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的
Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
集群模式下配置一个文件myid,这个文件在dataDir 目录下,这个文件里面有一个数据
就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比
较从而判断到底是哪个 server。
3)集群操作
(1)在/opt/module/zookeeper-3.4.10/zkData 目录下创建一个 myid 的文件
touch myid
添加 myid 文件,注意一定要在 linux 里面创建,在 notepad++里面很可能乱码
(2)编辑 myid 文件
vi myid
在文件中添加与 server 对应的编号:如 1
(3)拷贝配置好的 zookeeper 到其他机器上
scp -r zookeeper-3.4.10/ root@192.168.1.102:/home/captain/zookeeper/
scp -r zookeeper-3.4.10/ root@192.168.1.103:/home/captain/zookeeper/
并分别修改 myid 文件中内容为 2、3
(4)分别启动 zookeeper
启动前先关闭CentOS7系统的防火墙,(指令与CentOS6的不同)
查看防火墙状态:
firewall-cmd --state
停止firewall:
systemctl stop firewalld.service
禁止firewall开机启动:
systemctl disable firewalld.service
[root@101 zookeeper-3.4.10]# bin/zkServer.sh start
[root@102 zookeeper-3.4.10]# bin/zkServer.sh start
[root@103 zookeeper-3.4.10]# bin/zkServer.sh start
(5)查看状态
[root@101 zookeeper-3.4.10]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
[root@hadoop103 zookeeper-3.4.10]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader
[root@hadoop104 zookeeper-3.4.5]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
完毕。下一篇讲介绍安装kafka集群。