1.Flink
拉取镜像(自己选择版本):
docker pull flink:1.13.6-scala_2.12-java8
创建网络:
docker network create flink-network
运行 JobManager:
docker run -dit --rm --name=jobmanager --network flink-network --publish 8081:8081 --env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" flink:1.13.6-scala_2.12-java8 jobmanager
运行 TaskManager:
docker run -dit --rm --name=taskmanager --network flink-network --env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" flink:1.13.6-scala_2.12-java8 taskmanager
2.Kafka
拉取镜像:
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
启动 Zookeeper:
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
启动 Kafka:
(其中 192.168.0.102 是本机的 ip 地址,注意根据自己的情况修改)
docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.0.102 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
以下步骤需要进入到 docker 容器中:
cd /opt/kafka_2.13-2.8.1/bin
新建 topic(此处名为 clicks):
./kafka-topics.sh --create --zookeeper 192.168.0.102:2181 --replication-factor 1 --partitions 1 --topic clicks
生产消息:
./kafka-console-producer.sh --broker-list 192.168.0.102:9092 --topic clicks
打开另一个窗口,同样进入 docker 容器中的 /opt/kafka_2.13-2.8.1/bin:
消费消息:
./kafka-console-consumer.sh --bootstrap-server 192.168.0.102:9092 --topic clicks --from-beginning