【zookeeper】基于Linux环境安装zookeeper集群
前提,需要有几台linux机器,我们可以准备好诸如finalshell来连接linux并且上传文件;
其次Linux需要安装上ssh,并且在/etc/hosts文件中写好其他几台机器的名字和Ip
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.184.130 node2
192.168.184.131 node3
192.168.184.132 node4
最后,如果是虚拟机,要确保主机能Ping通linux。
一,下载zookeeper源码,上传至linux
zookeeper官网下载地址:https://downloads.apache.org/zookeeper/
下载.tar.gz好后,通过finalshell连接Linux并将文件上传至Linux的某一个文件夹中,我将其上传至普通用户的桌面文件夹。
连接finalshell:ifconfig命令查看Inet4的ip后,在finalshell上,新建ssh连接,使用这个ip在finalshell上连接Linux。端口号默认。
二,在一台机器上安装zk并配置环境变量
创建一个文件夹
mkdir /opt/zookeeper
把压缩文件移动过去
mv ./apache-zookeeper-3.7.1.tar.gz /opt/zookeeper/
解压缩
tar xf apache-zookeeper-3.7.1.tar.gz
进入解压缩后的conf文件夹,里面会有一个配置文件模板zoo.sample.cfg,复制一份后,修改这个配置文件
进入conf文件夹
cd apache-zookeeper-3.7.1/conf/
复制配置文件
cp zoo.sample.cfgzoo.cfg
编辑配置文件
vi zoo.cfg
更换zk数据快照存储空间为/var目录下
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/var/zookeeper
在配置文件的最后,加上zk集群中每一台server的id和与节点的ip和端口信息的对应关系。
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
server.4=node4:2888:3888
需要注意的是,node1 node2等是你在/etc/hosts文件中已经配置好ip和名字的节点。
保存配置文件退出。
创建zk数据快照空间文件夹,去这里面创建zk的id信息
mkdir /var/zookeeper
cd /var/zookeeper
vi myid
在myid文件中添加第一台server的id为1即可,保留,退出。
接下来配置环境变量并刷新。
vi /etc/profile
#PATH在:后面添加新的环境变量的bin目录
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin
export ZOOKEEPER_HOME=/opt/mashibing/zookeeper/apache-zookeeper-3.7.1
读取配置文件
source /etc/profile
或者
. /etc/profile
三,将zookeeper目录传给其他节点,配置profile并读取配置文件
3.1 复制zookeeper文件夹
将zookeeper传给其他节点的/opt下
scp -r /opt/zookeeper node2:`pwd`
输入密码,确定。
3.2 复制配置文件
把配置文件中的环境变量复制到在其他节点上的/etc/profile文件中并刷新,当然也可以用scp直接复制过去。
3.3 配置myid
在几台Linux上都需要在/var/zookeeper/myid文件中配置对应的id信息,数字为在conf文件夹中配置的server的id。
这样,zk在几台Linx上就全部安装完毕。