Zookeeper安装和部署
Zookerper在Linux上的安装
最近在项目的时候,遇到一些linux的相关安装,虽然不难,但是步骤不少,一不小心就会出错,这样去找错误费时费力,所以一般都是需要重新再来,实在是让人头疼,所以这里做个总结,为需要的朋友留下一个参考,也给自己加深一下印象。
先来说一下zookeeper的安装
要安装zookeeper在Linux的虚拟机上,就必须要先安装jdk,
1,在这之前,要先配置虚拟机的IP相关的设置:
命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改: DEBOOT=yes ,BOOTPROTO=static ,IPADDR=172.18.26.1,
NETMASK=255.255.255.0, DNS1=8.8.8.8。
- 在修改完以后,记得执行这个命令让修改生效:
- service network restart
2,修改完这些设置以后,就可以在CRT中来执行linux命令,相对来说会方便了很多。
3,接下来,我们来安装jdk。
- 这里需要说一下的是,如果安装的是多个虚拟机,在修改了ip之后,可以用ping 加上你的本机的ip地址来测试一下是否能够连接。如果需要ping的是外网,记得关闭防火墙。命令:service iptables start/stop。
- 上传jdk的压缩文件,我们在/usr目录下创建一个java目录:
- [root@localhost ~]# mkdir /usr/local/java
- 解压jdk文件,然后将解压后的文件拷贝到/usr/local/java目录下,并重命名为jdk1.7
- [root@localhost ~]# mv jdk1.7.0_55 /usr/local/java/jdk1.7
- 然后设置环境变量:
- 命令: [root@localhost java]# vi /etc/profile
将下边的代码复制到文件中:
#set java environment
JAVA_HOME=/usr/local/java/jdk1.7
JRE_HOME=/usr/local/java/jdk1.7/jre
CLASS_PATH=.:\(JAVA_HOME/lib/dt.jar:\)JAVA_HOME/lib/tools.jar:\(JRE_HOME/lib PATH=\)PATH:\(JAVA_HOME/bin:\)JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
- 让修改生效: 这一步一定要记住,否则会连接不上,
- 命令: [root@localhost java]# source /etc/profile
- 验证JDK是否有效:
- 命令: [root@localhost java]# java -version
- 出现如下代码就说明配置成功:
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) Client VM (build 24.55-b03, mixed mode)
接下来安装zookeeper
- 1.把zookeeper的压缩包上传到Linux系统上.
- 建议到官网下载:zookeeper-3.4.6.tar.gz
- 2,解压压缩包: tar -zxvf zookeeper-3.4.6.tar.gz
注意: 在解压的时候,不同类型的文件的解压方式不同,以.tar结尾的文件时,使用的是tar ...方式来解压, 但是如果是zip格式的压缩包,就提前解压,然后将里边的jar包上传到Linux.
- 3,解压完成以后,在local下边创建zookeeper目录:
- [root@localhost local]# mkdir zookeeper
- 4,然后复制zookeeper-3.4.6到如下目录下,并重命名为zk_single
- [root@localhost ~]# cp zookeeper-3.4.6 /usr/local/zookeeper/zk_single -r
- 5,进入到zk_single目录下边的conf,将zoo_sample.cfg文件重命名为zoo.cfg
- [root@localhost conf]# mv zoo_sample.cfg zoo.cfg
- 6,然后进到zk_single 下边的bin,执行运行的命令
- [root@localhost zk_single]# cd bin
- [root@localhost bin]# ls
README.txt zkCli.cmd zkEnv.cmd zkServer.cmd zookeeper.out
zkCleanup.sh zkCli.sh zkEnv.sh zkServer.sh - 7,开始运行: [root@localhost bin]# ./zkServer.sh start
- 8,查看状态: [root@localhost bin]# ./zkServer.sh status
- 9,永久关闭--修改配置开机不启动防火墙: chkconfig iptables off
Zookeeper集群的搭建
- 1,在安装了jdk的基础上,以及zookeeper解压完成.
- 2,将zookeeper复制三份
[root@localhost ~]# mkdir /usr/local/solr-cloud
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper01
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper02
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper03
- 3,在每个 zookeeper 目录下创建一个 data 目录。
[root@localhost solr-cloud]# mkdir /usr/local/solr-cloud/zookeeper01/data
[root@localhost solr-cloud]# mkdir /usr/local/solr-cloud/zookeeper02/data
[root@localhost solr-cloud]# mkdir /usr/local/solr-cloud/zookeeper03/data
- 4,在 data 目录下创建一个 myid 文件,文件名就叫做“myid”。内容就是每个实例的id。例如 1、 2、 3
[root@localhost solr-cloud]# echo 1 > zookeeper01/data/myid
[root@localhost solr-cloud]# echo 2 > zookeeper02/data/myid
[root@localhost solr-cloud]# echo 3 > zookeeper03/data/myid
[root@localhost solr-cloud]# cat zookeeper01/data/myid
1
注意: echo 命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。echo 1 > zookeeper01/data/myid,将在显示器上要显示的文字等信息写入到 myid 文件中,
如果文件不存在则创建,如果存在则重写。
- 5,修改配置文件。把 conf 目录下的 zoo_sample.cfg 文件改名为 zoo.cfg
- 6,然后对zoo.cfg进行修改:
- vi zoo.cfg
- 以 zookeeper01 为例, zookeeper02, zookeeper03 类似配置
- 需要修改的如下:
- dataDir是数据保存的目录,
dataDir=/usr/local/solr-cloud/zookeeper01/data - 客户端连接zookeeper的端口号,保证每个示例接口不冲突
clientPort=2181 - 集群中的节点列表,1,2,3代表节点的id, IP后的端口号是zookeeper内部通讯的端口,和投票选举的端口,每个端口都不能重复.
server.1=172.18.88.160:2881:3881
server.2=172.18.88.160:2882:3882
server.3=172.18.88.160:2883:3883
- 7,启动每个 zookeeper 实例。编写脚本进行批处理: start-all-zookeeper.sh
[root@localhost solr-cloud]# vi start-all-zookeeper.sh
cd zookeeper01/bin/
./zkServer.sh start
cd ../../
cd zookeeper02/bin/
./zkServer.sh start
cd ../../
cd zookeeper03/bin/
./zkServer.sh start
cd ../../
- 8,给文件添加可执行权限
- [root@localhost solr-cloud]# chmod u+x start-all-zookeeper.sh
- 9.启动:
- [root@localhost solr-cloud]# ./start-all-zookeeper.sh
- 10,查看zookeeper的状态:
- [root@localhost solr-cloud]# zookeeper03/bin/zkServer.sh status
完毕!