kafka和es容器部署

原因是研发有个需求

Kafka和es容器环境搭建

容器使用的软件相关版本

软件 版本 端口映射
es 6.2.2 9200:9200,9300:9300
zk 3.4.6 2181:2181
kafka 2.2.0 9092:9092

es

1.镜像拉取

docker pull docker.elastic.co/elasticsearch/elasticsearch:6.2.2
docker tag docker.elastic.co/elasticsearch/elasticsearch:6.2.2 elasticsearch:6.2.2

2.将配置文件复制到本地

#启动容器
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.2.2
#将配置文件复制到本地
docker cp es:/usr/share/elasticsearch/config .
#进入容器终端
docker exec -it es /bin/bash
映射目录
/mydata/elasticsearch/config | data | logs

容器中配置文件目录,数据目录,日志目录

配置文件目录

/usr/share/elasticsearch/config/

数据目录

/usr/share/elasticsearch/data/

日志目录

/usr/share/elasticsearch/logs/

3.挂载数据卷启动

docker run --name es -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-v /mydata/elasticsearch/config/:/usr/share/elasticsearch/config \
-v /mydata/elasticsearch/data/:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/logs/:/usr/share/elasticsearch/logs \
-d elasticsearch:6.2.2

4.设置容器使用内存大小

-m 选项限制容器使用的内存上限为4G。同时设置 memory-swap 值为 -1,它表示容器程序以使用的 swap 空间使用不受限制\

docker run --name es -p 9200:9200 -p 9300:9300 \
-m 4G --memory-swap -1 \
-e "discovery.type=single-node" \
-v /mydata/elasticsearch/config/:/usr/share/elasticsearch/config \
-v /mydata/elasticsearch/data/:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/logs/:/usr/share/elasticsearch/logs \
-d elasticsearch:6.2.2
#查看限制
docker stats es
内存占用约为1.5个G

kafka

1.镜像拉取

#zk镜像拉取
docker pull wurstmeister/zookeeper:3.4.6
docker tag wurstmeister/zookeeper:3.4.6 zookeeper:3.4.6
#kafka镜像拉取
docker pull wurstmeister/kafka:2.12-2.2.0
docker tag wurstmeister/kafka:2.12-2.2.0 kafka:2.12-2.2.0

2.将kafka拷贝到本地

#运行zk容器
docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.6
#运行kafka容器
docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=192.168.1.96:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.1.96 --env KAFKA_ADVERTISED_PORT=9092 --env KAFKA_LOG_DIRS=/kafka/kafka-logs-1 kafka:2.12-2.20
#将其拷贝到本地做数据卷共享,否则容器不会正常运行
mkdir /mydata/kafka/
cd /mydata/kafka/
docker cp kafka:/opt/kafka/ .
#创建数据目录
mkdir data

容器中kafka软件安装目录

/opt/kafka

数据目录

/kafak

3.运行zk和kafka

#运行zk
docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.6
#运行kafka
docker run -d --name kafka --publish 9092:9092 \
--link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=192.168.1.96:2181 \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.1.96 \
--env KAFKA_ADVERTISED_PORT=9092 \
--env KAFKA_LOG_DIRS=/kafka/kafka-logs \
-v /mydata/kafka/kafka/:/opt/kafka \
-v /mydata/kafka/data/:/kafka kafka:2.12-2.2.0

可进入容器进行生产消费操作

docker exec -it kafka /bin/bash
posted @   VE02  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示