Zookeeper 知识

xiaoxiao2021-02-27  232

一、概念简介; 分布式协调服务,为别的分布式程序服务 1.提供数据保管 2.提供节点监听 3.服务器主从选举场景

底层:采集状态数据(描述信息)

为用户程序提供数据节点监听的服务。

应用场景:

二:集群搭建:(最小3台)(集群结构)zookeeper ,conf,myid

三:zookeeper的命令行客户端及znode数据结构类型监听等功能

ephemeral 断开连接自己删除 如:-e 短暂节点 persistence SEQUE create -e /test create /test 888 create -s /teast/aa 999 zkServer.sh start zkCli.sh -server min1:2181 help查看基本命令的使用。

四:zookeeper 集群自动启动脚本及export变量作用域的解析

原理:ssh 运程登陆。 ssh min2 mkdir /root/min2

命令: ssh min2 /usr/local/zookeeper-3.4.6/bin/zkServer.sh start 无效(此shell与登陆上的shell二个独立shell,此shell没有JAVA_HOME变量,窗口登陆会自动执行环境变量的初始化,ssh,需要手动启动souce 环境变量文档。/etc/profile) 原因:需要环境变量 echo $JAVA_HOME

变量:

export 定义的变量,会对自己所在的shell进程及其子进程生效

B=1 定义的变量,只对自己所在的shell 进程生效

例如:

a=1

定义一个变量如: a=1,写一个sell脚本echo a,echo a,显示1。 原因:脚本执行时在另外一个bash里。当前界面命令是此脚本的父进程。 (此脚本)子进程看不见父进程(当前命令界面)。 只对自己所在的shell 进程生效 命令pstree pstree - display a tree of processes

export a=1.

定义一个变量如: a=1,写一个sell脚本echo a,1.echo a,显示1。原因:作用范围:会对自己所在的当前shell进程及其子进程生效

export:写一个脚本用一个export 定义一个变量,作用范围:只在当前进程及其子进程。父进程无法访问。

souce 作用:会把我当前定义在脚本文件里的变量,放在当前shell 里面。

!/bin/bash

echo “start zkSever…” for i in 1 2 3 do ssh min$i “source /etc/profile;/usr/local/zookeeper-3.4.6/bin/zkServer.sh start” done

在root目录下: 配置免密码登陆 /root/bin/startzk.sh ssh-keygen ssh-copy-id min2

实验命令的使用

我的三台主机配置zookeeper 集群自动启动脚本 Hadoop 用户 /etc/profile 文件:

编写 Startzk.sh脚本 放在 pwd /usr/local/zookeeper-3.4.6/bin 目录下: Chmod +x startzk.sh Vim startzk.sh 运行 startzk.sk Hadoop 配置了免密码登陆。

!/bin/bash

echo “start zkSever…” for i in 1 2 3 do ssh min$i “source /etc/profile;/usr/local/zookeeper-3.4.6/bin/zkServer.sh start” done 类似可以创建一个stopzk.sh

在集群大的情况下工作量就减少了。。。成功。

转载请注明原文地址: https://www.6miu.com/read-10271.html

最新回复(0)