成都网站建设设计

将想法与焦点和您一起共享

zookeeper配置及集群搭建

接下来我们将启动一个单实例的zookeeper然后在此基础上搭建一个最简单的zookeeper集群,为了贯彻最简单的理念,我们的集群将共只有三个节点,并且他们都在同一台机器上。

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比定陶网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式定陶网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖定陶地区。费用合理售后完善,10年实体公司更值得信赖。

好了,让我们开始干吧!

单实例

1. 解压安装包并复制配置文件

tar -xvzf zookeeper-3.4.12.tar.gz
解压后到conf目录下,复制一份配置文件:
cp zoo_sample.cfg zoo.cfg

2. 修改dataDir

虽然是可选的,最好还是把data移出/tmp目录,我在zookeeper的安装目录下创建了一个data目录,到zookeeper目录下执行:
mkdir data
然后修改zoo.cfg文件中的dataDir,我修改后的文件内容为:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/ym/zookeeper/zookeeper-3.4.12/data
clientPort=2181
3. 启动实例

到bin目录下执行:
./zkServer.sh start
出现以下内容表示成功了:

[ym@localhost bin]$ ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/ym/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

集群搭建

1. 修改配置文件

首先,从上面的单实例配置文件zoo.cfg复制一份:
cp zoo.cfg zoo1.cfg
修改其中内容为:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/ym/zookeeper/zookeeper-3.4.12/data1
clientPort=2182
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445

创建zoo2.cfg和zoo3.cfg:

cp  zoo1.cfg  zoo2.cfg
cp  zoo1.cfg  zoo3.cfg

修改zoo2.cfg和zoo3.cfg中clientPort分别为2183和2184、dataDir分别指向data2和data3,修改后内容分别为:
data2.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/ym/zookeeper/zookeeper-3.4.12/data2
clientPort=2183
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445

data3.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/ym/zookeeper/zookeeper-3.4.12/data3
clientPort=2183
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445

每一个server.n项指定了编号为n的ZooKeeper服务器使用的地址和端口号。每个server.n项通过冒号分隔为三部分,第一部分为服务器n的IP地址或主机名(hostname),第二部分和第三部分为TCP端口号,分别用于仲裁通信和群首选举。因为我们在同一个机器上运行三个服务器进程,所以我们需要在每一项中使用不同的端口号。通常,我们在不同的服务器上运行每个服务器进程,因此每个服务器项的配置可以使用相同的端口号。

2 创建data目录

到zookeeper安装目录下执行:

mkdir data1
mkdir data2
mkdir data3

当启动一个服务器时,我们需要知道启动的是哪个服务器。一个服
务器通过读取data目录下一个名为myid的文件来获取服务器ID信息。可
以通过以下命令来创建这些文件:

echo 1 >  data1/myid
echo 2 >  data2/myid
echo 3 >  data3/myid
3 启动实例

打开三个终端,到zookeeper目录下分别执行:

bin/zkServer.sh  start  ../conf/zoo1.cfg
bin/zkServer.sh  start  ../conf/zoo2.cfg
bin/zkServer.sh  start  ../conf/zoo3.cfg
4 使用zkCli.sh访问集群

bin/zkCli.sh -server 127.0.0.1:2182,127.0.0.1:2183,127.0.0.1:2184
会出现如下信息:

[myid:] - INFO [...] - Session establishment
complete on server localhost/127.0.0.1:2182 ...

表面客户端连接到了端口为2182的zookeeper服务器上。

使用ctrl+c停止并重新使用上述命令进行连接,如此往复几次会发现连接的端口在2182,2183,2184来回改变。

参考:《ZooKeeper-分布式过程协同技术》


分享文章:zookeeper配置及集群搭建
本文URL:http://chengdu.cdxwcx.cn/article/gjosed.html