linux中zookeeper
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的更多相关文章
- Linux中Zookeeper部署和集群部署
自己网上下载安装包,我下载的是tar.gz安装包直接解压,也可以下载rpm格式 1.下载zookeeper安装包,放到/usr/local/zookeeper安装包网上下载 2.解压文件tar -zx ...
- linux中zookeeper开机自启动和注册为服务
1.安装jdk,zookeeper就不说啦,自己搜索下. 2.开机自启动和注册为服务. (1)开机自启动:编辑/etc/rc.d/rc.local文件,添加zkServer.sh路径. vi /etc ...
- Linux -- 基于zookeeper的java api(二)
Linux -- 基于zookeeper的java api(二) 写一个关于基于集群的zookeeper的自定义实现HA 基于客户端和监控器:使用监控的方法查看每个注册过的节点的状态来做出操作. Wa ...
- linux -- 基于zookeeper搭建yarn的HA高可用集群
linux -- 基于zookeeper搭建yarn的HA高可用集群 实现方式:配置yarn-site.xml配置文件 <configuration> <property> & ...
- linux安装zookeeper及使用
一.安装条件 想要安装zookeeper,必须先在linux中安装好jdk.安装步骤见: https://www.cnblogs.com/expiator/p/9987351.html 二.下载并解压 ...
- Linux下zookeeper单机版详细安装
Linux下zookeeper单机版详细安装 1.zookeeper简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop ...
- linux安装zookeeper,安装zkui,zookeeper可视化
系统要求 支持的平台 ZooKeeper由多个组件组成.某些组件得到广泛支持,其他组件仅在较小的平台上受支持. 客户端是Java客户端库,应用程序使用它连接到ZooKeeper集合. Server是在 ...
- Linux下zookeeper集群搭建
Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...
- Linux环境ZooKeeper安装配置及使用
Linux环境ZooKeeper安装配置及使用 一.ZooKeeper 1.1 zookeeper作用 1.2 zookeeper角色 1.3 zookeeper功能 二.集群规划 三.安装流程 (1 ...
随机推荐
- poj2723 2-sat
当两个门锁相同时,这个钥匙必须用,不同时分开用 可以直接遍历门,当然二分更快 #include<map> #include<set> #include<cmath> ...
- eclipse启动Tomcat服务输入http://localhost:8080/报404解决方法
其实如果Tomcat能够正常启动,而就算输入http://localhost:8080时出现404错误,也不会影响Tomcat作为服务器运行.通过eclipse来启动tomcat会碰到“访问http: ...
- 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 ...
- spring 多数据源动态切换
理解spring动态切换数据源,需要对spring具有一定的了解 工作中经常遇到读写分离,数据源切换的问题,那么以下是本作者实际工作中编写的代码 与大家分享一下! 1.定义注解 DataSource ...
- 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 ...
- 血的教训 password写成passward,教训应该从首页赋值 参数名
血的教训 password写成passward,教训应该从首页赋值 参数名
- FLASH动作脚本详解
FLASH动作脚本详解 一.FLASH脚本基础入门讲解 二.按钮AS的编写 三.影片剪辑的AS编写 四.动态文本框 五.影片剪辑的拖拽 六.流程控制与循环语句 七.绘图及颜色的AS的编写 八.声音 A ...
- 前端画图之iphoneSE主屏
今天逛园子,无意间看到一个用div+css画的Macbook Air的博客,瞬间想到很久之前我也做过类似的事, 而且,当时写完之后,真的是成就感爆棚啊!我去开源中国上翻到了我当时贴的源码,当时是在手机 ...
- 几个Unity3d UI制作的解决方案.
1.ex2D的渲染机制 (高效的原因) 在以往的2D插件中,渲染方式是每个sprite单独渲染,由Unity负责Dynamic Batching.在新版ex2D中,我们经过严谨的优化实现了独立的dyn ...
- Linux字符界面访问U盘
首先查看U盘所在位置 fdisk -l 只需查看最后分区情况,例如找到U盘的位置为:/dev/sda1(视系统而定) 创建文件夹(用于挂载U盘内容) mkdir /mnt/usb 挂载 mount / ...