Skip to content

Commit d2b14e0

Browse files
committed
2018-03-21 补充 kafka 相关
1 parent 932e43b commit d2b14e0

File tree

1 file changed

+71
-24
lines changed

1 file changed

+71
-24
lines changed

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

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

100100
- 三台机子:
101-
- 内网 ip:`172.18.218.98`
102-
- 内网 ip:`172.18.218.99`
103-
- 内网 ip:`172.18.218.100
101+
- 内网 ip:`172.31.154.16`
102+
- 内网 ip:`172.31.154.17`
103+
- 内网 ip:`172.31.65.88`
104104
- 三台机子的 hosts 都修改为如下内容:`vim /etc/hosts`
105105

106106
```
107-
172.18.218.98 youmeekhost1
108-
172.18.218.99 youmeekhost2
109-
172.18.218.100 youmeekhost3
107+
172.31.154.16 youmeekhost1
108+
172.31.154.17 youmeekhost2
109+
172.31.65.88 youmeekhost3
110110
```
111111

112112
- 开发机设置 hosts:
113113

114114
```
115-
47.106.78.154 youmeekhost1
116-
47.106.72.69 youmeekhost2
117-
47.106.76.16 youmeekhost3
115+
47.75.107.100 youmeekhost1
116+
47.75.107.9 youmeekhost2
117+
47.75.107.27 youmeekhost3
118118
```
119119

120+
- 新建 docker 网络:`docker network create kafkanetwork`
121+
- 查看当前网络列表:`docker network ls`
122+
- 查看某个网络的具体信息:`docker network inspect kafkanetwork`
123+
120124
#### 各个节点部署 zookeeper:
121125

122126
- 节点 1:
123127

124128
```
125-
docker run -d \
129+
docker run --net=kafkanetwork -d -p 2181 \
126130
--restart=always \
127131
-v /data/docker/zookeeper/data:/data \
128132
-v /data/docker/zookeeper/log:/datalog \
@@ -135,7 +139,7 @@ docker run -d \
135139
- 节点 2:
136140

137141
```
138-
docker run -d \
142+
docker run --net=kafkanetwork -d -p 2181 \
139143
--restart=always \
140144
-v /data/docker/zookeeper/data:/data \
141145
-v /data/docker/zookeeper/log:/datalog \
@@ -148,7 +152,7 @@ docker run -d \
148152
- 节点 3:
149153

150154
```
151-
docker run -d \
155+
docker run --net=kafkanetwork -d -p 2181 \
152156
--restart=always \
153157
-v /data/docker/zookeeper/data:/data \
154158
-v /data/docker/zookeeper/log:/datalog \
@@ -168,23 +172,57 @@ docker run -d \
168172

169173
#### zookeeper 测试
170174

171-
- 各节点执行命令`echo stat | nc youmeekhost1 2181`,能得到如下信息:
175+
- 节点 1 执行命令`echo stat | nc youmeekhost1 2181`,能得到如下信息:
172176

173177
```
174178
Zookeeper version: 3.4.11-37e277162d567b55a07d1755f0b31c32e93c01a0, built on 11/01/2017 18:06 GMT
175179
Clients:
176-
/172.21.0.1:33344[0](queued=0,recved=1,sent=0)
180+
/172.31.154.16:35336[0](queued=0,recved=1,sent=0)
177181
178182
Latency min/avg/max: 0/0/0
179183
Received: 1
180184
Sent: 0
181185
Connections: 1
182186
Outstanding: 0
183-
Zxid: 0x500000000
187+
Zxid: 0x0
188+
Mode: follower
189+
Node count: 4
190+
```
191+
192+
- 节点 2 执行命令:`echo stat | nc youmeekhost2 2181`,能得到如下信息:
193+
194+
```
195+
Zookeeper version: 3.4.11-37e277162d567b55a07d1755f0b31c32e93c01a0, built on 11/01/2017 18:06 GMT
196+
Clients:
197+
/172.31.154.17:55236[0](queued=0,recved=1,sent=0)
198+
199+
Latency min/avg/max: 0/0/0
200+
Received: 1
201+
Sent: 0
202+
Connections: 1
203+
Outstanding: 0
204+
Zxid: 0x100000000
184205
Mode: leader
185206
Node count: 4
186207
```
187208

209+
- 节点 3 执行命令:`echo stat | nc youmeekhost3 2181`,能得到如下信息:
210+
211+
```
212+
Zookeeper version: 3.4.11-37e277162d567b55a07d1755f0b31c32e93c01a0, built on 11/01/2017 18:06 GMT
213+
Clients:
214+
/172.31.65.88:41840[0](queued=0,recved=1,sent=0)
215+
216+
Latency min/avg/max: 0/0/0
217+
Received: 1
218+
Sent: 0
219+
Connections: 1
220+
Outstanding: 0
221+
Zxid: 0x100000000
222+
Mode: follower
223+
Node count: 4
224+
```
225+
188226

189227
#### 部署 Kafka 1.0.1
190228

@@ -193,12 +231,11 @@ Node count: 4
193231
- 节点 1 执行:
194232

195233
```
196-
docker run -d --name kafka1 -p 9092:9092 \
234+
docker run -d --net=kafkanetwork --name kafka1 -p 9092 \
197235
--restart=always \
198236
--net=host \
199-
--link zookeeper1 \
200237
--env KAFKA_BROKER_ID=1 \
201-
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper1:2181 \
238+
--env KAFKA_ZOOKEEPER_CONNECT=youmeekhost1:2181,youmeekhost2:2181,youmeekhost3:2181 \
202239
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://youmeekhost1:9092 \
203240
--env KAFKA_LOG_DIRS=/data/docker/kafka/logs \
204241
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
@@ -215,12 +252,11 @@ wurstmeister/kafka:latest
215252
- 节点 2 执行:
216253

217254
```
218-
docker run -d --name kafka2 -p 9092:9092 \
255+
docker run -d --net=kafkanetwork --name kafka2 -p 9092 \
219256
--restart=always \
220257
--net=host \
221-
--link zookeeper2 \
222258
--env KAFKA_BROKER_ID=2 \
223-
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper2:2181 \
259+
--env KAFKA_ZOOKEEPER_CONNECT=youmeekhost1:2181,youmeekhost2:2181,youmeekhost3:2181 \
224260
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://youmeekhost2:9092 \
225261
--env KAFKA_LOG_DIRS=/data/docker/kafka/logs \
226262
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
@@ -237,12 +273,11 @@ wurstmeister/kafka:latest
237273
- 节点 3 执行:
238274

239275
```
240-
docker run -d --name kafka3 -p 9092:9092 \
276+
docker run -d --net=kafkanetwork --name kafka3 -p 9092 \
241277
--restart=always \
242278
--net=host \
243-
--link zookeeper3 \
244279
--env KAFKA_BROKER_ID=3 \
245-
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper3:2181 \
280+
--env KAFKA_ZOOKEEPER_CONNECT=youmeekhost1:2181,youmeekhost2:2181,youmeekhost3:2181 \
246281
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://youmeekhost3:9092 \
247282
--env KAFKA_LOG_DIRS=/data/docker/kafka/logs \
248283
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
@@ -256,6 +291,18 @@ docker run -d --name kafka3 -p 9092:9092 \
256291
wurstmeister/kafka:latest
257292
```
258293

294+
#### 测试
295+
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+
305+
259306
#### 部署 kafka-manager
260307

261308
- 节点 1:

0 commit comments

Comments
 (0)