本文主要記錄,使用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...