为什么80%的码农都做不了架构师?>>>   

zookeeper使用:https://blog.csdn.net/haoyuyang/article/details/53469269

基本原理

部署安装

  1. 部署假设3个节点,ip分别为A,B,C

  2. 在用户zookeeper用户下安装

# 增加用户,并赋予其密码
$ adduser zookeeper
$ passwd zookeeper            # ur password for zookeeper user
# 赋予用户可以 sudo的权限
$ chmod u+w /etc/sudoers
$ vim /etc/sudoers# 找到 `root ALL=(ALL) ALL`这行,并在下面添加 erickzookeeper    ALL=(ALL)    ALL
$ chmod u-w /etc/sudoers
# 切换到 zookeeper用户
$ su - zookeeper
  1. 从zookeeper中下载zookeeper,然后将其导入3个节点中中的路径或者:
 $ wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
$ cd /home/erick
# 存放软件目录 & 安装目录 & 日志目录
$ mkdir install && mkdir software && mkdir logs
  1. 然后解压到software中:
$ tar -zxvf zookeeper-3.4.10 -C ~/software
$ cd ~/software
$ ln -s zookeeper-3.4.10 zookeeper
  1. 配置
cd zookeeper
$ mkdir tmp
$ cp conf/zoo_sample.cfg conf/zoo.cfg
$ mkdir -p /home/zookeeper/data/zookeeper
$ mkdir -p /home/zookeeper/logs/zookeeper
$ vim conf/zoo.cfgtickTime=2000  dataDir=/home/erick/data/zookeeperdataLogDir=/home/erick/logs/zookeeperclientPort=2181  initLimit=10  syncLimit=5  server.1=A:2888:3888  server.2=B:2888:3888  server.3=C:2888:3888

然后在 dataDir目录新建myid文件,将相应的id写入到其中:

echo 1 > myid
echo 2 > myid
echo 3 > myid

1.最后启动

./zkServer.sh start
./zkServer.sh status

操作使用(java)

  • 新建maven工程
 <dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.6</version></dependency>
package LIHAO;/*** Created by Administrator on 2017/12/5.*/
import java.io.IOException;import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;public class Test {// 会话超时时间,设置为与系统默认时间一致private static final int SESSION_TIMEOUT = 30 * 1000;// 创建 ZooKeeper 实例private ZooKeeper zk;// 创建 Watcher 实例private Watcher wh = new Watcher() {/*** Watched事件*/public void process(WatchedEvent event) {System.out.println("WatchedEvent >>> " + event.toString());}};// 初始化 ZooKeeper 实例private void createZKInstance() throws IOException {// 连接到ZK服务,多个可以用逗号分割写zk = new ZooKeeper("A:2181,B:2182,C:2183", Test.SESSION_TIMEOUT, this.wh);}private void ZKOperations() throws IOException, InterruptedException, KeeperException {System.out.println("\n1. 创建 ZooKeeper 节点 (znode : zoo2, 数据: myData2 ,权限: OPEN_ACL_UNSAFE ,节点类型: Persistent");zk.create("/zoo2", "myData2".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);System.out.println("\n2. 查看是否创建成功: ");System.out.println(new String(zk.getData("/zoo2", this.wh, null)));// 添加Watch// 前面一行我们添加了对/zoo2节点的监视,所以这里对/zoo2进行修改的时候,会触发Watch事件。System.out.println("\n3. 修改节点数据 ");zk.setData("/zoo2", "shanhy20160310".getBytes(), -1);// 这里再次进行修改,则不会触发Watch事件,这就是我们验证ZK的一个特性“一次性触发”,也就是说设置一次监视,只会对下次操作起一次作用。System.out.println("\n3-1. 再次修改节点数据 ");zk.setData("/zoo2", "shanhy20160310-ABCD".getBytes(), -1);System.out.println("\n4. 查看是否修改成功: ");System.out.println(new String(zk.getData("/zoo2", false, null)));System.out.println("\n5. 删除节点 ");zk.delete("/zoo2", -1);System.out.println("\n6. 查看节点是否被删除: ");System.out.println(" 节点状态: [" + zk.exists("/zoo2", false) + "]");}private void ZKClose() throws InterruptedException {zk.close();}public static void main(String[] args) throws IOException, InterruptedException, KeeperException {Test dm = new Test();dm.createZKInstance();dm.ZKOperations();dm.ZKClose();}
}

客户端操作

性能测试

jdk安装

Download from jdk-7u80-linux-x64.rpm或者此下载

$ chmod +x install/jdk-7u80-linux-x64.rpm$ sudo rpm -ivh install/jdk-7u80-linux-x64.rpm
$ java -versionjava version "1.7.0_80"Java(TM) SE Runtime Environment (build 1.7.0_80-b15)Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
$ which java/usr/bin/java
$ ln -s /usr/java/jdk1.7.0_80 software/jdk1.7.0_80
$ ln -s /home/eagle/software/jdk1.7.0_80 software/java
$ vim ~/.bash_profile# User specific environment and startup programsexport JAVA_HOME=/home/eagle/software/javaexport CLASSPATH=.:$JAVA_HOME/lib/tools.jar$JAVA_HOME/lib/dt.jarexport PATH=$JAVA_HOME/bin:$PATH
$ source ~/.bash_profile

转载于:https://my.oschina.net/112612/blog/1584832

ZOOKEEPER安装及测试相关推荐

  1. zookeeper安装与测试

    zookeeper安装与测试 zookeeper的配置文件 zookeeper/conf/zoo_sample.cfg更改为zoo.cfg  1.tickTime:cs通信心跳时间  服务器之间或客户 ...

  2. ZooKeeper学习第二期--ZooKeeper安装配置

    一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式. ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境: ■ 伪集群模式:就是在一台 ...

  3. ZooKeeper安装和配置

    ZooKeeper是一个开源的分布式协调服务,由雅虎创建,是Google Chubby的开源实现.ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集 ...

  4. ZooKeeper安装配置

    为什么80%的码农都做不了架构师?>>>    一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式. ■ 单机模式:Zookeepe ...

  5. graylog+kafka+zookeeper(单机测试及源码),graylog设置URL报警方式(五)

    graylog+kafka+zookeeper(单机测试及源码),graylog设置URL报警方式(五) 问题背景 graylog+kafka+zookeeper(单机测试及源码),graylog组件 ...

  6. graylog+kafka+zookeeper(单机测试及源码),kafka+zookeeper组件部署(二)

    graylog+kafka+zookeeper(单机测试及源码),kafka+zookeeper组件部署(二) 问题背景 graylog+kafka+zookeeper(单机测试及源码),graylo ...

  7. graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七)

    graylog+kafka+zookeeper(单机测试及源码),微服务日志查询使用(七) 问题背景 graylog+kafka+zookeeper(单机测试及源码),graylog组件部署,查找问题 ...

  8. graylog+kafka+zookeeper(单机测试及源码),graylog收集kafka(脚本创建发布订阅方式)存储的消息(四)

    graylog+kafka+zookeeper(单机测试及源码),graylog收集kafka(脚本创建发布订阅方式)存储的消息(四) 问题背景 graylog+kafka+zookeeper(单机测 ...

  9. graylog+kafka+zookeeper(单机测试及源码),graylog测试用例及源码(三)

    graylog+kafka+zookeeper(单机测试及源码),graylog测试用例及源码(三) 问题背景 graylog+kafka+zookeeper(单机测试及源码),graylog组件部署 ...

最新文章

  1. LeetCode实战:寻找两个有序数组的中位数
  2. Android程序ToDoList增加配置项页面
  3. MVC,MVP与MVVM
  4. 直接拿来用!最火的Android开源项目(完结篇)
  5. UITextField详解
  6. Oracle中的move命令
  7. 深度学习(3)手写数字识别问题
  8. 实例55:python
  9. 【狂神说】Redis笔记
  10. 数的划分(信息学奥赛一本通-T1304)
  11. jquery audio没有声音_Python实用案例编程入门:第十四章 通过声音控制您的计算机
  12. 基于3D关节点的人体动作识别综述
  13. Require statement not part of import statement. eslint@typescript-eslint/no-var-requires报错修改
  14. layui使用formselect4完成的下拉框多选,拼音搜索
  15. 腾讯云域名证书哪里下载_备案域名证书获取方法
  16. 【苹果相册推送位置推送iMessage】软件安装TestFlight计划的信息
  17. 【Linux命令】挂盘相关命令,包含可扩展硬盘
  18. 三菱伺服调试软件MR-j2-CT
  19. 服务器系统lede,[OpenWrt Wiki] 系统配置
  20. 【RPA】UIpath Academy BA篇

热门文章

  1. linux io函数,Linux下普通IO文件操作函数---C语言
  2. idl结果显示窗口如何缩小_科学网—IDL 创建窗口 - 钱磊的博文
  3. python中args1是什么意思_理解Python中的*,*args
  4. basler相机 ip linux,Basler 相机启动运行程序, Basler IP相机软件 - 其他软件 | Basler
  5. 怎么用计算机实现矩阵摹乘法,基于距离矩阵摹乘法的生鲜产品配送路径优化
  6. cad能整体比例缩小吗_手机玻璃背板直接整体变色你能想象吗?有厂商已经做到了...
  7. origin+matlab基础绘图
  8. 【Ubuntu日常技巧】【解决】Ubuntu 16 右上角的音量调节通知框不停地闪烁问题
  9. 小猿圈web前端之移动端Vue+Vant实现上传压缩旋转图片功能
  10. Android之LinearLayout布局下怎么让按钮固定在底部