基于Docker搭建单机版kafka、rabbitmq
基于Docker搭建单机版kafka、rabbitmq
1.安装单机版kafka
环境:
centos7.5
Docker version 20.10.12, build e91ed57
**zk默认端口:2181 **
kafka默认端口:9092
拉取zookeeper并运行
#拉去zookeeper镜像
docker pull wurstmeister/zookeeper
#运行zookeeper容器
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
拉取kafka镜像并运行
#拉去kafka镜像
docker pull wurstmeister/kafka
#运行kakfa进行
docker run -d --name kafka -p 9092:9092 --link zookeeper -e KAFKA_ZOOKEEPER_CONNECT=你的ip:2181 -e KAFKA_ADVERTISED_HOST_NAME=你的ip -e KAFKA_ADVERTISED_PORT=9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka
-
命令配置
KAFKA_ZOOKEEPER_CONNECT :指定 zookeeper 的 “地址:端口”,请更换自己的ip和端口;
KAFKA_ADVERTISED_HOST_NAME:kafka 安装机器ip;
-
注意
启动kafka后,如果连接不上zookeeper,提示
****Socket error occurred: xxx.xxx.x.xxx:2181: Host is unreachable (org.apache.zookeeper.ClientCnxn) -
防火墙放行2181端口,命令(CentOS 7):**
firewall-cmd --add-port=2181/tcp --permanent
**systemctl restart firewalld9092端口可能也需要加入防火墙策略,具体根据日志提示
****(我遇到的情况:telnet 2181是通的,但还是要加防火墙策略才能正常启动kafka)
2.安装单机版rabbitmq
docker pull rabbitmq:management
docker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
3.安装单机版redis
docker run -itd --name (启动容器的名称) -p 映射端口:redis启动端口 redis --requirepass “启动密码”
docker run -itd --name my_redis -p 7000:6379 redis --requirepass "password"