ZooKeeper简介(安装和使用)

近期学习一些东西,涉及到zk。于是在阿里云的服务器上尝试安装了一个zk集群。当然,本人比较穷,只用一台服务器搭的,还好原理都一样,不影响学习效果。

1、下载,这个去官网下载即可。有些同学可能不清楚怎么上传到阿里云服务器,那么这里有几种方式供你选择,一个是你直接用一些类似xshell的ssh客户端直接上传,第二个用scp命令也是可以的。如果你能找到相应的文件链接的话,你也可以用curl -O url的方式直接在服务器下载。

2、一般下载都是tar.gz的,所以直接用tar -xvzf xxx.tar.gz即可。大概解压完如下图

如果你觉得名字比较长,你可以用mv重命名一下。

3、这样一个zk装好了,那么启动之前我们应该做些什么?我们需要一个必要的配置文件。zk目录如下

我们需要在conf下建一个zoo.cfg(默认是这个名称,其他的名称需要在启动的时候把名字当做参数传入)的配置文件。里面的参数可以简单地配置几个(我把集群的配置也贴出来了,如果是单个实例的话把下面的server忽略即可,localhost是/etc/hosts里面的域名就是本地):

注意不同的配置文件配置的路径不要相同(因为我这个是一个服务器。。如果是不同服务器就无视吧)。

4、那么简单的配置完成了,我们接下来就是启动的过程了。启动之前需要在云端服务器上开放相应的端口,安全组策略要改一下,不然的话可能会有问题哦。启动的命令也非常简单。因为是linux的centOS系统,我们用下面的.sh即可。

大家看到了最后的STARTED,但是现在还不能高兴,因为这个并不一定代表你的zk启动成功了。你需要再去看一下状态.

上面是能跟着的命令参数,那么我们肯定选择status查询。如下图,证明真的没有问题。

如果有问题我怎么知道呢。这个时候需要去查看日志,在/bin下面会有一个zookeeper.out的日志,一般的问题无非就是端口没有开启访问权限。

5、我们下面就登录一下客户端,使用一下zk

我们使用help就可以知道zk的命令都能干什么。

其他命令在此不一一展示了。

6.单个配置比较简单,那么我们配置多个实例怎么处理呢,就像刚才步骤3中的图一样,我们需要多个配置文件,而且配置文件中的端口需要做一下修改,否则在一台服务器上肯定会报错说端口已被占用。需要注意的是,里面有个dataDir,这个我们需要在这个路径下添加一个myid的文件。用touch myid,创建完成之后,我们需要把配置文件中server.1或者server.2中的数字给对应的myid。比如我的第一个实例的配置文件式zoo1.cfg,那我对应目录下的myid内容就是1.我们可以用echo 1 > myid给其填充内容。大家注意的是单机多实例的情况下,端口一定不能重复。

7、我们启动的时候还是如上面的启动方式一样,上面的截图都是在我配置好集群的情况下给大家截的图,所以大家就可以直接看上面的图。当leader/follower模式开启之后,链接多个客户端,查看、更新信息,其他的客户端的值也会变化。

8、我在这个里面遇到的坑,myid没有配置、安全组没有配置好。大家配置的时候一定要看仔细~

 

posted @ 2018-04-26 23:28  TT的宝藏  阅读(156)  评论(0编辑  收藏  举报