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 ...
随机推荐
- android开发环境:使用Android Studio搭建Android集成开发环境(图文教程)
开发环境情况: 物理机版本:Win 7旗舰版(64位) Java SDK版本:jdk1.8.0_25(64位) Android SDK版本:Android 7.1(API 25) Android St ...
- CSS控制文字只显示一行,超出部分显示省略号
<p style="width: 300px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"&g ...
- [转载]java操作word生成水印
应用场景 为了保护版权或辨别文件的真伪,有时需要在生成的Word文件中动态添加水印,PageOffice组件的WaterMark类就封装了给在线编辑的Word文件添加水印这一功能,调用接口非常简单. ...
- LeetCode OJ:Product of Array Except Self(除己之外的元素乘积)
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equ ...
- Java基础学习-extends继承(成员变量,局部变量,成员方法)
package extend; /*面向对象-继承: * 多个类的共同成员变量和成员方法.抽取到另一个类中(父类),我们多个类就可以访问到父类的成员了 * */ class Game{ String ...
- 【SQL查询】连接多表_join
1. inner join 返回两表相匹配的数据,做表中的“1, 2” 和右表中的“5, 6”都不会显示. 2. left join 以左表为主,左表返回所 ...
- Android面试题整理
1. 请描述下Activity的生命周期. 2. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态? 3. 如何将一个Activity设置成窗口的样 ...
- Kotlin 第二弹:Android 中 PDF 创建与渲染实践
这是 Kotlin 练习的的第二篇.这一篇的由来是因为刚刚在 Android 开发者官网查看 API 的时候,偶然看到了角落里面的 pdf 相关. 我仔细看看了详细文档,发现这个还蛮有意思的,关键是编 ...
- 从无到有开发自己的Wordpress博客主题---局部模板的准备
毫无疑问,我们媒体页面都会有header和footer,这些用到的内容几乎是一样的. 从无到有,我们先不考虑后面可能用到的Search和Comment等的模板,后面的我会在文本最后面追加. 开始之前, ...
- v-if和v-show的区别
v-if 是“真实”的条件渲染,因为它会确保条件块(conditional block)在切换的过程中,完整地销毁(destroy)和重新创建(re-create)条件块内的事件监听器和子组件. v- ...