ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

docker 安装 kafka集群 (SASL)

2019-07-05 15:37:31  阅读:342  来源: 互联网

标签:kafka host conf SASL docker server 2.12


docker 安装 kafka集群

1. 下载安装包

从官网或者从镜像服务站下载,本次下载的kafka版本为 2.12-2.3.0

2. 制作镜像包

  • kafka 添加jaas配置文件件
    mkdir -p $kafka_dir/.conf; vi $kafka_dir/.conf/kafka_server_jaas.conf;
    • kafka_server_jaas.conf 内容
      KafkaServer { org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-sec" user_admin="admin-sec" user_producer="prod-sec" user_consumer="cons-sec"; };
  • Dockerfile 文件编写
    FROM centos:7 MAINTAINER ozh ADD ./kafka_2.12.tgz /opt/ RUN mkdir -p /tmp/kafka-logs && \ mkdir -p /data && \ mkdir -p /conf && \ mv /opt/kafka_2.12 /kafka && \ yum install -y java-1.8.0-openjdk* ENV PATH /kafka/bin:$PATH CMD /usr/sbin/init
  • 打包
    docker build -t kafka-2.12:0.0.1 .
  • 查看镜像包 docker images |grep kafka-2.12

3. 生成集群的挂载文件

本次安装了3个节点,分别为kafka1,kafka2,kafka3

  • 目录结构
    • kafka1
      • conf
      • server.properties (配置文件)
    • tmp
      • kafka-logs (数据存储目录)
  • server.properties 内容
    roker.id=1 port=9092 num.network.threads=2 num.io.threads=8 socket.send.buffer.bytes=1048576 socket.receive.buffer.bytes=1048576 socket.request.max.bytes=104857600 log.dirs=/tmp/kafka-logs num.partitions=2 log.retention.hours=168 log.segment.bytes=536870912 log.retention.check.interval.ms=60000 log.cleaner.enable=false zookeeper.connect=zook1:2181,zook2:2181,zook3:2181 zookeeper.connection.timeout.ms=60000 #listeners=PLAINTEXT://0.0.0.0:9092 #SSL config security.inter.broker.protocol=SASL_PLAINTEXT sasl.enabled.mechanisms=PLAIN sasl.mechanism.inter.broker.protocol=PLAIN authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer allow.everyone.if.no.acl.found=true listeners=SASL_PLAINTEXT://0.0.0.0:9092
    roker.id: 服务ID,跟据服务进行调整
    zookeeper.connect :zookeeper连接池

4. 创建并启动容器

  • 为方便操作, 写了一个shell脚本来执行
    ip_addr=111; port=9092; host_port=9092; for id inseq 1 3;do docker run -d -ti \ -p ${host_port}:${port} \ -v $PWD/kafka${id}/conf:/conf \ -v $PWD/kafka${id}/tmp/kafka-logs:/tmp/kafka-logs \ --restart=always \ --add-host zook1:172.172.66.101 \ --add-host zook2:172.172.66.102 \ --add-host zook3:172.172.66.103 \ --name kafka-${id} \ --net redis-net \ --ip 172.172.66.${ip_addr} \ kafka-2.12:0.0.1 kafka-server-start_sasl.sh /conf/server.properties let ip_addr+=1; let host_port+=1; done
    –net redis-net : 这是这前在docker上创建的虚拟网络,方便内部通讯

5. 创建并启动kafka-manager

  • docker pull dockerkafka/kafka-manager
  • docker run -it -d \ --env ZK_HOSTS=zook1:2181,zook2:2181,zook3:2181 \ --restart=always \ -p 39000:9000 \ --name kafka-manager \ --net redis-net \ --ip 172.172.66.100 \ dockerkafka/kafka-manager
    登陆 host:39000添加 Clusters

标签:kafka,host,conf,SASL,docker,server,2.12
来源: https://blog.csdn.net/u011420410/article/details/94735492

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有