ZooKeeper分布式环境部署

来源:互联网 发布:电子商务专用软件 编辑:程序博客网 时间:2024/04/29 06:36

ZooKeeper分布式环境部署


ZooKeeper 安装部署

ZooKeeper 安装部署分为三种模式,请各位同学根据自己的实际情况选择不同的模式,下面我们分别介绍这三种模式。

单节点模式

1、首先到官方网站下载ZooKeeper安装包。 这里我们选择zookeeper-3.4.6版本。

2、对zookeeper-3.4.6安装包解压。

[root@cloud001 java]# tar xzf zookeeper-3.4.6.tar.gz//解压缩[root@cloud001 java]# mv zookeeper-3.4.6 zookeeper//重命名ZooKeeper[root@cloud001 java]# rm zookeeper-3.4.6.tar.gz//删除安装包[root@cloud001 java]# chown -R hadoop:hadoop zookeeper//ZooKeeper文件权限赋予给hadoop用户

3、在ZooKeeper安装目录的conf目录下,创建一个配置文件zoo.cfg。

[hadoop@cloud001 conf]$ cp zoo_sample.cfg zoo.cfg[hadoop@cloud001 conf]$ vi zoo.cfg

在zoo.cfg文件中,添加如下配置信息。

tickTime=2000dataDir=/usr/java/zookeeper/data//data目录需要预先创建dataLogDir=/usr/java/zookeeper/dataLog//datalog目录需要预先创建clientPort=2181//端口号

4、启动/关闭ZooKeeper Server,具体操作命令如下所示。

[hadoop@cloud001 zookeeper]$ bin/zkServer.sh start//启动ZooKeeper服务[hadoop@cloud001 zookeeper]$ bin/zkServer.sh stop//关闭ZooKeeper服务

伪分布式模式

1、在一个节点上面创建3个文件夹,这3个文件夹分别为:Server1、Server2和Server3,然后在每个文件夹中解压ZooKeeper的安装包。

Server1/zookeeperServer2/zookeeperServer3/zookeeper

2、分别在Server1、Server2和Server3文件中,进入里面的data目录,创建myid文件,里面的内容分别输入1、2、3等数字,里面的数字内容用来标识当前主机。

Server1/zookeeper/data/myid//myid的内容输入1Server2/zookeeper/data/myid//myid的内容输入2Server3/zookeeper/data/myid//myid的内容输入3

3、分别在Server1、Server2和Server3的conf目录下,创建一个配置文件zoo.cfg。

[hadoop@cloud001 conf]$ cp zoo_sample.cfg zoo.cfg[hadoop@cloud001 conf]$ vi zoo.cfg

在zoo.cfg文件中,添加如下配置信息。

tickTime=2000dataDir=/usr/java/zookeeper/datadataLogDir=/usr/java/zookeeper/datalogclientPort=2181initLimit=5syncLimit=2server.1=server1:2888:3888//server.1 这里的1代表data目录下创建文件的内容1server.2=server2:2889:3889//2888~2890 代表提供为Client的端口号,因为在同一台机器上端口号需要区别开server.3=server3:2890:3890//3888~3890 代表不同服务直接访问的端口号,因为在同一台机器上端口号需要区别开

4、启动/关闭ZooKeeper Server,具体操作命令如下所示。

[hadoop@cloud001 zookeeper]$ bin/zkServer.sh start//启动ZooKeeper服务[hadoop@cloud001 zookeeper]$ bin/zkServer.sh stop//关闭ZooKeeper服务

分布式模式

1、下载解压zookeeper,解压到指定目录 /usr/java/hadoop/app/。

[root@cloud001 app]# tar xzf zookeeper-3.4.6.tar.gz//解压缩[root@cloud001 app]# mv zookeeper-3.4.6 zookeeper//重命名ZooKeeper[root@cloud001 app]# rm zookeeper-3.4.6.tar.gz//删除安装包[root@cloud001 app]# chown -R hadoop:hadoop zookeeper//ZooKeeper文件权限赋予给hadoop用户

在hadoop 目录中创建 app 目录。 把文件解压到hadoop 的 app 目录中,是为了以后整个项目可以整体移植。比如 HBase 、 Hive 等软件,都是解压到 app 的目录中。

2、修改配置文件

进入 zookeeper 中 conf 目录,拷贝命名 zoo_sample.cfg 为 zoo.cfg 。我们一般不修改配置文件默认的示例文件,修改赋值其子文件。

[hadoop@cloud001 conf]$ cp zoo_sample.cfg zoo.cfg[hadoop@cloud001 conf]$ vi zoo.cfg

编辑 zoo.cfg配置文件。

tickTime=2000initLimit=10syncLimit=5dataDir=/usr/java/hadoop/app/zookeeper/zkdata//数据目录需提前创建dataLogDir=/usr/java/hadoop/app/zookeeper/zkdatalog//日志目录需提前创建clientPort=2181//端口号server.1=cloud001:2888:3888server.2=cloud002:2888:3888server.3=cloud003:2888:3888server.4=cloud004:2888:3888server.5=cloud005:2888:3888

3、创建 zkdata 和 zkdatalog 两个文件夹。

在 zookeeper 的目录中,创建上述两个文件夹。进入 zkdata 文件夹,创建文件 myid ,填入 1 。这里写入的 1 ,是在 zoo.cfg 文本中的 server.1 中的 1 。当我们把所有文件都配置完毕,我们把 cloud001 中 java 目录复制到其它机器中,我们在修改每台机器中对应的 myid 文本, cloud002 中的 myid 写入 2 。其余节点,安照上面配置,依此写入相应的数字。 Zkdatalog 文件夹,是为了指定 zookeeper 产生日志指定相应的路径。

4、添加环境变量

每个节点本机环境变量是在 /etc/profile 目录中添加的。

JAVA_HOME=/usr/java/jdk1.7.0_21HADOOP_HOME=/usr/java/hadoopZOOKEEPER_HOME=/usr/java/hadoop/app/zookeeper//ZooKeeper根目录PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH//ZooKeeper添加至path路径下CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOMEexport HADOOP_HOMEexport ZOOKEEPER_HOMEexport PATHexport CLASSPATH

然后执行source命令使配置文件生效。

[hadoop@cloud001 conf]$ source /etc/profile

5、在每台集群上启动ZooKeeper Server,具体操作命令如下所示。

[hadoop@cloud001 zookeeper]$ bin/zkServer.sh start//启动ZooKeeper服务

zookeeper启动之后,输入“jps”命令查看进程如下。

1649 QuorumPeerMain11152 Jps

6、通过 status 参数查看每个节点的状态。

[hadoop@cloud001 zookeeper]$ bin/zkServer.sh status

大部分节点的状态为:follower

JMX enabled by defaultUsing config: /usr/java/hadoop/app/zookeeper/bin/../conf/zoo.cfgMode: follower

有唯一一个节点的状态为:leader

JMX enabled by defaultUsing config: /usr/java/hadoop/app/zookeeper/bin/../conf/zoo.cfgMode: leader

至此ZooKeeper的配置完成。

1 0