GVKun编程网logo

inux下的zookeeper启动(zookeeper linux 启动)

18

对于想了解inux下的zookeeper启动的读者,本文将是一篇不可错过的文章,我们将详细介绍zookeeperlinux启动,并且为您提供关于Linux下安装zookeeper和启动、Linux上安

对于想了解inux下的zookeeper启动的读者,本文将是一篇不可错过的文章,我们将详细介绍zookeeper linux 启动,并且为您提供关于Linux 下安装 zookeeper 和启动、Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)、Linux下 zookeeper集群安装、Linux下Zookeeper安装的有价值信息。

本文目录一览:

inux下的zookeeper启动(zookeeper linux 启动)

inux下的zookeeper启动(zookeeper linux 启动)

 

zookeeper的安装目录:/usr/local/zookeeper-3.4.6/bin/zkServer.sh;

配置文件路径:../conf/zoo.cfg

端口 :2181;

 

ZooKeeper服务命令:

     在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作

  • 1. 启动ZK服务:       sh bin/zkServer.sh start
  • 2. 查看ZK服务状态: sh bin/zkServer.sh status
  • 3. 停止ZK服务:       sh bin/zkServer.sh stop
  • 4. 重启ZK服务:       sh bin/zkServer.sh restart

zk客户端命令

ZooKeeper命令行工具类似于Linux的shell环境,不过功能肯定不及shell啦,但是使用它我们可以简单的对ZooKeeper进行访问,数据创建,数据修改等操作.  使用 zkCli.sh -server 127.0.0.1:2181 连接到 ZooKeeper 服务,连接成功后,系统会输出 ZooKeeper 的相关环境以及配置信息。

命令行工具的一些简单操作如下:

  • 1. 显示根目录下、文件: ls / 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
  • 2. 显示根目录下、文件: ls2 / 查看当前节点数据并能看到更新次数等数据
  • 3. 创建文件,并设置初始内容: create /zk "test" 创建一个新的 znode节点“ zk ”以及与它关联的字符串
  • 4. 获取文件内容: get /zk 确认 znode 是否包含我们所创建的字符串
  • 5. 修改文件内容: set /zk "zkbak" 对 zk 所关联的字符串进行设置
  • 6. 删除文件: delete /zk 将刚才创建的 znode 删除
  • 7. 退出客户端: quit
  • 8. 帮助命令: help

 

ZooKeeper 常用四字命令:

      ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令

  • 1. 可以通过命令:echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader
  • 2. 使用echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。
  • 3. echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点。
  • 4. echo kill | nc 127.0.0.1 2181 ,关掉server
  • 5. echo conf | nc 127.0.0.1 2181 ,输出相关服务配置的详细信息。
  • 6. echo cons | nc 127.0.0.1 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。
  • 7. echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
  • 8. echo reqs | nc 127.0.0.1 2181 ,列出未经处理的请求。
  • 9. echo wchs | nc 127.0.0.1 2181 ,列出服务器 watch 的详细信息。
  • 10. echo wchc | nc 127.0.0.1 2181 ,通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
  • 11. echo wchp | nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。

Linux 下安装 zookeeper 和启动

Linux 下安装 zookeeper 和启动

原文:https://yq.aliyun.com/articles/662422

 

 

1.zookeeper 官网下载安装包 http://mirrors.hust.edu.cn/apache/zookeeper/
image
2. 选择最新版
image
3. 复制该版本的下载链接地址
http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
4. 虚拟机中用 wget 命令下载 zookeeper 安装包
我一般将软件安装到 /usr/local/ 下面
image
wget 命令下载

wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

image
下载完成
5. 解压安装包

tar -zxvf ./zookeeper-3.4.13.tar.gz

image
6. 解压完成后,需要设置 zookeeper 的工作目录,存放日志和数据
①进入安装包目录

cd zookeeper-3.4.13/

image
②创建 data 文件夹 (名称没有要求)

mkdir data

image
③进入 conf 文件夹

cd conf/

image
④将 zoo_sample.cfg 复制一份并重命名为 zoo.cfg

cp zoo_sample.cfg zoo.cfg

image
⑤修改 zoo.cfg 中 dataDir 路径为刚刚创建的 data
image
⑥退出编辑并保存,进入 bin 目录
image
⑦启动 zkServer.sh

./zkServer.sh start

image
⑧查看 zkServer 的状态

./zkServer.sh status

image
结束

Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)

Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)

1下载Zookeeper

2安装启动测试

       2.1上载压缩文件并解压

      2.2新建 zookeeper配置文件

      2.3安装JDK

      2.4启动zookeeper

      2.5查看zookeeper的状态

3将ZooKeeper设置为开机启动(可选)

      3.1在init.d目录下新建脚本文件

                 3.1.1文件内容的第一种方案(推荐)

                 3.1.2文件内容的第二种方案

                 3.1.3其他说明

      3.2执行一系列命令

      3.3执行测试看是否开机启动

4报错及解决

      4.1service zookeeper does not support chkconfig

      4.2 Error contacting service. It is probably not running

5本博文相关的下载

 

 关键字:CentOS7  zookeeper3.4.10   java

1下载Zookeeper

      地址:http://mirror.bit.edu.cn/apache/zookeeper/

 

 

2安装启动测试

          说明:(以下操作都是使员管理员账号进行的)

2.1上载压缩文件并解压

        这里使用的是CentOS7的操作系统。在opt目录下新建一个名为zookeeper的目录,将下载得到的zookeeper-3.4.10.tar.gz文件上载上去。

如图:

 

    

进入到该目录下,命令是:

        cd    /opt/zookeeper

执行解压命令:

        tar    -zxvf    zookeeper-3.4.10.tar.gz

如图:

      

 

2.2新建zookeeper配置文件

         Zookeeper需要一个名为zoo.cfg的配置文件,我们解压后,得到的是官方的示例文件,名为zoo_sample.cfg,这个文件在zookeeper根目录的conf子目录下。如果我们想使用默认配置,直接将该文件复制并且改名即可。里面可以配置端口号,是否启用集群等等,这里不展开,直接执行cp复制重命名。

命令是:

     cp    /opt/zookeeper/zookeeper-3.4.10/conf/zoo_sample.cfg        /opt/zookeeper/zookeeper-3.4.10/conf/zoo.cfg

如图:

     

 

      上面的命令生成了zoo.cfg

      如图:

 

 

 

         说明:zoo.cfg里可以配置东西,如果希望搭建zookeeper集群,请看该博文:

             http://blog.csdn.net/pucao_cug/article/details/72228973

2.3安装JDK

           在Linux上安装JDK都是一样的,虽然我们这里用的是CentOS7的操作系统,但是依然可以按照在Unbuntu上安装JDK的方法来安装,请参考该博文:

http://blog.csdn.net/pucao_cug/article/details/68948639

         说明:你可的JDK安装路径和ZooKeeper安装路径可以和我的不一样,但是如果你的路径和我一样的话,在本博文第三章节,将ZooKeeper设置为开机启动的相关配置中,你可以不用修改那些配置内容,直接复制使用。

2.4启动zookeeper

 

  进入到zookeeper的bin目录下,命令:

         cd    /opt/zookeeper/zookeeper-3.4.10/bin

执行zkServer.sh脚本进行启动,命令是:

        ./zkServer.sh   start

如图:

    

 

 

2.5查看zookeeper的状态

     如果此时不在zookeeper的bin 目录下,先进入到该目录下:

          cd    /opt/zookeeper/zookeeper-3.4.10/bin

 

    执行命令查看zookeeper状态:

        ./zkServer.sh    status

如图:

    

 

 

standalone 是单机模式。

3将ZooKeeper设置为开机启动(可选)

3.1在init.d目录下新建脚本文件

    进入到/etc/rc.d/init.d目录下,命令是:

          cd    /etc/rc.d/init.d

   新建一个名为zookeeper的文件,命令是:

         touch    zookeeper

如图:

      

 

3.1.1文件内容的第一种方案(推荐)

           使用vim命令修改文件内容,文件内容的写法有很多,除了上面的第一种方案,用下面的这种也可以:

 

[plain]  view plain  copy
 
 
 
  1. #!/bin/bash  
  2. #chkconfig: 2345 10 90  
  3. #description: service zookeeper  
  4. export   JAVA_HOME=/opt/java/jdk1.8.0_121  
  5. export   ZOO_LOG_DIR=/opt/zookeeper/log  
  6. ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.10  
  7. su    root    ${ZOOKEEPER_HOME}/bin/zkServer.sh      "$1"  



 

3.1.2文件内容的第二种方案

       使用vim命令修改文件内容,文件内容是:

 

[plain]  view plain  copy
 
 
 
  1. #!/bin/bash  
  2. #chkconfig: 2345 10 90  
  3. #description: service zookeeper  
  4. export    JAVA_HOME=/opt/java/jdk1.8.0_121  
  5. export     ZOO_LOG_DIR=/opt/zookeeper/log  
  6. ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.10  
  7. case  "$1"   in  
  8.           start)  su  root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   start;;  
  9.           start-foreground)  su  root  ${ZOOKEEPER_HOME}/bin/zkServer.sh    start-foreground;;  
  10.           stop)  su  root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   stop;;  
  11.           status)  su root  ${ZOOKEEPER_HOME}/bin/zkServer.sh    status;;  
  12.           restart)  su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   restart;;  
  13.           upgrade)su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   upgrade;;  
  14.           print-cmd)su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   print-cmd;;  
  15.           *)  echo  "requirestart|start-foreground|stop|status|restart|print-cmd";;  
  16. esac  



 

 

3.1.3 其他说明

          注意1:新建文件的命令是touch,编辑文件的命令用vi和vim都行。如果不会使用vi和vim命令,直接在本地把文件编辑好,然后用远程工具上载上去都行,不过需要注意的是如果本地用的windows系统,需要把文件转为UNIX格式。转换工具有很多,例如使用Notepad++

         如图:

  

 

         注意2:两个方案中的文件头部#注释的部分不能少,而且文件中诸如JDK路径,zookeeper路径都需要修改为你自己的。

3.2 执行一系列命令

  为新建的/etc/rc.d/init.d/zookeeper文件添加可执行权限,命令是:

       chmod  +x  /etc/rc.d/init.d/zookeeper

 把zookeeper这个脚本添加到开机启动项里面,命令是:

       chkconfig  --add   zookeeper

如图:

     

 

  如果想看看是否添加成功,命令是:

       chkconfig  --list

如图:

      

3.3执行测试看是否开机启动

  使用命令重启机器,命令是:

      reboot

方法一

查看zookeeper的状态

 重启机器,然后不手动启动zookeeper的情况下,执行命令:

       service  zookeeper   status

 如图:

   

 

方法二

   查看2181端口是否启用,执行命令:

   lsof  -i:2181

如图:

     

 

方法三

   查看网络状态,执行命令:

netstat   -lntup

如图:

     

 

4报错及解决

4.1 service zookeeper does not support chkconfig

        执行chkconfig  --add  zookeeper报错:

        servicezookeeper does not support chkconfig

        问题原因和解决:

         /etc/rc.d/init.d/ zookeeper脚本中头部没有添加下面这几句话(description可以随便写):

 

[plain]  view plain  copy
 
 
 
  1. #!/bin/bash  
  2. #chkconfig:2345 10 90  
  3. #description:service zookeeper  



 

4.2Error contacting service. It is probably not running

       执行service  zookeeper  status报错:

     JMX enabled by default

     Usingconfig: /opt/zookeeper/zookeeper-3.4.10/bin/../conf/zoo.cfg

     Errorcontacting service. It is probably not running.

 

        问题原因和解决:

            /etc/rc.d/init.d/ zookeeper没有配置对,请看3.1.1和3.1.2的配置,里面必须要有export  JAVA_HOME这一句话,后面的路径是你自己的JDK安装路径。

           至于export    ZOO_LOG_DIR=/opt/zookeeper/log这一句的话可有可无,意思是指定zookeeper的启动日志存放目录,如果该目录不存在,你必须手动创建一个。

5本博文相关的下载

        上面这些东西要么可以从网上下载到,或者可以从这里下载,包括配置文件。

下载地址是:http://download.csdn.net/detail/pucao_cug/9834762

Linux下 zookeeper集群安装

Linux下 zookeeper集群安装

准备环境:3台linux虚拟主机,zookeeper安装包,zookeeper版本号是3.4.6,本文zookeeper安装在/usr/local目录下

一、首先下载zookeeper

cd /usr/local

wget http://apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

以下操作分别在3台机器同步进行

二、解压安装zookeeper,命名为zk-node1、zk-node2、zk-node3

1、解压zookeeper

tar -zxvf zookeeper-3.4.6.tar.gz

2、zookeeper重命名

mv zookeeper-3.4.6 zk-node1

mv zookeeper-3.4.6 zk-node2

mv zookeeper-3.4.6 zk-node3

3、进入zookeeper目录节点

cd zk-node1

cd zk-node2

cd zk-node3

4、在节点目录下创建以下目录
mkdir data
mkdir logs

5、进入conf目录,复制默认的zoo_sample.cfg为zoo.cfg

cd conf/

cp zoo_sample.cfg zoo.cfg

6、修改zoo.cfg配置文件如下,关于ip请根据自己的实际情况进行修改

vim zoo.cfg 

zk-node1配置

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zk-node1/data
dataLogDir=/usr/local/zk-node1/logs
clientPort=2181
server.1=192.168.1.101:2881:3881
server.2=192.168.1.111:2882:3882
server.3=192.168.1.113:2883:3883

zk-node2配置

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zk-node2/data
dataLogDir=/usr/local/zk-node2/logs
clientPort=2182
server.1=192.168.1.101:2881:3881
server.2=192.168.1.111:2882:3882
server.3=192.168.1.113:2883:3883

zk-node3配置

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zk-node3/data
dataLogDir=/usr/local/zk-node3/logs
clientPort=2183
server.1=192.168.1.101:2881:3881
server.2=192.168.1.111:2882:3882
server.3=192.168.1.113:2883:3883

参数说明: :
tickTime=2000
tickTime 这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每
个 tickTime 时间就会发送一个心跳。
initLimit=10
initLimit 这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper
服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长
能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服
务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。
syncLimit=5
syncLimit 这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少
个 tickTime 的时间长度,总的时间长度就是 5*2000=10 秒。
dataDir=/home/wusc/zookeeper/node-01/data
dataDir顾名思义就是Zookeeper保存数据的目录,默认情况下Zookeeper将写数据的日志文件也保存在
这个目录里。
clientPort=2181
clientPort 这个端口就是客户端(应用程序)连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端
口接受客户端的访问请求。

server.A=B:C:D
server.1=192.168.1.101:2881:3881
server.2=192.168.1.111:2882:3882
server.3=192.168.1.113:2883:3883
A 是一个数字,表示这个是第几号服务器;
B 是这个服务器的 IP 地址(或者是与 IP 地址做了映射的主机名) ;
C 第一个端口用来集群成员的信息交换,表示这个服务器与集群中的 Leader 服务器交换信息的端口;
D 是在 leader 挂掉时专门用来进行选举 leader 所用的端口。
注意:如果是伪集群的配置方式,不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不
同的端口号。

7、 在 dataDir=/usr/local/zk-node{1,2,3}/data 下创建 myid 文件

vim /usr/local/zk-node{1,2,3}/data/myid

例如在zk-node1下应该执行

vim /usr/local/zk-node1/data/myid

文件内容填1

8、关闭防火墙(或者把对应端口在/etc/sysconfig/iptables 下进行配置)

如果使用关闭防火墙不需要配置8.1和8.2步骤

service iptables stop

8.1 关于在/etc/sysconfig/iptables下加入(注意在文件中加入的位置,找到和这些配置相同的位置,不要配置在最末尾,或顶端)

#zookeeper port zk-node1
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2881 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3881 -j ACCEPT

#zookeeper port zk-node2
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2182 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2882 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3882 -j ACCEPT

#zookeeper port zk-node3
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2183 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2883 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3883 -j ACCEPT

8.2 重启防火墙

service iptables restart

 

9、启动3台、zookeeper服务

sh /usr/local/zk-node1/bin/zkServer.sh start

sh /usr/local/zk-node2/bin/zkServer.sh start

sh /usr/local/zk-node3/bin/zkServer.sh start

10、使用sh /usr/local/zk-node1/bin/zkServer.sh status查看zookeeper启动状态

sh /usr/local/zk-node1/bin/zkServer.sh status

到此为止集群搭建完成

关于启动失败查看日志问题,唯一注意点zookeeper.out的位置是你启动命令的位置

假设是在/目录下执行 sh /usr/local/zookeeper/bin/zkServer.sh start

那么zookeeper.out就位于根目录下

Linux下Zookeeper安装

Linux下Zookeeper安装

前提:已经配置好JDK环境变量(https://www.cnblogs.com/stitchZsx/p/9861175.html)

1. 上传zookeeper 安装包到linux中/usr/local/temp 中(目录随意,对安装无影响)

2. 解压zookeeper压缩包

# tar zxvf /usr/local/temp/zookeeper-3.4.8.tar.gz

3. 复制zookeeper解压后的文件夹到/usr/local下并起名为zookpper(复制后名称任意,对安装无影响)

# cp -r /usr/local/temp/zookeeper-3.4.8  /usr/local/zookeeper

4. 进入到zookeeper文件夹中

# cd /usr/local/zookeeper

5. 在zookeeper中新建data文件夹,做为zookeeper数据存储文件夹

# mkdir data

6. 进入到conf文件夹

# cd conf

7. 复制zoo_sample.cfg,并给新起名的zoo.cfg

#cp zoo_sample.cfg zoo.cfg

8. 修改zoo.cfg中dataDir属性值为新建data文件夹的路径

# vim zoo.cfg

修改后的效果

 

9. 进入到zookeeper/bin文件夹,使用zkServer.sh启动zookeeper

# cd ../bin

# ./zkServer.sh start

启动成功效果图

 

10. 查看状态,其中Mode: standalone表示单机版

# ./zkServer.sh status

 

11. 为了外部能访问,需要在防火墙中放行2181端口

我们今天的关于inux下的zookeeper启动zookeeper linux 启动的分享就到这里,谢谢您的阅读,如果想了解更多关于Linux 下安装 zookeeper 和启动、Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)、Linux下 zookeeper集群安装、Linux下Zookeeper安装的相关信息,可以在本站进行搜索。

本文标签: