Tag: apache zookeeper

docker – 组成networking/端口处理

我有两个组件: hbas和ookeeper作为单个容器和hbase-printer(我的java代码)在我的主机。 我的目标是打印一些hbase表的内容。 问题是,连接到2181(动物园pipe理员端口)成功,但看起来像我正在指向端随机端口进行通信,这个端口是不公开的。 我正在使用docker-compose.yml : version: '2' services: hbase: image: dy1-dockerv2-local.jfrog.io/hbase:latest restart: always hostname: hbase-docker ports: – "60010:60010" – "60000:60000" – "60020:60020" – "60030:60030" – "9095:9095" – "8085:8085" – "8080:8080" – "2181:2181" – "9091:9091" – "9090:9090" expose: – "9091" – "2181" volumes: – ./data/hbase:/data – ./logs/hbase/:/opt/hbase/logs network_mode: "bridge" 在我的Java日志中,我得到: 23-02-2017 09:29:54,413 INFO [ClientCnxn]: [main-SendThread(localhost:2181)] […]

更改zookeeper泊坞窗图像的configuration

我用这个zookeeper泊坞窗图片: https : //hub.docker.com/_/zookeeper/,但我有这个错误: WARN org.apache.zookeeper.server.NIOServerCnxn: Too many connections from /127.0.0.1 – max is 60 我怎样才能改变zoo.cfg的configuration? 设置maxClientCnxns=0似乎解决了这个问题 我尝试将configuration目录挂载为一个卷,然后更改该文件,但行为是相同的。 谢谢!

无法连接到在Vagrant上运行的HBase(Zookeeper)

我有一个简单的stream浪汉机器,在HBase上有一个独立的实例。 当我启动hbase时,我可以访问hbase信息URL http://192.168.99.101:16010/master-status 。 但是当我尝试通过java连接时,我无法连接到Zookeeper。 stream浪文件 Vagrant.configure("2") do |config| config.vm.box = "hbase-phoenix" # A simple HBase phoenix box config.vm.box_check_update = false config.vbguest.auto_update = false config.vm.define "hbase_pnx" do |hbase_pnx| hbase_pnx.vm.hostname = "hbasepnx" hbase_pnx.vm.network "private_network", ip: "192.168.99.101" hbase_pnx.vm.network "forwarded_port", guest: 2181, host: 2181 hbase_pnx.vm.network "forwarded_port", guest: 16010, host: 16010 end end VM上的主机文件看起来像 vagrant@hbasepnx:~$ cat /etc/hosts 192.168.99.101 hbasepmx […]

如何在docker群模式下执行动物园pipe理员健康检查?

我们有一个有3个节点的docker群集群。 我们在swarm中部署的一个组件具有本地群集function,并依靠zookeeper进行群集协调和领导者select。 所以我们在swarm中configuration了zookeeper(下面的configuration)(把每个zookeeper实例固定到一个特定的节点上,并且使用swarm overlaynetworking服务发现来让它们find对方)。 这个设置工作正常。 在我们的testing环境中(没有swarm /高可用性),我们使用zookeeper独立模式,并且可以很容易地执行健康检查 然而,在群集中,我无法使这些健康检查工作,因为所有动物园pipe理员都以复制模式运行,并且需要完全启动并运行,然后才能通过服务发现彼此parsing(zookeeper1 / zookeeper2和zookeeper3主机名) 。 如果没有健康检查,最终所有3个实例都会启动并运行,find对方并达成一致。 因为每个动物园pipe理员都无法find其他的2(zookeeper1永远不能解决zookeeper2 / 3,zookeeper2永远不能解决zookeeper1 / 3,….) 在这种情况下是否可以进行健康检查,这是部署动物园pipe理员的正确方法 version: '3' services: zookeeper1: image: zookeeper user: root networks: – cnet environment: – ZOO_MY_ID=1 – ZOO_SERVERS=server.1=0.0.0.0:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888 # healthcheck: # test: ["CMD", "/bin/zkServer.sh","status"] deploy: mode: replicated replicas: 1 placement: constraints: [node.hostname == centos-a] zookeeper2: image: zookeeper […]

卡夫卡生产者configuration和docker工人

我对卡夫卡有个疑问: 我正在使用Docker运行Kafka以下configuration kafka: image: wurstmeister/kafka ports: – "9092:9092" links: – zookeeper:zk environment: KAFKA_CREATE_TOPICS: "mytopic:1:1" KAFKA_ADVERTISED_HOST_NAME: ${DOCKER_HOST_IP} KAFKA_ADVERTISED_PORT: "9092" KAFKA_ZOOKEEPER_CONNECT: "zk:2181" volumes: – /var/run/docker.sock:/var/run/docker.sock 所以我只是创build一个运行在9092端口的实例。 我的问题是:据我所知,当扩展时,卡夫卡的其他实例在不同的端口上运行,但我的制片人仍然在端口9092运行..我假设这样,如果第一个实例确定卡夫卡由于某种原因死亡,因为KafkaProducer刚刚在9092上运行,所以我无法生成消息: self.producer = KafkaProducer(bootstrap_servers='kafka:9092',api_version=(0,10)) 我怎么解决这个问题? TKS 普利斯科

离线openshift安装Zookeeper

我有一个在3 Centos 7 vm上离线运行的Openshift Origin群集。 它工作正常,我有一个registry,我推我的图像是这样的: docker login -u <username> -e <any_email_address> -p <token_value> <registry_ip>:<port> login成功,然后: oc tag <image-id> <docker-registry-IP>:<port>/<project-name>/<image> 所以,对于nginx来说,例如: oc tag 49011ce3b713 172.30.222.111:5000/test/nginx 然后我把它推到内部registry中: docker push 172.30.222.111:5000/test/nginx 最后: oc new-app nginx –name="nginx" 用nginx,一切正常,现在我的问题是: 实际上我想把Zookeeper放在它上面,所以:我做了和上面相同的步骤,我也安装了Zookeeper依赖的“jboss / base-jdk:7”,问题是: docker push 172.30.222.111:5000/test/jboss/base-jdk:7 给: [root@master 994089]# docker push 172.30.222.111:5000/test/jboss/base-jdk:7 The push refers to a repository [172.30.222.111:5000/test/jboss/base-jdk] c4c6a9114a05: […]

Docker动物园pipe理员忘记了创build的kafka主题

给下面的docker – 组成yml,我不断遇到动物园pipe理员忘记创build主题的问题。 我可以停止并重新启动zookeeper容器,也可以重新启动kafka容器。 运行docker-compose时出现问题。 重新启动后,我看到kafka正确地重新打开/ data目录中的主题,但在调用describe主题函数后,我得到一个空列表,就好像它不存在一样。 我究竟做错了什么? 我运行命令来创build主题: unset JMX_PORT kafka-topics.sh –create –topic users –replication-factor 1 –partitions 2 –zookeeper zk:2181 检查是否创build了两个分区: kafka-topics.sh –topic users –describe –zookeeper=zk:2181 这是docker-compose文件,但是对我来说好像… version: '2' volumes: kafka-data: external: true kafka-zk: external: true services: zookeeper: image: zookeeper:3.4 volumes: – kafka-zk:/data kafka: image: ches/kafka environment: KAFKA_ADVERTISED_HOST_NAME: '127.0.0.1' KAFKA_BROKER_ID: '0' ZOOKEEPER_CONNECTION_STRING: zk:2181 ports: […]

有没有办法从使用kafkacat在Docker容器中运行的kafka节点读取消息?

我有下面的docker撰写文件,运行kafka,zookeper和我的消息发布Web服务: version: '2' services: zookeeper: image: zookeeper ports: – "2181:2181" volumes: – ./zookeeper.properties:/conf/zoo.cfg kafkanode: build: context: . dockerfile: Dockerfile.kafkanode ports: – "9092:9092" volumes: – ./server.properties:/server.properties publisher: build: context: .. dockerfile: Dockerfile.publisher ports: – "8080:8080" Zookeeper镜像是从docker hub(library / zookeeper)获得的,zookeper.properties是这样的: dataDir=/tmp/zookeeper clientPort=2181 maxClientCnxns=0 我自己捆绑kafkanode图像,Dockerfile看起来像这样: from java RUN wget http://www-us.apache.org/dist/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz && \ tar -xzf kafka_2.11-0.11.0.0.tgz && \ rm […]

为什么我不能访问基于Docker的zookeeper端口

在OS X上,我成功启动了kafka docker镜像,但似乎无法在本地主机上访问它 ➜ ~ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1f931da3d661 wurstmeister/zookeeper:3.4.6 "/bin/sh -c '/usr/…" About an hour ago Up About an hour 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp docker_zookeeper_1 8bc36bcf8fdf wurstmeister/kafka:0.10.1.1 "start-kafka.sh" About an hour ago Up About an hour 0.0.0.0:9092->9092/tcp docker_kafka_1 ➜ ~ telnet 0.0.0.0:2181 0.0.0.0:2181: nodename nor servname […]

是否有可能使用卡夫卡与docker组成一个单一的主机,而不暴露动物园pipe理员和卡夫卡端口到公共互联网?

我有一个docker-compose.yml文件,看起来像这样: version: '3' services: zookeeper: container_name: zookeeper image: wurstmeister/zookeeper ports: – "2181:2181" networks: – privatenetwork kafka: depends_on: – zookeeper container_name: kafka image: wurstmeister/kafka ports: – "9092:9029" environment: – KAFKA_ADVERTISED_HOST_NAME=${HOST_IP} – KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 volumes: – /var/run/docker.sock:/var/run/docker.sock 我想避免使用“expose”configuration属性转发kafka和zookeeper端口到主机,以便我的docker-compose文件如下所示: version: '3' services: zookeeper: container_name: zookeeper image: wurstmeister/zookeeper expose: – "2181" networks: – privatenetwork kafka: depends_on: – zookeeper container_name: kafka […]