Skip to content

Commit 4e13be2

Browse files
committed
2018-03-24 补充 kafka 和 zookeeper 内容
1 parent d2b14e0 commit 4e13be2

File tree

1 file changed

+35
-36
lines changed

1 file changed

+35
-36
lines changed

markdown-file/Kafka-Install-And-Settings.md

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -98,76 +98,74 @@ wurstmeister/kafka:latest
9898
## Docker 多机多实例部署
9999

100100
- 三台机子:
101-
- 内网 ip:`172.31.154.16`
102-
- 内网 ip:`172.31.154.17`
103-
- 内网 ip:`172.31.65.88`
101+
- 内网 ip:`172.31.65.89`,外网 ip:`47.75.186.22`
102+
- 内网 ip:`172.31.65.90`,外网 ip:`47.75.188.54`
103+
- 内网 ip:`172.31.65.91`,外网 ip:`47.75.41.196`
104104
- 三台机子的 hosts 都修改为如下内容:`vim /etc/hosts`
105105

106106
```
107-
172.31.154.16 youmeekhost1
108-
172.31.154.17 youmeekhost2
109-
172.31.65.88 youmeekhost3
107+
172.31.65.89 youmeekhost1
108+
172.31.65.90 youmeekhost2
109+
172.31.65.91 youmeekhost3
110110
```
111111

112112
- 开发机设置 hosts:
113113

114114
```
115-
47.75.107.100 youmeekhost1
116-
47.75.107.9 youmeekhost2
117-
47.75.107.27 youmeekhost3
115+
47.75.186.22 youmeekhost1
116+
47.75.188.54 youmeekhost2
117+
47.75.41.196 youmeekhost3
118118
```
119119

120-
- 新建 docker 网络:`docker network create kafkanetwork`
121120
- 查看当前网络列表:`docker network ls`
122-
- 查看某个网络的具体信息:`docker network inspect kafkanetwork`
121+
- 查看某个网络的具体信息:`docker network inspect host`
123122

124123
#### 各个节点部署 zookeeper:
125124

126125
- 节点 1:
127126

128127
```
129-
docker run --net=kafkanetwork -d -p 2181 \
128+
docker run --net=host -d -p 2181 \
130129
--restart=always \
131130
-v /data/docker/zookeeper/data:/data \
132131
-v /data/docker/zookeeper/log:/datalog \
133132
-e ZOO_MY_ID=1 \
134133
-e "ZOO_SERVERS=server.1=youmeekhost1:2888:3888 server.2=youmeekhost2:2888:3888 server.3=youmeekhost3:2888:3888" \
135-
--name=zookeeper1 --net=host --restart=always zookeeper:3.4
134+
--name=zookeeper1 zookeeper:3.4
136135
```
137136

138137

139138
- 节点 2:
140139

141140
```
142-
docker run --net=kafkanetwork -d -p 2181 \
141+
docker run --net=host -d -p 2181 \
143142
--restart=always \
144143
-v /data/docker/zookeeper/data:/data \
145144
-v /data/docker/zookeeper/log:/datalog \
146145
-e ZOO_MY_ID=2 \
147146
-e "ZOO_SERVERS=server.1=youmeekhost1:2888:3888 server.2=youmeekhost2:2888:3888 server.3=youmeekhost3:2888:3888" \
148-
--name=zookeeper2 --net=host --restart=always zookeeper:3.4
147+
--name=zookeeper2 zookeeper:3.4
149148
```
150149

151150

152151
- 节点 3:
153152

154153
```
155-
docker run --net=kafkanetwork -d -p 2181 \
154+
docker run --net=host -d -p 2181 \
156155
--restart=always \
157156
-v /data/docker/zookeeper/data:/data \
158157
-v /data/docker/zookeeper/log:/datalog \
159158
-e ZOO_MY_ID=3 \
160159
-e "ZOO_SERVERS=server.1=youmeekhost1:2888:3888 server.2=youmeekhost2:2888:3888 server.3=youmeekhost3:2888:3888" \
161-
--name=zookeeper3 --net=host --restart=always zookeeper:3.4
160+
--name=zookeeper3 zookeeper:3.4
162161
```
163162

164163
#### 先安装 nc 再来校验 zookeeper 集群情况
165164

166165
- 环境:CentOS 7.4
167166
- 官网下载:<https://nmap.org/download.html>,找到 rpm 包
168167
- 当前时间(201803)最新版本下载:`wget https://nmap.org/dist/ncat-7.60-1.x86_64.rpm`
169-
- 安装:`sudo rpm -i ncat-7.60-1.x86_64.rpm`
170-
- ln 下:`sudo ln -s /usr/bin/ncat /usr/bin/nc`
168+
- 安装并 ln:`sudo rpm -i ncat-7.60-1.x86_64.rpm && ln -s /usr/bin/ncat /usr/bin/nc`
171169
- 检验:`nc --version`
172170

173171
#### zookeeper 测试
@@ -231,9 +229,8 @@ Node count: 4
231229
- 节点 1 执行:
232230

233231
```
234-
docker run -d --net=kafkanetwork --name kafka1 -p 9092 \
232+
docker run -d --net=host --hostname=youmeekhost1 --name=kafka1 -p 9092 \
235233
--restart=always \
236-
--net=host \
237234
--env KAFKA_BROKER_ID=1 \
238235
--env KAFKA_ZOOKEEPER_CONNECT=youmeekhost1:2181,youmeekhost2:2181,youmeekhost3:2181 \
239236
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://youmeekhost1:9092 \
@@ -252,9 +249,8 @@ wurstmeister/kafka:latest
252249
- 节点 2 执行:
253250

254251
```
255-
docker run -d --net=kafkanetwork --name kafka2 -p 9092 \
252+
docker run -d --net=host --hostname=youmeekhost2 --name=kafka2 -p 9092 \
256253
--restart=always \
257-
--net=host \
258254
--env KAFKA_BROKER_ID=2 \
259255
--env KAFKA_ZOOKEEPER_CONNECT=youmeekhost1:2181,youmeekhost2:2181,youmeekhost3:2181 \
260256
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://youmeekhost2:9092 \
@@ -273,9 +269,8 @@ wurstmeister/kafka:latest
273269
- 节点 3 执行:
274270

275271
```
276-
docker run -d --net=kafkanetwork --name kafka3 -p 9092 \
272+
docker run -d --net=host --hostname=youmeekhost3 --name=kafka3 -p 9092 \
277273
--restart=always \
278-
--net=host \
279274
--env KAFKA_BROKER_ID=3 \
280275
--env KAFKA_ZOOKEEPER_CONNECT=youmeekhost1:2181,youmeekhost2:2181,youmeekhost3:2181 \
281276
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://youmeekhost3:9092 \
@@ -293,22 +288,26 @@ wurstmeister/kafka:latest
293288

294289
#### 测试
295290

296-
- 进入 kafka 容器:`docker exec -it kafka1 /bin/bash`
297-
- 根据官网 Dockerfile 说明,kafka home 应该是:`cd /opt/kafka`
298-
- 创建 topic 命令:`bin/kafka-topics.sh --create --zookeeper one-zookeeper:2181 --replication-factor 1 --partitions 1 --topic my-topic-test`
299-
- 查看 topic 命令:`bin/kafka-topics.sh --list --zookeeper one-zookeeper:2181`
300-
- 删除 topic:`bin/kafka-topics.sh --delete --topic my-topic-test --zookeeper one-zookeeper:2181`
301-
- 给 topic 发送消息命令:`bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic-test`,然后在出现交互输入框的时候输入你要发送的内容
302-
- 再开一个终端,进入 kafka 容器,接受消息:`bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic-test --from-beginning`
303-
- 此时发送的终端输入一个内容回车,接受消息的终端就可以收到。
304-
291+
- 在 kafka1 上测试:
292+
- 进入 kafka1 容器:`docker exec -it kafka1 /bin/bash`
293+
- 根据官网 Dockerfile 说明,kafka home 应该是:`cd /opt/kafka`
294+
- 创建 topic 命令:`bin/kafka-topics.sh --create --zookeeper youmeekhost1:2181,youmeekhost2:2181,youmeekhost3:2181 --replication-factor 3 --partitions 3 --topic my-topic-test`
295+
- 查看 topic 命令:`bin/kafka-topics.sh --list --zookeeper youmeekhost1:2181,youmeekhost2:2181,youmeekhost3:2181`
296+
- 给 topic 发送消息命令:`bin/kafka-console-producer.sh --broker-list youmeekhost1:9092 --topic my-topic-test`,然后在出现交互输入框的时候输入你要发送的内容
297+
- 在 kafka2 上测试:
298+
- 进入 kafka2 容器:`docker exec -it kafka2 /bin/bash`
299+
- 接受消息:`cd /opt/kafka && bin/kafka-console-consumer.sh --bootstrap-server youmeekhost2:9092 --topic my-topic-test --from-beginning`
300+
- 在 kafka3 上测试:
301+
- 进入 kafka3 容器:`docker exec -it kafka3 /bin/bash`
302+
- 接受消息:`cd /opt/kafka && bin/kafka-console-consumer.sh --bootstrap-server youmeekhost3:9092 --topic my-topic-test --from-beginning`
303+
- 如果 kafka1 输入的消息,kafka2 和 kafka3 能收到,则表示已经成功。
305304

306305
#### 部署 kafka-manager
307306

308307
- 节点 1:
309308

310-
docker run -d --name=kafka-manager --restart=always -p 9000:9000 -e ZK_HOSTS="youmeekhost1:2181" sheepkiller/kafka-manager:latest
311-
309+
docker run -d --name=kafka-manager --restart=always -p 9000:9000 -e ZK_HOSTS="youmeekhost1:2181,youmeekhost2:2181,youmeekhost3:2181" sheepkiller/kafka-manager:latest
310+
访问:192.168.83.153:9000
312311
----------------------------------------------------------------------------------------------
313312

314313
#### Docker 单实例 kafka

0 commit comments

Comments
 (0)