Zookeeper集群安装部署
简介
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
除了为Hadoop和HBase提供协调服务外,Zookeeper也被其它许多软件采用作为其分布式状态一致性的依赖,比如Kafka,又或者一些软件项目中,也经常能见到Zookeeper作为一致性协调服务存在。
Zookeeper不论是大数据领域亦或是其它服务器开发领域,涉及到分布式状态一致性的场景,总有它的身影存在。
安装
Zookeeper是一款分布式的集群化软件,可以在多台服务器上部署,并协同组成分布式集群一起工作。
-
首先,要确保已经完成了集群化环境前置准备环节的全部内容【集群化环境前置准备】
-
【node1上操作】下载Zookeeper安装包,并解压
# 下载 wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz # 确保如下目录存在,不存在就创建 mkdir -p /export/server # 解压 tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /export/server
-
【node1上操作】创建软链接
ln -s /export/server/apache-zookeeper-3.5.9-bin /export/server/zookeeper
-
【node1上操作】修改配置文件(找到对应项,进行修改)
# 可以直接修改它给我们的实例配置文件,先将名字改为zoo.cfg mv /export/server/zookeeper/conf/zoo_sample.cfg /export/server/zookeeper/conf/zoo.cfg vim /export/server/zookeeper/conf/zoo.cfg # 修改内容如下: tickTime=2000 # 其中dataDir:zookeeper数据存储目录 dataDir=/export/server/zookeeper/data clientPort=2181 initLimit=5 syncLimit=2 server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
-
【node1上操作】配置
myid
# 1. 创建Zookeeper的数据目录 mkdir /export/server/zookeeper/data # 2. 创建文件,并填入1 vim /export/server/zookeeper/data/myid # 在文件内填入1即可
-
【在node2和node3上操作】,创建文件夹
mkdir -p /export/server
-
【node1上操作】将Zookeeper 复制到node2和node3(复制软链接是没有用的!!!)
cd /export/server scp -r apache-zookeeper-3.5.9-bin node2:$PWD scp -r apache-zookeeper-3.5.9-bin node3:$PWD
-
【在node2上操作】
# 1. 创建软链接 ln -s /export/server/apache-zookeeper-3.5.9-bin /export/server/zookeeper # 2. 修改myid文件 vim /export/server/zookeeper/data/myid # 修改内容为2
-
【在node3上操作】
# 1. 创建软链接 ln -s /export/server/apache-zookeeper-3.5.9-bin /export/server/zookeeper # 2. 修改myid文件 vim /export/server/zookeeper/data/myid # 修改内容为3
-
【在node1、node2、node3上分别执行】启动Zookeeper
# 启动命令 /export/server/zookeeper/bin/zkServer.sh start # 启动Zookeeper
-
【在node1、node2、node3上分别执行】检查Zookeeper进程是否启动
jps # 结果中找到有:QuorumPeerMain 进程即可
Reference:
jps是jdk提供的一个查看当前java进程的小工具(全称是JavaVirtual Machine Process Status Tool)
语法:jps [options] [hostid]
options:-
-q :仅输出VM标识符,不包括class
-
-l :输出完全的包名,应用主类名,jar的完全路径名
-
-v:输出jvm参数
-
-V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
jps –l #输出主类或者jar的完全路径名 jps –v #输出jvm参数 jps –q #仅仅显示java进程号
-
-
【node1上操作】验证Zookeeper
/export/server/zookeeper/bin/zkCli.sh # 进入到Zookeeper控制台中后,执行 ls / # 如无报错即配置成功
至此Zookeeper安装完成