首页 > 技术文章 > kafka搭建 一、单机版

yclh 2021-04-29 17:42 原文

系列导航

一、kafka搭建-单机版

二、kafka搭建-集群搭建

三、kafka集群增加密码验证

四、kafka集群权限增加ACL

五、kafka集群__consumer_offsets副本数修改

六、java操作kafka(没有密码验证)

七、java操作kafka(有密码验证)

    kafka使用一段时间了,非常不错的一个软件,支持高并发、高可用,如下从简单到复杂先从搭建一个简单的开始。复杂的后面继续更新,敬请期待。

相关包
 1、jdk1.8:jdk-8u211-linux-x64.tar
 2、zookeeper:zookeeper-3.4.14.tar
 3、kafka2.11:kafka_2.11-2.1.1.tgz

(一)安装jdk1.8
         1)解压安装包
              tar -xvf jdk-8u211-linux-x64.tar
                                     
        (2)移动到安装目录
              mv jdk1.8.0_211  /usr/local

        (3)设置环境变量
            vi  /etc/profile
 
            export JAVA_HOME=/usr/local/jdk1.8.0_211
            export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
            export PATH=$JAVA_HOME/bin:$PATH

            source /etc/profile //让配置生效
            
        (4)测试是否安装成功
    
            echo $JAVA_HOME
            echo $PATH
            echo $CLASSPATH
            java -version 查看版本

(二)安装zookeeper
        1、创建目录
            mkdir /opt/zookeeper   #项目目录
            mkdir /opt/zookeeper/zkdata      #存放快照日志
            mkdir /opt/zookeeper/zkdatalog   #存放事物日志
 
            将zookeeper-3.4.14.tar放到/opt/zookeeper/目录下
            cp zookeeper-3.4.14.tar /opt/zookeeper/
            
            tar  -xvf zookeeper-3.4.14.tar
            
        2、修改配置信息
           cd /opt/zookeeper/zookeeper-3.4.14/conf        
           cp zoo_sample.cfg  zoo.cfg
           vi zoo.cfg
           
            tickTime=2000
            initLimit=10
            syncLimit=5
            dataDir=/opt/zookeeper/zkdata
            dataLogDir=/opt/zookeeper/zkdatalog
            clientPort=12181
            server.1=192.168.1.100:12888:13888
            
        3、创建myid文件    
            #server1
            echo "1" > /opt/zookeeper/zkdata/myid   
           
           
         4、启动服务并查看   
            cd /opt/zookeeper/zookeeper-3.4.14/bin
            #启动服务
            ./zkServer.sh start
            #检查服务器状态
            ./zkServer.sh status
                ZooKeeper JMX enabled by default
                Using config: /opt/zookeeper/zookeeper-3.4.14/bin/../conf/zoo.cfg
                Mode: follower   #他是否为领导
                
            可以用“jps”查看zk的进程,这个是zk的整个工程的main
            #执行命令jps
                [root@zhu bin]# jps
                27813 QuorumPeerMain
                27909 Jps      
     

(三)kafka集群  
        1、创建目录
           mkdir -p /opt/kafka/kafkalogs
        
        2、解压安装包
           cd /opt/kafka
           tar -zxvf kafka_2.11-2.1.1.tgz    

        3、修改配置文件
           cd /opt/kafka/kafka_2.11-2.1.1/config
           vi     server.properties  #根据正式库的配置修改该文件
           #添加如下内容 注意不同机器的ip不同
            #192.168.1.100主机
            broker.id=110
            listeners=PLAINTEXT://192.168.1.100:9092
            port=9092
            advertised.listeners=PLAINTEXT://192.168.1.100:9092
            advertised.port=9092
            host.name=192.168.1.100
            advertised.host.name=192.168.1.100
            num.network.threads=1
            num.io.threads=1
            socket.send.buffer.bytes=102400
            socket.receive.buffer.bytes=102400
            socket.request.max.bytes=104857600
            log.dirs=/opt/kafka/kafkalogs/
            num.partitions=1
            num.recovery.threads.per.data.dir=1
            offsets.topic.replication.factor=1
            transaction.state.log.replication.factor=1
            transaction.state.log.min.isr=1
            log.retention.hours=168
            log.segment.bytes=1073741824
            log.retention.check.interval.ms=300000
            zookeeper.connect=192.168.1.100:12181
            zookeeper.connection.timeout.ms=60000
            group.initial.rebalance.delay.ms=0
            #inter.broker.protocol.version=0.9.0
            #log.message.format.version=0.9.0
            unclean.leader.election.enable=true
            auto.create.topics.enable=true
            default.replication.factor=1    

        4、启动服务并测试
        
         设置环境变量
         vi  /etc/profile 添加如下内容:
                 export KAFKA_HOME=/opt/kafka/kafka_2.11-2.1.1
                 export PATH=$KAFKA_HOME/bin:$PATH
         source /etc/profile //让配置生效
        
          
            #启动
             cd /opt/kafka/kafka_2.11-2.1.1/config
            [root@zhu bin]#  kafka-server-start.sh -daemon ../config/server.properties
            [root@zhu bin]# jps
                27813 QuorumPeerMain
                28847 Kafka
                28882 Jps
            
            #关闭    
            [root@zhu bin]# jps
                27813 QuorumPeerMain
                28847 Kafka
                28882 Jps    
                
     #创建topic            
     kafka-topics.sh --create --zookeeper 192.168.1.100:12181 --replication-factor 1 --partitions 1 --topic testTopic            
    
     #查看topic
     kafka-topics.sh --list --zookeeper localhost:12181
    
     #查看topic状态
     [root@zhu bin]#  kafka-topics.sh --describe --zookeeper localhost:12181 --topic testTopic
            
     #查看数据积压情况    testGroup是消费的group     
     [root@minio4 config]# kafka-consumer-groups.sh --bootstrap-server plaintext://192.168.1.100:9092  --describe --group testGroup   

                                                    

推荐阅读