linux中zookeeper

安装jdk

tar -zxvf jdk-11.0.1_linux-x64_bin.tar.gz -C /usr/src

sudo vim /etc/profile
输入如下内容
export JAVA_HOME=/usr/src/jdk-11.0.1 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=.:${JAVA_HOME}/bin:$PATH shutdown -r now java -version

安装zookeeper

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/src

配置zookeeper

zookeeper工作原理,leader选举作为主服务器使用,最少3台服务器

cd /usr/src/zookeeper-3.4.10/conf
cp zoo_sample.cfg zoo.cfg
sudo zoo.cfg 输入如下内容 # tick时间
tickTime=2000
# tick数量
initLimit=10
# 请求和响应能够传递的tick数量
syncLimit=5
# 保存snapshots的数据目录
dataDir=/root/zookeeper
# 客户端端口
clientPort=2181
# 最大客户端连接数
maxClientCnxns=60
# snapshots保存数量
autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
# server.serverid=你的服务器ip:leader和follower通信端口:选举投票端口
server.1=yourserverip1:2888:3888
server.2=yourserverip2:2888:3888
server.3=yourserverip3:2888:3888 记录serverid到dataDir中
mkdir /root/zookeeper
cd /root/zookeeper
echo 1 > myid 禁用防火墙
sudo ufw disable
sudo ufw status 开启zookeeper
cd /usr/src/zookeeper-3.4.10/bin
./zkServer.sh start
./zkServer.sh status

zookeeper结点操作

zookeeper提供的数据保管功能,leader服务器实现更新数据

连接zookeeper
./zkCli.sh
connect yourip:2181 // 连接其他机器的zookeeper
ls / // 查看根结点
create /node1 "testnode1" // 创建结点
create /node1/node11 "testnode11"
get /node1/node11 // 获取结点数据
get /node1/node11 watch // 监听结点数据
set /node1 "data" // 修改结点值
delete /node1 // 删除节点 短暂结点和持久结点
create -e /node2 // 断开连接,自动删除
create /node2 // 持久保存 序列号结点
create -s /node3 // 结点名称后面自动添加序号

在java中使用

依赖
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.5.4-beta</version>
</dependency> 示例
package test; import java.util.List; import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.data.Stat; public class App
{
private static final String connectString = "yourip1:2181,yourip2:2181,yourip3:2181";
private static final Integer sessionTimeout = 3000;
private static ZooKeeper zk = null; public static void main( String[] args ) throws Exception
{
zk = new ZooKeeper(connectString, sessionTimeout, new Watcher(){ @Override
public void process(WatchedEvent event) {
System.out.println(event.getType() + "----" + event.getPath());
}
}); } public void NodeOperation() {
try {
// 创建结点
String path = zk.create("/node", "hello".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); // 获取结点
List<String> c = zk.getChildren("/", true); // 判断结点是否存在
Stat stat = zk.exists("/node", false);
if(stat == null) {
System.out.println("结点不存在");
} // 获取结点数据
byte[] data = zk.getData("/node", false, null); // 设置结点
zk.setData("/node", "data".getBytes(), -1); // 删除结点
zk.delete("/node", -1); } catch (KeeperException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

linux中zookeeper的更多相关文章

  1. Linux中Zookeeper部署和集群部署

    自己网上下载安装包,我下载的是tar.gz安装包直接解压,也可以下载rpm格式 1.下载zookeeper安装包,放到/usr/local/zookeeper安装包网上下载 2.解压文件tar -zx ...

  2. linux中zookeeper开机自启动和注册为服务

    1.安装jdk,zookeeper就不说啦,自己搜索下. 2.开机自启动和注册为服务. (1)开机自启动:编辑/etc/rc.d/rc.local文件,添加zkServer.sh路径. vi /etc ...

  3. Linux -- 基于zookeeper的java api(二)

    Linux -- 基于zookeeper的java api(二) 写一个关于基于集群的zookeeper的自定义实现HA 基于客户端和监控器:使用监控的方法查看每个注册过的节点的状态来做出操作. Wa ...

  4. linux -- 基于zookeeper搭建yarn的HA高可用集群

    linux -- 基于zookeeper搭建yarn的HA高可用集群 实现方式:配置yarn-site.xml配置文件 <configuration> <property> & ...

  5. linux安装zookeeper及使用

    一.安装条件 想要安装zookeeper,必须先在linux中安装好jdk.安装步骤见: https://www.cnblogs.com/expiator/p/9987351.html 二.下载并解压 ...

  6. Linux下zookeeper单机版详细安装

    Linux下zookeeper单机版详细安装 1.zookeeper简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop ...

  7. linux安装zookeeper,安装zkui,zookeeper可视化

    系统要求 支持的平台 ZooKeeper由多个组件组成.某些组件得到广泛支持,其他组件仅在较小的平台上受支持. 客户端是Java客户端库,应用程序使用它连接到ZooKeeper集合. Server是在 ...

  8. Linux下zookeeper集群搭建

    Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...

  9. Linux环境ZooKeeper安装配置及使用

    Linux环境ZooKeeper安装配置及使用 一.ZooKeeper 1.1 zookeeper作用 1.2 zookeeper角色 1.3 zookeeper功能 二.集群规划 三.安装流程 (1 ...

随机推荐

  1. poj2723 2-sat

    当两个门锁相同时,这个钥匙必须用,不同时分开用 可以直接遍历门,当然二分更快 #include<map> #include<set> #include<cmath> ...

  2. eclipse启动Tomcat服务输入http://localhost:8080/报404解决方法

    其实如果Tomcat能够正常启动,而就算输入http://localhost:8080时出现404错误,也不会影响Tomcat作为服务器运行.通过eclipse来启动tomcat会碰到“访问http: ...

  3. Codeforces Round #394 (Div. 2) E. Dasha and Puzzle

    E. Dasha and Puzzle time limit per test:2 seconds memory limit per test:256 megabytes input:standard ...

  4. spring 多数据源动态切换

    理解spring动态切换数据源,需要对spring具有一定的了解 工作中经常遇到读写分离,数据源切换的问题,那么以下是本作者实际工作中编写的代码  与大家分享一下! 1.定义注解 DataSource ...

  5. LeetCode OJ:Lowest Common Ancestor of a Binary Tree(最近公共祖先)

    Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...

  6. 血的教训 password写成passward,教训应该从首页赋值 参数名

    血的教训 password写成passward,教训应该从首页赋值 参数名

  7. FLASH动作脚本详解

    FLASH动作脚本详解 一.FLASH脚本基础入门讲解 二.按钮AS的编写 三.影片剪辑的AS编写 四.动态文本框 五.影片剪辑的拖拽 六.流程控制与循环语句 七.绘图及颜色的AS的编写 八.声音 A ...

  8. 前端画图之iphoneSE主屏

    今天逛园子,无意间看到一个用div+css画的Macbook Air的博客,瞬间想到很久之前我也做过类似的事, 而且,当时写完之后,真的是成就感爆棚啊!我去开源中国上翻到了我当时贴的源码,当时是在手机 ...

  9. 几个Unity3d UI制作的解决方案.

    1.ex2D的渲染机制 (高效的原因) 在以往的2D插件中,渲染方式是每个sprite单独渲染,由Unity负责Dynamic Batching.在新版ex2D中,我们经过严谨的优化实现了独立的dyn ...

  10. Linux字符界面访问U盘

    首先查看U盘所在位置 fdisk -l 只需查看最后分区情况,例如找到U盘的位置为:/dev/sda1(视系统而定) 创建文件夹(用于挂载U盘内容) mkdir /mnt/usb 挂载 mount / ...