Zookepper启动报错

Zookepper启动报错

  • 启动Zookepper服务端命令:[root@zhaohj apache-zookeeper-3.5.8-bin]# ./bin/zkServer.sh start conf/zoo.cfg
  • 报错提示:Error: JAVA_HOME is not set and java could not be found in PATH.

1. 了解Zookepper

Zookepper官网 下载地址 使用版本
https://zookeeper.apache.org https://zookeeper.apache.org/releases.html 3.5.8

2. Zookepper一系列命令

(1) 下载解压

下载 解压
wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper‐3.5.8/apache‐zookeepe r‐3.5.8‐bin.tar.gz tar ‐zxvf apache‐zookeeper‐3.5.8‐bin.tar.gz

(2) 重命名以及启动

重命名cfg文件 启动server
cp zoo_sample.cfg zoo.cfg [root@zhaohj apache-zookeeper-3.5.8-bin]# ./bin/zkServer.sh start conf/zoo.cfg

接下来就发生了报错:JAVA_HOME is not set and java could not be found in PATH.

3. 报错解决方案

  • zookeeper运行需要jdk1.8+
  • 下载linux版本的jdk: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
  • 还需要注册账号,真麻烦啊! 我的账号是 167785252@qq.com,oracle这个网站做的还真不错,用户的交互性体验非常棒
  • 下载了linux版本的jdk 真的超级超级慢,此时此刻我可能需要一个***工具
  • 下载下来之后放到我的虚拟机上,路径为 usr/local,就这个位置,就直接放
  • 还在下载,真他吗慢啊.....

(1) 配置linux环境下jdk环境变量

  • 切换到 etc目录,然后vim profile ,添加环境变量
  # set java env
  export JAVA_HOME=/usr/local/jdk1.8.0_333
  export JRE_HOME=${JAVA_HOME}/jre
  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
  export PATH=${JAVA_HOME}/bin:$PATH
  • 验证环境变量是否配置成功
  java -version
  java version "1.8.0_333"
  Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
  Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)

4.报错解决之后客户端启动

  • 因为是装在本机,所以直接去链接
  • [root@zhaohj apache-zookeeper-3.5.8-bin]# ./bin/zkCli.sh
  • 若不在本机
  • [root@zhaohj apache-zookeeper-3.5.8-bin]# ./bin/zkCli.sh ‐server ip:port
  • 至此,Zookepper启动成功

5.Zookepper命令

  • 查看Zookepper下节点
  [zk: localhost:2181(CONNECTED) 0] ls /zookeeper
  [config, quota]
  [zk: localhost:2181(CONNECTED) 3] ls -R /
  /
  /zookeeper
  /zookeeper/config
  /zookeeper/quota
  • 创建节点命令
  #带[]的为可选参数,否则为必填参数
  -s: 顺序节点 -e: 临时节点 -c: 容器节点 -t: 可以给节点添加过期时间,默认禁用,需要通过系统参数启用
  若不加参数就会默认创建持久化节点 例如:create /test
  create [-s] [-e] [-c] [-t ttl] path [data] [acl]
  • 顺序节点
  有顺序的节点,最大顺序为2的32次方
  • 临时节点
  创建临时节点
  [[zk: localhost:2181(CONNECTED) 1] create -e /zhaohj
  [Created /zhaohj
  获取临时节点
  [zk: localhost:2181(CONNECTED) 3] get -s /zhaohj
  null   (创建时序号)
  cZxid = 0xf (创建节点的事务请求id,依次递增)
  ctime = Thu Jun 09 22:21:55 CST 2022 (创建时间)
  mZxid = 0xf (修改节点的事务请求id,依次递增)
  mtime = Thu Jun 09 22:21:55 CST 2022 (修改时间)
  pZxid = 0xf (子节点事务id,子节点发生变化时与子节点绑定)
  cversion = 0 (子节点版本id)
  dataVersion = 0 (乐观锁)
  aclVersion = 0 (权限控制)
  ephemeralOwner = 0x1000002050c0003 (16进制的串,相当于sessionid,若过期该节点会被服务端销毁)
  dataLength = 0 (数据长度)
  numChildren = 0 (子节点个数)
  创建临时顺序节点
  [zk: localhost:2181(CONNECTED) 6] create -e -s /seq-ephemeral
  创建ttl节点
  创建ttl节点需要开启配置 -Dzookeeper.extendedTypesEnabled=true
  [zk: localhost:2181(CONNECTED) 9] create -t 5000  /ttl-node zzz

6.事件监听机制

全部评论

相关推荐

04-14 20:10
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务