Zookeeper的节点 既是目录又是文件 因为它每个节点都能存储数据 (但是只能存储少量数据 因为Zookeeper只是协调服务) 而Linux的节点只能是目录 只有最终节点才是文件
Zookeeper的四种节点
普通znode普通序列化znode临时znode :当session退出或失效 则该节点消失临时序列化权限列表
ACL:crwdeleteadminwatch事件 Zookeeper能干什么?
命名空间配置管理集群管理1 现将Zookeeper安装包通过Xshell工具上传到home目录下 2.解压安装tar -zxvf ./zookeeper-3.4.7.tar.gz -C /usr/local/ 我们可以把docs文件先删掉 因为待会要移动Zookeeper(就是copy到别的机子上) docs比较杂 麻烦 rm -rf ./zookeeper-3.4.7/docs/
3.解压后我们开始配置 配置环境变量vi /etc/profile 然后source 一下 不知道为啥 我source没用 这样检测是否成功的话 看下面截图最后一句 打的时候可以tab键tab出来 就证明没问题 然后我们需要配下面划线的东西 是zk的一个模板文件 不过需要先改个名mv ./conf/zoo_sample.cfg ./conf/zoo.cfg 然后进入修改该文件 将注释按两下d删一行·都删掉 然后照着截图改一下数字 5 2 然后再加上最后三句 搞完后保存退出 2888是小弟或者老大的通信端口 3888是选举端口(选举就是leader挂掉后需要从一堆小弟Server中选出一个新的leader老大) 4.这台机子配完了 然后copy到02 03上去 scp -r …/zookeeper-3.4.7/ hadoop02:/usr/local/ scp -r …/zookeeper-3.4.7/ hadoop03:/usr/local/ 这样然后都改一下02 03的环境变量
测试 我们打zkS tab能出来完整的 就可以 4.最后别忘了创建文件夹 我们在上面这一步修改的这个dataDir这个目录 没有相应文件夹 所以需要我们一个一个创建 三个机子01 02 03都要创建 5.然后我们需要在每个机子下面的这个目录创建一个myid的文件 内容就是上面这个截图这个最后三句话的Server编号 server.1 server.2 server.3 后面这个数字 01就写1 02 就写2 03就写3 例如03
注意需要前面改过名字zoo.cfg这个名字 不然没法使用 没改的话需要在命令后面加上路径 ./conf/zoo/cfg 三台都要启动 注意一定是奇数台 这样才能用
我们可以通过jps或者 zkServer.sh status来查看是否启动 jps是多了一个QuorumPeerMain
zkServer.sh status follower是小弟 我们看看别的机子 哎 这第二台机子是老大
这样 至此 zk集群就装好了 我们就可以用了 这样我们可以使用zkCli.sh来连接客户端了 这个命令后面不加东西 就代表连接的是本台机子 然后可以使用ls / 查看节点 也可以使用quit退出去 我们还可以是使用
zkCli.sh -server hadoop02:2181连接hadoop02的zk服务 那我们连接后要干什么呢 使用什么命令呢 不知道 那我们随便打 然后会给提示的 告诉我们有什么命令 其中第一句告诉我们可以切换端口
connect hadoop03:2181这样就切换到了hadoop03的zk服务 查看节点的话 ls / 目前就一个节点 创建节点 必须要带数据
create /name "zhangsan"怎么知道节点的数据和详细信息呢
get /name这样就知道了节点name的信息 这里的节点和数据 在02 03的zk上也能看到 因为zk是强一致性
还可以创建 临时节点
create -e /class 'qf'临时节点在别的02 03同样能看到 但是quit退出后 再进入就没了
加-s可以创建同名节点 不过创建后自动给添加序号 这就是序列化得意思 但是这个也是临时节点 退出即消失 修改值
set /name 'lisi'同样的因为有原子广播协议 我们再01改了后接着再02 03查看 值也是被修改后的
然后是 删除节点 我们先在name下创建个子节点aaa 空值 然后
delete /name然后说是name值不为空 不能删除 因为name下有叶子结点 这样的话我们可以使用 递归删除 不管下面有没有
rmr /name close 是关闭连接 quit 直接退出看上面即可
