zk及kafka集群搭建

一、zk集群搭建

  • 机器数量:奇数个(最少3台)
  • zk及kafka依赖于java环境  centOs yum 安装命令    yum -y install java-1.8.0-openjdk*
  • zk配置

dataDir=/aaa/zookeeper
clientPort=2181
maxClientCnxns=0
initLimit=5
syncLimit=2
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

  •   zookeeper.properites
      myid 配置   
    在dataDir下要有一个名为myid的文件 文件中有设置的zookeeperid,每台zk服务器都有唯一标识 配置在server .后面

    在使用安全连接(SASL_PLAINTEXT)下需要配置kafka_zoo_jaas.conf 配置server和client
    Server {
     org.apache.kafka.common.security.plain.PlainLoginModule required
     username="aaa"
     password="aaaaa"
     user_admin="aaaaa";
    };
     
    Client {
     org.apache.kafka.common.security.plain.PlainLoginModule required
     username="aaa"
     password="aaaaa";
    };

    同时,在zk的启动脚本中将安全验证指向这个文件


    最后使用启动命令,进行后台启动
     

    bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

二、kafka 集群搭建

  • 机器数量:奇数个,双数个,可留出一台做访问转发(可不暴露真实的kafka IP)
  • server.properties

broker.id=1              唯一id值区分broker

delete.topic.enable=true
auto.create.topics.enable=false
listeners=SASL_PLAINTEXT://kafka1:9092本地ip或域名 kafka地址
advertised.listeners=SASL_PLAINTEXT://kafkaaa-1:19092本地映射到的域名  不使用映射的话,直接配置和上方相同就可以
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
authorizer.class.name = kafka.security.auth.SimpleAclAuthorizer
allow.everyone.if.no.acl.found=true
super.users=User:aaa
log.dirs=/data/kafka-logs
num.partitions=1
default.replication.factor=3 
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=3
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181                 zookeeper 集群地址
group.initial.rebalance.delay.ms=0
fetch.purgatory.purge.interval.requests: 100
producer.purgatory.purge.interval.requests: 100 

  • 配置kafka_server_jaas.conf 可配置多用户,方法同上kafka_zoo_jaas.conf
  • 配置kafka_client_jaas.conf 

   

Client {
 org.apache.kafka.common.security.plain.PlainLoginModule required
 username="aaa"
 password="aaaaa";
};

 同时也在kafka的启动脚本中指向该验证文件

启动命令    

bin/kafka-server-start.sh -daemon config/server.properties

你可能感兴趣的:(kafka,zookeeper)