zoukankan      html  css  js  c++  java
  • zookeeper+kafka集群的安装部署

    准备工作

    上传 zookeeper-3.4.6.tar.gz、scala-2.11.4.tgz、kafka_2.9.2-0.8.1.1.tgz、slf4j-1.7.6.zip 至/usr/local目录

    zookeeper集群搭建

    解压zookeeper安装包

    # tar -zxvf zookeeper-3.4.6.tar.gz
    

    删除原压缩包

    # rm -rf zookeeper-3.4.6.tar.gz
    

    重命名

    # mv zookeeper-3.4.6 zk
    

    配置zookeeper相关的环境变量

    # vi /etc/profile
    
         export ZOOKEEPER_HOME=/usr/local/zk
    
         export PATH=$PATH:$ZOOKEEPER_HOME/bin
    
    # source /etc/profile
    

    ls 等命令无效

    export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    

    修改zookeeper配置文件

    # cd /usr/local/zk/conf
    # cp zoo_sample.cfg zoo.cfg
    # vi zoo.cfg
    修改:
        dataDir=/usr/local/zk/data
    新增:
        server.0=eshop-cache01:2888:3888	
        server.1=eshop-cache02:2888:3888
        server.2=eshop-cache03:2888:3888
    

    新建zookeeper的data数据文件

    # cd /usr/local/zk
    # mkdir data
    # cd data
    # vi myid  添加标识号:0
    

    其他集群节点重复上述配置即可,唯一不同的是标识号不同,可为1、2...

    启动zookeeper

    # zkServer.sh start
    

    查看zookeeper的状态

    # zkServer.sh status
    

    kafka集群搭建

    scala安装

    解压scala安装包

    # tar -zxvf scala-2.11.4.tgz
    

    重命名

    # mv scala-2.11.4 scala
    

    配置scala的环境变量

    # vi /etc/profile
        export SCALA_HOME=/usr/local/scala
        export PATH=$PATH:$SCALA_HOME/bin
    # source /etc/profile
    

    查看scala的version版本

    # scala -version
    

    kafka安装

    解压kafka安装包

    # tar -zxvf kafka_2.9.2-0.8.1.1.tgz
    

    重命名

    # mv kafka_2.9.2-0.8.1.1 kafka
    

    配置kafka

    # vi /usr/local/kafka/config/server.properties
         broker.id=0     //集群节点0、1、2依次增长的整数
         zookeeper.connect=192.168.27.11:2181,192.168.27.12:2181,192.168.27.13:2181
    

    kafka安装问题

    解决kafka的Unrecognized VM option 'UseCompressedOops'问题

    # vi /usr/local/kafka/bin/kafka-run-class.sh 
    	 if [ -z "$KAFKA_JVM_PERFORMANCE_OPTS" ]; then
    	   KAFKA_JVM_PERFORMANCE_OPTS="-server  -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"
    	 fi
    	
        去掉-XX:+UseCompressedOops即可
    

    解决kafka因系统物理内存不足启动失败的问题

    # vi /usr/local/kafka/bin/kafka-server-start.sh
         export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
    

    安装slf4j

    解压slf4j压缩包

    # unzip slf4j-1.7.6.zip
    

    复制 slf4j-nop-1.7.6.jar 至kafka的libs目录

    # cp /usr/local/slf4j-1.7.6/slf4j-nop-1.7.6.jar /usr/local/kafka/libs
    

    按照上述步骤在集群其他节点完成kafka的安装,唯一区别就是server.properties的broker.id,需设置不同的整数1、2...

    启动kafka

    # nohup /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &
    

    查看启动日志

    # cat nohup.out
    

    检查kafka是否启动成功

    # jps
    

    完成各个节点的安装后,检查kafka集群是否搭建成功

    // 创建测试topic
    # /usr/local/kafka/bin/kafka-topics.sh --zookeeper 192.168.27.11:2181,192.168.27.12:2181,192.168.27.13:2181 --topic test --replication-factor 1 --partitions 1 --create
    
    // 创建生产者
    # /usr/local/kafka/bin/kafka-console-producer.sh --broker-list 192.168.27.11:9092,192.168.27.12:9092,192.168.27.13:9092 --topic test
    
    // 创建消费者
    # /usr/local/kafka/bin/kafka-console-consumer.sh --zookeeper 192.168.27.11:2181,192.168.27.12:2181,192.168.27.13:2181 --topic test --from-beginning
  • 相关阅读:
    Django连接MySQL(二)
    Django框架,python2和python3共存的情况下,创建Django项目
    pycharm破解
    dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)
    Spring中的事物管理,基于spring的bean的配置
    Spring中的事物管理,用 @Transactional 注解声明式地管理事务
    Ajax中GET和POST的区别
    Spring对 JDBC 的支持,JdbcTemplate类的使用
    Spring AOP:面向切面编程,AspectJ,是基于spring 的xml文件的方法
    Spring AOP:面向切面编程,AspectJ,是基于注解的方法
  • 原文地址:https://www.cnblogs.com/haoxianrui/p/10226827.html
Copyright © 2011-2022 走看看