Kafka Swarm 集群搭建

2021-10-08 09:27:22 字數 2030 閱讀 9757

本文主要記錄,使用docker swarm搭建的kafka分布式集群。

前提:四台docker swarm集群伺服器,已經建立完成,並且安裝docker 與docker compose。

直接上compose檔案,親驗可行,官方的docker compose供參考

docker info | grep ^name: | cut -d』 』 -f 2 獲取主機名,在我的容器裡面好像不能用,一直報錯,註冊zk失敗。

docker info | grep 『node address』 | cut -d』 』 -f 4 --使用獲取主機位址後就可以了。新增了kafka-manager 的服務部署。

version

:'3.2'

services

:zookeeper

:image

: wurstmeister/zookeeper

#environment:

# zoo_servers: server.0=172.126.1.22:2888:3888;2181 server.1=172.126.1.31:2888:3888;2181 server.2=172.126.1.32:2888:3888;2181 server.3=172.126.1.33:2888:3888;2181

ports:-

"2181:2181"

kafka

:image

: wurstmeister/kafka:latest

ports:-

target

:9094

published

:9094

protocol

: tcp

mode

: host

environment

:#hostname_command: "docker info | grep ^name: | cut -d' ' -f 2" 使用的主機名

hostname_command

: "docker info | grep 'node address' | cut -d' ' -f 4" #使用ip位址

kafka_zookeeper_connect

: zookeeper:

2181

kafka_listener_security_protocol_map

: inside:plaintext,outside:plaintext

kafka_advertised_listeners

: inside://:

9092

,outside://_

:9094

kafka_listeners

: inside://:

9092

,outside://:

9094

kafka_inter_broker_listener_name

: inside

kafka_create_topics

:"test:1:1"

volumes

:- /var/run/docker.sock:/var/run/docker.sock

deploy

:mode

: global

kafka-manager

:image

: sheepkiller/kafka-manager

ports:-

"9012:9000"

depends_on

:- zookeeper

environment

:- zk_hosts=zookeeper:

2181

部署方式:docker stack deploy --compose-file=kafka-docker-compose.yml tools

效果:可以看到有四個broker。

隨機關掉一台伺服器,也不影響正常使用。

redis搭建集群(偽集群)

1 建立6個資料夾 2 複製redis.conf檔案,並修改redis.conf 配置檔案 3 建立集群 4 連線客戶端 5 檢視狀態 建立 6個資料夾來存放redis.conf,因為redis集群最小需要的是,三組三從,每個資料夾代表一台伺服器,6007跟6008可忽略 先複製乙個到6001資料夾...

mongodb集群搭建

只有一台ubuntu機器,配置方案 1 3個分片sharding 2 每乙個分片由3個節點構成1主2備的replica sets 3 3個配置節點configsever 4 1個路由節點mongos shard server mongod 例項,用於儲存實際的資料塊,實際生產環境中乙個shard s...

搭建MongoDB集群

集群由以下3個服務組成 shards server 每個shard由乙個或多個mongod程序組成,用於儲存資料 config server 用於儲存集群的metadata資訊,包括每個shard的資訊和chunks資訊 route server 用於提供路由服務,由client連線,使整個clus...