linux语言yhq,linux通过docker安装kafka

1、安装docker

2、拉取kafka和zk的镜像

docker pull wurstmeister/kafka

docker pull zookeeper:3.5.7

3、创建通信网络

docker network create kafkanet

4、创建kafka和zk容器

4.1 创建zk容器

docker run --net=kafkanet --name yhq_zookeeper1 -p 21810:2181 -d zookeeper:3.5.7

4.2 查看zk的网络

docker inspect yhq_zookeeper1

4.3 创建kafka容器

docker run --net=kafkanet --name yhq_kafka1 -p 9093:9092 \

--link yhq_zookeeper1 \

-e KAFKA_ZOOKEEPER_CONNECT=172.20.0.2:2181 \

-e KAFKA_ADVERTISED_HOST_NAME=192.168.146.190 \

-e KAFKA_ADVERTISED_PORT=9092 \

-d wurstmeister/kafka

KAFKA_ADVERTISED_HOST_NAME 参数需要设置为宿主机地址192.168.146.190。

KAFKA_ZOOKEEPER_CONNECT 参数设置hbl-zookeeper容器内部地址和端口(同一宿主机内的容器互相访问要用容器内地址,查看指令为docker inspect hbl_zookeeper,在Networks字段可以看到容器内ip地址)。

4.4 查看通信网络,zk和kafka容器都加入到网络中

dc9c525f496c82a6e3178e48ef383895.png

4.5  电脑连接虚拟机上的docker,添加路由:

route add 172.20.0.0 mask 255.255.0.0 192.168.146.190

5、kafka容器操作

docker exec -it 7cd bash #kafka容器ip以7cd开头,可以通过docker ps命令查看容器

进入到kafka容器后,查看opt/kafka_2.12-2.4.1/config/server.properties和zookeeper.properties ,可以看到已经配置好zk等相关配置

2222f1efe4151aba9f2e860078a63831359.jpg

2cdff8239ed3664a8e218d7412748e65b0e.jpg

broker.id=-1############################# Zookeeper #############################

# Zookeeper connectionstring (see zookeeper docs fordetails).

# Thisisa comma separated host:port pairs, each corresponding to a zk

# server. e.g."127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".

# You can also append an optional chrootstringto the urls to specify the

# root directoryforall kafka znodes.

zookeeper.connect=172.20.0.2:2181# Timeoutin ms forconnecting to zookeeper

zookeeper.connection.timeout.ms=6000############################# Group Coordinator Settings #############################

expensive, rebalances during application startup.

group.initial.rebalance.delay.ms=0advertised.port=9092advertised.host.name=192.168.146.190port=9092

server.properties

2482e7122224326e72599b8268bb053c774.jpg

2f6bd4f076a6262c6d0ef1dd7125566f2a3.jpg

dataDir=/tmp/zookeeper #zookeeper数据目录

# the port at which the clients will connect

clientPort=2181# disable the per-ip limit on the number of connections since this is a non-production config

maxClientCnxns=0# Disable the adminserver bydefaultto avoid port conflicts.

# Set the port to something non-conflicting if choosing to enable thisadmin.enableServer=false# admin.serverPort=8080bash-4.4#

zookeeper.properties

kafka 查看当前的topic列表

kafka-topics.sh --list --zookeeper 172.20.0.2:2181

创建一个topic

kafka-topics.sh --create --zookeeper 172.20.0.2:2181 --replication-factor 1 --partitions 1 --topic createtopic1

6、zookeeper容器操作

同样的方式,进入到zookeeper容器

容器创建时,zookeeper已经启动成功,我们在kafka执行操纵后,查看kafka在zookeeper中节点信息

zkCli.sh

82c5283e92640f0b357b54c666edddb3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值