1. 下载安装包
mkdir -p /root/docker/kafka-eagle/software && cd /root/docker/kafka-eagle/software
wget https://github.com/smartloli/kafka-eagle-bin/archive/v1.4.7.tar.gz
2. 准备工作
1. 配置文件准备
mkdir -p /root/docker/kafka-eagle/config/
rm -rf /root/docker/kafka-eagle/config/system-config.properties
vi /root/docker/kafka-eagle/config/system-config.properties
内容如下:
######################################
# multi zookeeper & kafka cluster list
######################################
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=10.8.0.125:2181,10.8.0.125:2182,10.8.0.125:2183/kafka
######################################
# broker size online list
######################################
cluster1.kafka.eagle.broker.size=20
######################################
# zk client thread limit
######################################
kafka.zk.limit.size=25
######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048
######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka
######################################
# kafka metrics, 15 days by default
######################################
kafka.eagle.metrics.charts=true
kafka.eagle.metrics.retain=15
######################################
# kafka sql topic records max
######################################
kafka.eagle.sql.topic.records.max=5000
kafka.eagle.sql.fix.error=true
######################################
# delete kafka topic token
######################################
kafka.eagle.topic.token=admin
######################################
# kafka sasl authenticate
######################################
cluster1.kafka.eagle.sasl.enable=false
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=PLAIN
######################################
# kafka sqlite jdbc driver address
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://172.16.0.6:3306/eagledb?createDatabaseIfNotExist=true&useSSL=false
kafka.eagle.username=root
kafka.eagle.password=root
2. 容器启动脚本
rm -rf /root/docker/kafka-eagle/entrypoint.sh
vi /root/docker/kafka-eagle/entrypoint.sh
内容如下:
#!/usr/bin/env bash
/opt/kafka-eagle/bin/ke.sh start
tail -f /opt/kafka-eagle/kms/logs/catalina.out
3. 编写Dockfile
rm -rf /root/docker/kafka-eagle/Dockerfile
vi /root/docker/kafka-eagle/Dockerfile
内容如下:
FROM java:8-alpine
ARG KAFKA_ZOOKEEPER_HOSTS
ENV KE_HOME=/opt/kafka-eagle
ENV KAFKA_ZOOKEEPER_HOSTS=$KAFKA_ZOOKEEPER_HOSTS
ENV EAGLE_VERSION=1.4.7
WORKDIR /opt/kafka-eagle
ADD config/system-config.properties /tmp
ADD entrypoint.sh /usr/bin
COPY software/v${EAGLE_VERSION}.tar.gz /opt/
RUN apk --update add gettext tar bash
RUN mkdir -p /opt/kafka-eagle/conf;cd /opt && \
tar zxvf v${EAGLE_VERSION}.tar.gz -C /opt/kafka-eagle --strip-components 1 && \
cd kafka-eagle;tar zxvf kafka-eagle-web-${EAGLE_VERSION}-bin.tar.gz --strip-components 1 && \
rm -rf kafka-eagle-web-${EAGLE_VERSION}-bin.tar.gz && \
envsubst '$KAFKA_ZOOKEEPER_HOSTS' < "/tmp/system-config.properties" > "/opt/kafka-eagle/conf/system-config.properties" && \
chmod +x /opt/kafka-eagle/bin/ke.sh && \
chmod +x /usr/bin/entrypoint.sh
EXPOSE 8048 8080
ENTRYPOINT ["entrypoint.sh"]
4. 构建镜像
cd /root/docker/kafka-eagle
sudo docker build -t="polaris/kafka-eagle:v1.4.7" .
# 镜像大小:309MB
sudo docker images | grep polaris/kafka-eagle
sudo docker rmi polaris/kafka-eagle:v1.4.7
5. 容器操作
容器启动
sudo docker run -itd --name kafka-eagle --net bigdata -p 58048:8048 polaris/kafka-eagle:v1.4.7
基本操作 ```bash sudo docker ps -a |grep kafka-eagle
查看端口暴露情况
sudo docker inspect kafka-eagle| grep IPAddress
sudo docker port kafka-eagle
sudo iptables -t nat -nvL —line-number| grep
容器操作
sudo docker start kafka-eagle sudo docker restart kafka-eagle sudo docker stop kafka-eagle sudo docker rm kafka-eagle
<a name="fYckM"></a>
# 验证
```bash
sudo docker exec -it kafka-eagle bash
sudo docker exec -it kafka-eagle /opt/kafka-eagle/bin/ke.sh stop
sudo docker exec -it kafka-eagle /opt/kafka-eagle/bin/ke.sh start
sudo docker logs kafka-eagle
sudo docker logs -f kafka-eagle
curl http://ltsr003:58048/ke
Web UI:http://ltsr003:58048/ke (admin/123456)