标签: apache-zookeeper

有没有办法动态配置nginx(或其他快速反向代理)?

假设我们有几个相同的节点,它们是某些n层服务的应用服务器.假设我们使用Apache ZooKeeper来保留我们分布式应用程序的所有配置.另外,我们在此应用程序前面有一个nginx作为负载均衡器和反向代理.

因此,假设我们执行仅在node1上更改数据的命令,并且在某段时间内,node2与node1不同.我们希望代理将所有特殊请求(需要特定数据)重定向到node1,直到所有信息都迁移到node2并且node2与node1具有相同的数据.

有没有办法让nginx(或其他代理)从Apache ZooKeeper读取其配置?或更广泛的:有没有办法有效地切换代理配置?当然,它应该在没有(或最小)整个系统的停机时间内完成 - 因此重新启动nginx不是选项.

configuration reverse-proxy nginx apache-zookeeper

19
推荐指数
2
解决办法
2万
查看次数

ZooKeeper for Java/Spring Config?

是否有任何记录良好的Apache ZooKeeper用例用于分发Java应用程序的配置,特别是Spring服务?

像许多云服务用户一样,我需要更改可变数量的Java服务的配置,最好是在运行时,而不需要重新启动服务.

UPDATE

最后,我最终写了一些东西,将ZooKeeper节点作为属性文件加载,并创建一个ResourcePropertySource并将其插入到Spring上下文中.请注意,这不会反映上下文启动后ZooKeeper节点的更改.

public class ZooKeeperPropertiesApplicationContextInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
    private static final Logger logger = LoggerFactory.getLogger(ZooKeeperPropertiesApplicationContextInitializer.class);

    private final CuratorFramework curator;
    private String projectName;
    private String projectVersion;

    public ZooKeeperPropertiesApplicationContextInitializer() throws IOException {
        logger.trace("Attempting to construct CuratorFramework instance");

        RetryPolicy retryPolicy = new ExponentialBackoffRetry(10, 100);
        curator = CuratorFrameworkFactory.newClient("zookeeper", retryPolicy);
        curator.start();
    }

    /**
     * Add a primary property source to the application context, populated from
     * a pre-existing ZooKeeper node.
     */
    @Override
    public void initialize(ConfigurableApplicationContext applicationContext) {
        logger.trace("Attempting to add …
Run Code Online (Sandbox Code Playgroud)

java service configuration spring apache-zookeeper

19
推荐指数
2
解决办法
2万
查看次数

Kafka在Kubernetes多节点上

所以我的目标是以分布式方式建立一个由几个kafka经纪人组成的集群.但我看不出让经纪人了解对方的方法.

据我所知,每个代理在其配置中需要一个单独的ID,如果我从kubernetes启动容器,我无法保证或配置?

他们还需要有相同的advertised_host?

是否有任何我需要更改的参数需要更改才能让节点相互发现?

使用脚本在Dockerfile的末尾进行这样的配置是否可行?和/或共享卷?

我目前正在尝试使用spotify/kafka-image进行此操作,该图像具有预先配置的zookeeper + kafka组合,在vanilla Kubernetes上.

apache-kafka docker google-cloud-platform kubernetes apache-zookeeper

19
推荐指数
1
解决办法
1万
查看次数

引导服务器与kafka中的zookeeper?

为什么不推荐在kafka-consumer中使用zookeeper以及为什么建议使用bootstrap服务器呢?bootstrap-server的优点是什么?

apache-kafka apache-zookeeper

19
推荐指数
2
解决办法
8448
查看次数

无法使用 zookeeper 启动 kafka (kafka.common.InconsistentClusterIdException)

在我为解决此问题所做的步骤下方:

  1. 启动 ZooKeeper
  2. 启动卡夫卡: .\bin\windows\kafka-server-start.bat .\config\server.properties

在第二步发生错误:

ERROR KafkaServer 启动期间的致命错误。准备关闭 (kafka.server.KafkaServer) kafka.common.InconsistentClusterIdException:集群 ID Reu8ClK3TTywPiNLIQIm1w 与 meta.properties 中存储的 clusterId Some(BaPSk1bCSsKFxQQ4717R6Q) 不匹配。代理正在尝试加入错误的集群。配置的zookeeper.connect 可能是错误的。 在 kafka.server.KafkaServer.startup(KafkaServer.scala:220) 在 kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:44) 在 kafka.Kafka$.main(Kafka.scala:84) 在 kafka.Kafka.main (Kafka.scala)

当我触发.\bin\windows\kafka-server-start.bat .\config\server.properties zookeeper控制台返回时:

信息 [SyncThread:0:FileTxnLog@216] - 创建新的日志文件:log.1

如何解决此问题以使 kafka 运行?

编辑您可以在此处访问正确站点(服务器故障)上的正确问题

编辑这里是答案

scala apache-kafka apache-zookeeper

19
推荐指数
4
解决办法
2万
查看次数

如何读取Zookeeper事务日志?

是否有任何现有工具可以帮助读取Zookeeper事务日志?默认情况下,它是二进制格式,我想以人类可读的形式阅读它.

apache-zookeeper

18
推荐指数
2
解决办法
8179
查看次数

删除zookeeper中的kafka使用者组

我正在使用kafka_2.9.2-0.8.1.1和zookeeper 3.4.6.

是否有可以从zookeeper中自动删除使用者组的实用程序?或者我可以删除zookeeper中/ consumers/[group_id]下的所有内容吗?如果是后者,还有什么我错过了吗?这可以用现场系统完成吗?

apache-kafka apache-zookeeper

18
推荐指数
4
解决办法
4万
查看次数

如何在zookeeper中删除非空的数据节点?

要从命令行界面删除zookeeper中的节点,可以使用delete命令.当我运行它时,它说:

Node not empty: /testNode
Run Code Online (Sandbox Code Playgroud)

我正在使用本指南.

apache-zookeeper

18
推荐指数
1
解决办法
3万
查看次数

尝试创建zNode时Apache Curator未实现的错误

我正在尝试将Apache Curator与dockerized zookeeper实例一起使用,无论我如何尝试连接,我总是最终得到一个

org.apache.zookeeper.KeeperException $ UnimplementedException:KeeperErrorCode =未实现...

错误.我已经尝试了解文档,但我没有到达任何地方.我已登录zookeeper CLI并确保端口号正确:

snerd@powerglove:~$ docker ps CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS   NAMES 31f1093495ba        compose_zookeeper   "/opt/zookeeper/bin/   3 weeks ago         Up About a minute   0.0.0.0:32770->2181/tcp,
0.0.0.0:32769->2888/tcp, 0.0.0.0:32768->3888/tcp   zookeeper
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试使用的代码:

public class App {
    public static void main( String[] args ) {
        CuratorFramework client = CuratorFrameworkFactory.newClient("0.0.0.0:32770", new RetryUntilElapsed(3000, 1000));
        client.start();

            try {
                client.create().forPath("/larry-smells/foop", "tuna?".getBytes());
            } catch (Exception e) {
                System.out.println(e.toString());
            }

    }
}
Run Code Online (Sandbox Code Playgroud)

据我所知,从策展人入门页面来看,这应该可行.我错过了什么?

edit1 刚才发现我能够将数据从动物园管理员集合中拉出来:

System.out.println(new String(curatorFramework.getData().forPath("/larry-smells"))); 
Run Code Online (Sandbox Code Playgroud)

但是create命令仍然在爆炸.

EDIT2

错误的堆栈跟踪:

org.apache.zookeeper.KeeperException $ …

apache apache-zookeeper apache-curator

18
推荐指数
1
解决办法
7531
查看次数

与策展人一起使用ACL

使用CuratorFramework,有人可以解释我怎么做:

  1. 创建一个新路径
  2. 设置此路径的数据
  3. 走这条路

使用用户名foo和密码bar?那些不知道这个用户/通行证的人将无法做任何事情.

出于此问题的目的,我不关心通过明文发送的SSL或密码.

java apache-zookeeper apache-curator

18
推荐指数
1
解决办法
1864
查看次数