当前位置:首页 » 编程语言 » javazookeeper

javazookeeper

发布时间: 2022-08-08 14:20:12

⑴ zookeeper是java写的还是c

Java
因为安装 zk 需要安装 JDK

⑵ java连接zookeeper集群,必须配置多个ip吗

zookeeper的集群一般都是奇数,多采用三台服务器,就是一个leader,两个follower的模式,你只填一个IP,那就是单机模式

⑶ zookeeper一定要用java吗

znode创建类型(CreateMode):

PERSISTENT 持久化节点

PERSISTENT_SEQUENTIAL 顺序自动编号持久化节点,这种节点会根据当前已存在的节点数自动加 1

EPHEMERAL 临时节点, 客户端session超时这类节点就会被自动删除

EPHEMERAL_SEQUENTIAL 临时自动编号节点

[java] view plainprint?
/*
* ZookeeperTest.java
*/
package com.x.zookeeper;

import java.io.IOException;
import java.util.List;

import org.apache.zookeeper.CreateMode;
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;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
*
* @author http://blog.csdn.net/java2000_wl
* @version <b>1.0</b>
*/
public class ZookeeperTest {

private static final int SESSION_TIMEOUT = 30000;

public static final Logger LOGGER = LoggerFactory.getLogger(ZookeeperTest.class);

private Watcher watcher = new Watcher() {

public void process(WatchedEvent event) {
LOGGER.info("process : " + event.getType());
}
};

private ZooKeeper zooKeeper;

/**
* 连接zookeeper
* <br>------------------------------<br>
* @throws IOException
*/
@Before
public void connect() throws IOException {
zooKeeper = new ZooKeeper("localhost:2181,localhost:2182,localhost:2183", SESSION_TIMEOUT, watcher);
}

/**
* 关闭连接
* <br>------------------------------<br>
*/
@After
public void close() {
try {
zooKeeper.close();
} catch (InterruptedException e) {
e.printStackTrace();
}
}

/**
* 创建一个znode
* 1.CreateMode 取值
* PERSISTENT:持久化,这个目录节点存储的数据不会丢失
* PERSISTENT_SEQUENTIAL:顺序自动编号的目录节点,这种目录节点会根据当前已近存在的节点数自动加 1,然后返回给客户端已经成功创建的目录节点名;
* EPHEMERAL:临时目录节点,一旦创建这个节点的客户端与服务器端口也就是 session过期超时,这种节点会被自动删除
* EPHEMERAL_SEQUENTIAL:临时自动编号节点
* <br>------------------------------<br>
*/
@Test
public void testCreate() {
String result = null;
try {
result = zooKeeper.create("/zk001", "zk001data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
} catch (Exception e) {
LOGGER.error(e.getMessage());
Assert.fail();
}
LOGGE

⑷ 如何启动zookeeper-3.3.6

如何启动zookeeper-3.3.6?

启动zookeeper-3.3.6的方法:下载安装配置zookeeper的服务器环境-创建文件-设置权限-编辑-重启即可。

具体步骤:

一、登陆linux服务器用cd 命令切换到/etc/rc.d/init.d/目录下。

十、重启即可。

⑸ java zookeeper怎么清除缓存

掌握zookeeper事件监听机制,非常重要,可以说是跨入了进阶的门槛,只有掌握了如何监听某个节点或路径,我们才能在节点变化后,做一些我们想做的事,包括: 1,配置文件同步 2,主从切换 3,分布式队列 4,分布式锁

⑹ 如何解决java接口访问ZooKeeper时的connectionloss错误

常见错误日志如下:
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss

1. 原因:
是因为ZooKeeper建立连接时采用异步操作,连接操作后并不能保证ZK连接已成功。如果在ZK连接成功前的这个小时间窗口去访问ZK,就会碰到如上错误。
2. 解决思路
我们在新建ZK连接后要等一段时间,保证连接成功后再访问ZK。

3. 网上比较赞同的解决方案:
主要利用两个Java类:

(1)java.util.concurrent.CountDownLatch:
一个同步辅助类,类似倒数计数,直到计数器为0时才能对资源“解锁”。未解锁前等待该资源的进程只能被阻塞。

主要方法:
public CountDownLatch(int count); /* 构造函数,参数指定计数次数 */
public void countDown(); /* 当前线程调用此函数,则计数减一 */
public void await() throws InterruptedException; /* 此函数会一直阻塞当前线程,直到计时器的值为0为止 */

(2)org.apache.zookeeper.Watcher
ZooKeeper有一个很有用的功能,就是集群上每一个变化都可以通知到自定义的Watchcer。

⑺ java连接zookeeper的时候报错,请问下是什么原因啊

常见错误日志如下:
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss

1. 原因:
是因为ZooKeeper建立连接时采用异步操作,连接操作后并不能保证ZK连接已成功。如果在ZK连接成功前的这个小时间窗口去访问ZK,就会碰到如上错误。
2. 解决思路
我们在新建ZK连接后要等一段时间,保证连接成功后再访问ZK。

3. 网上比较赞同的解决方案:
主要利用两个Java类:

(1)java.util.concurrent.CountDownLatch:
一个同步辅助类,类似倒数计数,直到计数器为0时才能对资源“解锁”。未解锁前等待该资源的进程只能被阻塞。

主要方法:
public CountDownLatch(int count); /* 构造函数,参数指定计数次数 */
public void countDown(); /* 当前线程调用此函数,则计数减一 */
public void await() throws InterruptedException; /* 此函数会一直阻塞当前线程,直到计时器的值为0为止 */

(2)org.apache.zookeeper.Watcher
ZooKeeper有一个很有用的功能,就是集群上每一个变化都可以通知到自定义的Watchcer。

热点内容
android拷贝文件 发布:2024-05-04 00:38:28 浏览:774
存储冗余比 发布:2024-05-04 00:12:58 浏览:402
oracle数据库存储原理 发布:2024-05-04 00:10:40 浏览:521
未拆封玩客云3怎么搭建服务器 发布:2024-05-04 00:06:11 浏览:796
彻底删除编译安装的文件 发布:2024-05-04 00:05:33 浏览:55
编程机构数量 发布:2024-05-03 23:49:25 浏览:955
python源码编译安装 发布:2024-05-03 23:48:16 浏览:108
android手机市场 发布:2024-05-03 23:47:04 浏览:499
如何配置vlan并添加端口 发布:2024-05-03 23:37:53 浏览:726
中国电信无线密码怎么修改 发布:2024-05-03 23:37:51 浏览:117