温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

zookeeper配置及集群搭建

发布时间:2020-07-20 10:05:10 来源:网络 阅读:306 作者:我叫袁蒙蒙 栏目:大数据

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

好了,让我们开始干吧!

单实例

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-分布式过程协同技术》

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI