CentOS 安装zk集群

CentOS 安装zk集群

机器资源准备

tips:这里均使用tar包安装

准备三台机器(虚拟机),我这里是装的 CentOS 6.6 全包系统(大约4.4GB的镜像)
ip:192.168.79.133
ip:192.168.79.134
ip:192.168.79.135
分别对每台机器做IP映射:
vim /etc/profile 添加如下内容,:wq保存退出。

192.168.79.133 node1
192.168.79.134 node2
192.168.79.135 node3
这里先在192.168.79.133机器上安装,大家不要着急在其他机器上安装。安装好一台后我们使用scp命令复制到其他机器上稍加配置即可。

JDK安装

由于zookeeper 需要依赖Java运行环境,所以我们先安装jdk,这里我安装jdk1.8。
到官网上下载jdk: jdk-8u191-linux-x64.tar.gz。
地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择对应版本下载。
这里我把下载好的tar.gz都放在了 /app/tar/ 目录下。
我计划将程序都安装在自定义的 /app目录下,所以在/app目录下新建目录 /java
将上面下载好的文件解压到 /app/java下 。解压命令:

tar -zxvf /app/tar/jdk-8u191-linux-x64.tar.gz -C /app/java/

解压后可以在 /app/java/下看到 jdk-8u191-linux-x64 目录。
好了,现在开始配置环境变量: root权限下 编辑/etc/profile(全局环境变量配置文件) 文件,在最后添加如下配置:

export JAVA_HOME=/app/java/jdk1.8.0_191
export CLASSPATH=.;$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar;$JAVA_HOME/lib;$CLASSPATH

:wq保存退出
source /etc/profile 是配置生效, 然后执行如下命令查看jdk是否安装OK。

[user@localhost ~]# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

zookeeper安装

同理在官网镜像上下载zookeeper压缩包 zookeeper-3.4.13.tar.gz,放置在/app/tar/下。
这里是一个清华教育网的镜像地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.13/
新建目录 /app/zookeeper/,同样解压 zookeeper-3.4.13.tar.gz 到 /app/zookeeper/下,命令:

tar -zxvf /app/tar/zookeeper-3.4.13.tar.gz -C /app/zookeeper/

解压好后在/app/zookeeper/下能看到zookeeper-3.4.13目录。
进入/app/zookeeper/zookeeper-3.4.13/conf/下 复制zoo_sample.cfg 到本目录下重命名为zoo.cfg

cp /app/zookeeper/zookeeper-3.4.13/conf/zoo_sample.cfg zoo.cfg

编辑配置zoo.cfg,主要修改如下配置:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# 这个最好自己指定一下,我这里指定到如下目录.
dataDir=/app/zookeeper/data/
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
# Cluster 集群节点配置,下面nodeN 是做了IP映射,机器调整IP时不需要重启zookeeper,只需要修改/etc/hosts
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

Server.ID配置
在上面配置中的dataDir=/app/zookeeper/data/目下新建myid文件,内容为1,表示本服务的编号为1.

touch myid
vim myid
# 填写内为1,保存退出
:wq

配置环境变量
使用root权限编辑/etc/profile 在后面添加如下配置

export ZK_HOME=/app/zookeeper/zookeeper-3.4.13
export PATH=$JAVA_HOME/bin:$ZK_HOME/bin:$PATH

:wq保存退出
source /etc/profile 是配置生效, 然后检测是否安装OK。如下表示安装完成。

[user@localhost ~]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /app/zookeeper/zookeeper-3.4.13/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

同时会在执行启动命令的目录下生成一个zookeeper.out 日志文件

其他两台机器安装

在分别在机器192.168.79.134、192.168.79.135中执行(@node1是因为我对IP 192.168.79.133做了映射):

scp -r root@node1:/app /

会提示输入密码… 然后就是一阵 y
这样就轻松把node1上操作了半天的东西都拷贝到node2、node3了。

接下来别忘记:

  1. 配置jdk环境变量, 配置zookeeper环境变量, (source /etc/profile 使之生效)
  2. 编辑/app/zookeeper/data/目录下的myid文件,内容替换为2(3)(表示自己的编号为2(3))

至此zk集群安装完毕。
如果三台机器间互相 telnet 2888端口不通,则由于是非生产环境,关闭三台机器的防火墙即可测试。

service iptables stop

爽快的启动三台机器上的zk服务,观察zookeeper.out日志吧

猜你喜欢

转载自blog.csdn.net/weixin_40854155/article/details/85555193