1

3、 kafka集群安装部署

3.1、详细部署过程

  • 1、下载安装包(http://kafka.apache.org

    kafka_2.11-1.1.0.tgz
  • 2、规划安装目录

    /wangyq/install
  • 3、上传安装包到node01服务器,并解压

    # 通过FTP工具上传安装包到node01服务器的/wangyq/soft路径下,然后进行解压
    cd /wangyq/soft/
    tar -zxf kafka_2.11-1.1.0.tgz -C /wangyq/install/
  • 4、修改配置文件

    • 在node01上修改kafak对应的配置文件 server.properties

      进入到kafka安装目录下有一个config目录,修改配置文件

      cd  /wangyq/install/kafka_2.11-1.1.0/config
      vim server.properties
      
      #指定kafka对应的broker id ,唯一
      broker.id=0
      #指定数据存放的目录
      log.dirs=/wangyq/install/kafka_2.11-1.1.0/logs
      #指定zk地址
      zookeeper.connect=node01:2181,node02:2181,node03:2181
      #指定是否可以删除topic ,默认是false 表示不可以删除
      delete.topic.enable=true
      #指定broker主机名
      host.name=node01
      
  • 5、node01执行以下命令分发kafka安装目录到其他节点

    # 由node01节点同步其他副本节点中
    cd /wangyq/install/
    scp -r kafka_2.11-1.1.0/ node02:$PWD
    scp -r kafka_2.11-1.1.0/ node03:$PWD
  • 6、修改node02和node03上的配置

    • node02执行以下命令进行修改配置

      cd /wangyq/install/kafka_2.11-1.1.0/config/
      vi server.properties
      
      #指定kafka对应的broker id ,唯一
      broker.id=1
      #指定数据存放的目录
      log.dirs=/wangyq/install/kafka_2.11-1.1.0/logs
      #指定zk地址
      zookeeper.connect=node01:2181,node02:2181,node03:2181
      #指定是否可以删除topic ,默认是false 表示不可以删除
      delete.topic.enable=true
      #指定broker主机名
      host.name=node02
    • node03执行以下命令进行修改配置

      cd /wangyq/install/kafka_2.11-1.1.0/config/
      vi server.properties
      
      #指定kafka对应的broker id ,唯一
      broker.id=2
      #指定数据存放的目录
      log.dirs=/wangyq/install/kafka_2.11-1.1.0/logs
      #指定zk地址
      zookeeper.connect=node01:2181,node02:2181,node03:2181
      #指定是否可以删除topic ,默认是false 表示不可以删除
      delete.topic.enable=true
      #指定broker主机名
      host.name=node03

3.1、 kafka集群启动和停止

3.1.1、 启动

  • 先启动zk集群
  • 然后在所有节点执行脚本

    cd /wangyq/install/kafka_2.11-1.1.0/
    nohup bin/kafka-server-start.sh config/server.properties 2>&1 & 
  • 一键启动kafka

    • start_kafka.sh

      #!/bin/sh
      for host in node01 node02 node03
      do
              ssh $host "source /etc/profile;nohup /wangyq/install/kafka_2.11-1.1.0/bin/kafka-server-start.sh /wangyq/install/kafka_2.11-1.1.0/config/server.properties >/dev/null 2>&1 &"
              echo "$host kafka is running"
      
      done

3.2.1、 停止

  • 所有节点执行关闭kafka脚本

    cd /wangyq/install/kafka_2.11-1.1.0/
    bin/kafka-server-stop.sh 
  • 一键停止kafka

    • stop_kafka.sh

      #!/bin/sh
      for host in node01 node02 node03
      do
        ssh $host "source /etc/profile;nohup /wangyq/install/kafka_2.11-1.1.0/bin/kafka-server-stop.sh &" 
        echo "$host kafka is stopping"
      done

3.3.1、 一键启动和停止脚本

  • 必须先启动 zookeeper 集群
  • kafkaCluster.sh

    #!/bin/sh
    case $1 in 
    "start"){
    for host in node01 node02 node03 
    do
      ssh $host "source /etc/profile; nohup /wangyq/install/kafka_2.11-1.1.0/bin/kafka-server-start.sh /wangyq/install/kafka_2.11-1.1.0/config/server.properties > /dev/null 2>&1 &"   
      echo "$host kafka is running..." 
      sleep 1.5s
    done  
    };;
    
    "stop"){
    for host in node01 node02 node03 
    do
      ssh $host "source /etc/profile; nohup /wangyq/install/kafka_2.11-1.1.0/bin/kafka-server-stop.sh >/dev/null  2>&1 &"   
      echo "$host kafka is stopping..."  
      sleep 1.5s
    done
    };;
    esac
  • 启动

    sh kafkaCluster.sh start
  • 停止

    sh kafkaCluster.sh stop

wangyq_sure
21 声望0 粉丝

认真学习、思考、反思、总结、分享日常的编程经验~~