连接ZooKeeper客户端 protocol buffer序列化

一  连接ZooKeeper客户端  

1.在执行zkCli.sh 时 遇见一个问题

-bash: zkCli.sh: command not found

2.引入环境变量就行了,注意 目录到bin

locate  zkCli.sh

/opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/zookeeper/bin/zkCli.sh

export PATH=/opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/zookeeper/bin:$PATH

连接ZooKeeper客户端 protocol buffer序列化_第1张图片

3.之后就可以为所欲为了

连接ZooKeeper客户端 protocol buffer序列化_第2张图片

4.查看副本 情况 ls /hbase/replication

 

二、protocol buffer序列化

来吧,留一下将生成的proto文件转换成Java文件 cmd命令  .\protoc.exe --java_out=. .\risk.proto

1.新版本的入库程序用protocol buffer尽进行序列化。扔进去一个序列化后的buff就会有16进制的头。(Hbase客户端中 2进制显示不了,会显示为16进制)

连接ZooKeeper客户端 protocol buffer序列化_第3张图片

看代码 扔进去的是一个buf的序列化结构

连接ZooKeeper客户端 protocol buffer序列化_第4张图片

1.2继续看

pb结果会在值的头加上16进制,很明显后者就不是Pb结构。

连接ZooKeeper客户端 protocol buffer序列化_第5张图片

看代码

直接扔进去的是字符串

连接ZooKeeper客户端 protocol buffer序列化_第6张图片

 

1.3再看一下

HDFS上的数据格式

入Hbase的数据格式,每个字段都有16进制 \x0开头

连接ZooKeeper客户端 protocol buffer序列化_第7张图片

三、关于zkCli.sh

1.  zkCli.sh 在路径名下/opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/bin的表示形式为 zookeeper-client

可以通过 zookeeper-client直接启动

连接ZooKeeper客户端 protocol buffer序列化_第8张图片

 

2. 但是需要每次cd 到目录,太麻烦了,于是乎 用到了alias

连接ZooKeeper客户端 protocol buffer序列化_第9张图片alias zkCli.sh='/opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/bin/zookeeper-client'

3. 可以加到环境变量  .bashrc 里,以后直接zkCli.sh 就可以启动啦。

连接ZooKeeper客户端 protocol buffer序列化_第10张图片

另外 shift zz =wq! (vi 模式下的保存)

你可能感兴趣的:(大数据)