zoukankan      html  css  js  c++  java
  • kafka_2.11-0.8.2.2.tgz的3节点集群的下载、安装和配置(图文详解)

      

    kafka_2.10-0.8.1.1.tgz的1或3节点集群的下载、安装和配置(图文详细教程)绝对干货

    一、安装前准备
      1.1 示例机器

    二、 JDK7 安装

    1.1 下载地址
      下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

     

    [hadoop@hadoop1 ~]$ cd
    [hadoop@hadoop1 ~]$ rz
    -bash: rz: command not found
    [hadoop@hadoop1 ~]$ su root
    Password: 
    [root@hadoop1 hadoop]# yum -y install lrzsz

      hadoop2和hadoop3操作一样,不多赘述。

      在安装jdk之前,先要卸载自带的openjdk。

    Centos 6.5下的OPENJDK卸载和SUN的JDK安装、环境变量配置

    复制代码
    [hadoop@hadoop1 ~]$ pwd
    /home/hadoop
    [hadoop@hadoop1 ~]$ ll
    total 0
    [hadoop@hadoop1 ~]$ rz
    
    [hadoop@hadoop1 ~]$ ll
    total 149920
    -rw-r--r--. 1 hadoop hadoop 153512879 Oct 23  2015 jdk-7u79-linux-x64.tar.gz
    [hadoop@hadoop1 ~]$ 
    复制代码

      hadoop2和hadoop3操作一样,不多赘述。

    1.2 安装
      解压缩

    cd /home/hadoop
    tar zxvf jdk-7u79-linux-x64.gz

     

    [hadoop@hadoop1 ~]$ pwd
    /home/hadoop
    [hadoop@hadoop1 ~]$ ll
    total 149920
    -rw-r--r--. 1 hadoop hadoop 153512879 Oct 23  2015 jdk-7u79-linux-x64.tar.gz
    [hadoop@hadoop1 ~]$ tar -zxvf jdk-7u79-linux-x64.tar.gz 

       hadoop2和hadoop3操作一样,不多赘述。


      建立软连接

    ln -s jdk1.7.0_79 jdk

     

    复制代码
    [hadoop@hadoop1 ~]$ ll
    total 4
    drwxr-xr-x. 8 hadoop hadoop 4096 Apr 11  2015 jdk1.7.0_79
    [hadoop@hadoop1 ~]$ ln -s jdk1.7.0_79/ jdk
    [hadoop@hadoop1 ~]$ ll
    total 4
    lrwxrwxrwx. 1 hadoop hadoop   12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x. 8 hadoop hadoop 4096 Apr 11  2015 jdk1.7.0_79
    [hadoop@hadoop1 ~]$ 
    复制代码

       hadoop2和hadoop3操作一样,不多赘述。


      设置环境变量

    vim /etc/profile

     

       hadoop2和hadoop3操作一样,不多赘述。


      添加如下:

    #jdk
    export JAVA_HOME=/home/hadoop/jdk export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH

     

       hadoop2和hadoop3操作一样,不多赘述。


      设置环境变量

    source /etc/profile

       hadoop2和hadoop3操作一样,不多赘述。


    执行 java -version, 如果有版本显示则说明安装成功

     

    三、安装 zookeeper

     1、安装 zookeeper

    复制代码
    [hadoop@hadoop1 ~]$ pwd
    /home/hadoop
    [hadoop@hadoop1 ~]$ ll
    total 4
    lrwxrwxrwx. 1 hadoop hadoop   12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x. 8 hadoop hadoop 4096 Apr 11  2015 jdk1.7.0_79
    [hadoop@hadoop1 ~]$ rz
    
    [hadoop@hadoop1 ~]$ ll
    total 27408
    lrwxrwxrwx. 1 hadoop hadoop       12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x. 8 hadoop hadoop     4096 Apr 11  2015 jdk1.7.0_79
    -rw-r--r--. 1 hadoop hadoop 28060242 Mar 20 10:24 zookeeper-3.4.5-cdh5.5.4.gz
    [hadoop@hadoop1 ~]$ 
    复制代码

      hadoop2和hadoop3都去操作,这里不多赘述。


      1.1 安装
      解压

    cd /home/hadoop
    tar zxvf zookeeper-3.4.5-cdh5.5.4.gz

     

    [hadoop@hadoop1 ~]$ ll
    total 27408
    lrwxrwxrwx. 1 hadoop hadoop       12 Apr 22 22:34 jdk -> jdk1.7.0_79/
    drwxr-xr-x. 8 hadoop hadoop     4096 Apr 11  2015 jdk1.7.0_79
    -rw-r--r--. 1 hadoop hadoop 28060242 Mar 20 10:24 zookeeper-3.4.5-cdh5.5.4.gz
    [hadoop@hadoop1 ~]$ tar -zxvf zookeeper-3.4.5-cdh5.5.4.gz 

       hadoop2和hadoop3都去操作,这里不多赘述。

      1.2 建立软连接

     

    复制代码
    [hadoop@hadoop1 ~]$ pwd
    /home/hadoop
    [hadoop@hadoop1 ~]$ ll
    total 8
    lrwxrwxrwx.  1 hadoop hadoop   12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x.  8 hadoop hadoop 4096 Apr 11  2015 jdk1.7.0_79
    drwxr-xr-x. 14 hadoop hadoop 4096 Apr 26  2016 zookeeper-3.4.5-cdh5.5.4
    [hadoop@hadoop1 ~]$ ln -s zookeeper-3.4.5-cdh5.5.4/ zookeeper
    [hadoop@hadoop1 ~]$ ll
    total 8
    lrwxrwxrwx.  1 hadoop hadoop   12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x.  8 hadoop hadoop 4096 Apr 11  2015 jdk1.7.0_79
    lrwxrwxrwx.  1 hadoop hadoop   25 Apr 22 22:49 zookeeper -> zookeeper-3.4.5-cdh5.5.4/
    drwxr-xr-x. 14 hadoop hadoop 4096 Apr 26  2016 zookeeper-3.4.5-cdh5.5.4
    [hadoop@hadoop1 ~]$ 
    复制代码

       hadoop2和hadoop3都去操作,这里不多赘述。

     

    #zookeeper
    export ZOOKEEPER_HOME=/home/hadoop/zookeeper
    export  PATH=$PATH:$ZOOKEEPER_HOME/bin

       hadoop2和hadoop3都去操作,这里不多赘述。

     

    [root@hadoop1 hadoop]# vim /etc/profile
    [root@hadoop1 hadoop]# source /etc/profile

      hadoop2和hadoop3都去操作,这里不多赘述。

      1.3 修改配置文件

      复制配置文件

    cd /home/hadoop/zookeeper/conf
    cp zoo_sample.cfg zoo.cfg

     

    复制代码
    [hadoop@hadoop1 ~]$ ll
    total 8
    lrwxrwxrwx.  1 hadoop hadoop   12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x.  8 hadoop hadoop 4096 Apr 11  2015 jdk1.7.0_79
    lrwxrwxrwx.  1 hadoop hadoop   25 Apr 22 22:49 zookeeper -> zookeeper-3.4.5-cdh5.5.4/
    drwxr-xr-x. 14 hadoop hadoop 4096 Apr 26  2016 zookeeper-3.4.5-cdh5.5.4
    [hadoop@hadoop1 ~]$ cd zookeeper
    [hadoop@hadoop1 zookeeper]$ cd conf/
    [hadoop@hadoop1 conf]$ pwd
    /home/hadoop/zookeeper/conf
    [hadoop@hadoop1 conf]$ ll
    total 12
    -rw-rw-r--. 1 hadoop hadoop  535 Apr 26  2016 configuration.xsl
    -rw-rw-r--. 1 hadoop hadoop 2693 Apr 26  2016 log4j.properties
    -rw-rw-r--. 1 hadoop hadoop  808 Apr 26  2016 zoo_sample.cfg
    [hadoop@hadoop1 conf]$ cp zoo_sample.cfg zoo.cfg
    [hadoop@hadoop1 conf]$ ll
    total 16
    -rw-rw-r--. 1 hadoop hadoop  535 Apr 26  2016 configuration.xsl
    -rw-rw-r--. 1 hadoop hadoop 2693 Apr 26  2016 log4j.properties
    -rw-rw-r--  1 hadoop hadoop  808 Apr 23 08:45 zoo.cfg
    -rw-rw-r--. 1 hadoop hadoop  808 Apr 26  2016 zoo_sample.cfg
    [hadoop@hadoop1 conf]$ 
    复制代码

      hadoop2和hadoop3都去操作,这里不多赘述。

     

    复制代码
    [hadoop@hadoop1 conf]$ pwd
    /home/hadoop/zookeeper/conf
    [hadoop@hadoop1 conf]$ ll
    total 16
    -rw-rw-r--. 1 hadoop hadoop  535 Apr 26  2016 configuration.xsl
    -rw-rw-r--. 1 hadoop hadoop 2693 Apr 26  2016 log4j.properties
    -rw-rw-r--  1 hadoop hadoop  808 Apr 23 08:45 zoo.cfg
    -rw-rw-r--. 1 hadoop hadoop  808 Apr 26  2016 zoo_sample.cfg
    [hadoop@hadoop1 conf]$ vim zoo.cfg 
    复制代码

      hadoop2和hadoop3都去操作,这里不多赘述。


      修改参数

    复制代码
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/home/hadoop/zookeeper/data
    dataLogDir=/home/hadoop/zookeeper/logs
    clientPort=2181
    server.1=hadoop1:2888:3888
    server.2=hadoop2:2888:3888
    server.3=hadoop3:2888:3888
    复制代码

     

     tickTime 时长单位为毫秒, 为 zk 使用的基本时间度量单位。 例如, 1 * tickTime 是客户端与 zk 服务端的心跳时间, 2 * tickTime 是客户端会话的超时时间。 tickTime 的默认值为2000 毫秒, 更低的 tickTime 值可以更快地发现超时问题, 但也会导致更高的网络流量(心跳消息)和更高的 CPU 使用率(会话的跟踪处理) 。
      clientPort zk 服务进程监听的 TCP 端口, 默认情况下, 服务端会监听 2181 端口。dataDir 无默认配置, 必须配置, 用于配置存储快照文件的目录。 如果没有配置dataLogDir, 那么事务日志也会存储在此目录。

      hadoop2和hadoop3都去操作,这里不多赘述。

     创建目录

    mkdir -p  /home/hadoop/zookeeper/data
    mkdir -p  /home/hadoop/zookeeper/logs

      hadoop2和hadoop3都去操作,这里不多赘述。




    1.3 创建 ID 文件

      在 dataDir 目录下(即/home/hadoop/zookeeper/data下)添加 myid 文件, 并把 server.x 中的 x 数字写入文件中

     

    复制代码
    [hadoop@hadoop1 data]$ pwd
    /home/hadoop/zookeeper/data
    [hadoop@hadoop1 data]$ ll
    total 0
    [hadoop@hadoop1 data]$ vim myid
    
    
    
    1
    复制代码

       hadoop2和hadoop3都去操作,这里不多赘述。

    2 启动 zookeeper
      2.1 启动

    cd /home/hadoop/zookeeper/bin
    ./zkServer.sh start

      启动 ZK 服务: ./zkServer.sh start
      查看 ZK 服务状态: ./zkServer.sh status
      停止 ZK 服务: ./zkServer.sh stop
      重启 ZK 服务: ./zkServer.sh restart

      hadoop2和hadoop3都去操作,这里不多赘述。

      2.1 测试
      在 hadoop1 机器上的 zookeeper 中创建节点

    cd /home/hadoop/zookeeper/bin
    ./zkCli.sh
    create /hello hehe

       这里不演示


      在 hadoop2 机器上查看节点

    cd /home/hadoop/zookeeper/bin
    ./zkCli.sh

       这里不演示


      get /hello //如果有值则说明 zookeeper 运行正常

    2.1 进程的意义

       这里不多赘述。

    四、kafka的安装
      4.1 安装
      在 hadoop1、hadoop2和hadoop3 机器上安装

    cd /home/hadoop
    tar zxvf kafka_2.11-0.8.2.2.tgz
    ln -s kafka_2.11-0.8.2.2 kafka

    复制代码
    [hadoop@hadoop1 ~]$ ll
    total 28
    drwxr-xr-x   8 hadoop hadoop 4096 Apr 26  2016 apache-flume-1.6.0-cdh5.5.4-bin
    drwxrwxr-x   5 hadoop hadoop 4096 Apr 23 18:34 data
    lrwxrwxrwx   1 hadoop hadoop   32 Apr 23 18:14 flume -> apache-flume-1.6.0-cdh5.5.4-bin/
    lrwxrwxrwx   1 hadoop hadoop   22 Apr 23 09:08 hadoop -> hadoop-2.6.0-cdh5.5.4/
    drwxr-xr-x  18 hadoop hadoop 4096 Apr 23 09:50 hadoop-2.6.0-cdh5.5.4
    lrwxrwxrwx   1 hadoop hadoop   21 Apr 23 16:55 hbase -> hbase-1.0.0-cdh5.5.4/
    drwxr-xr-x  27 hadoop hadoop 4096 Apr 23 17:27 hbase-1.0.0-cdh5.5.4
    lrwxrwxrwx   1 hadoop hadoop   20 Apr 23 15:27 hive -> hive-1.1.0-cdh5.5.4/
    drwxr-xr-x  10 hadoop hadoop 4096 Apr 26  2016 hive-1.1.0-cdh5.5.4
    lrwxrwxrwx.  1 hadoop hadoop   12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x.  8 hadoop hadoop 4096 Apr 11  2015 jdk1.7.0_79
    lrwxrwxrwx.  1 hadoop hadoop   25 Apr 22 22:49 zookeeper -> zookeeper-3.4.5-cdh5.5.4/
    drwxr-xr-x. 16 hadoop hadoop 4096 Apr 23 08:57 zookeeper-3.4.5-cdh5.5.4
    [hadoop@hadoop1 ~]$ rz
    
    [hadoop@hadoop1 ~]$ ll
    total 15436
    drwxr-xr-x   8 hadoop hadoop     4096 Apr 26  2016 apache-flume-1.6.0-cdh5.5.4-bin
    drwxrwxr-x   5 hadoop hadoop     4096 Apr 23 18:34 data
    lrwxrwxrwx   1 hadoop hadoop       32 Apr 23 18:14 flume -> apache-flume-1.6.0-cdh5.5.4-bin/
    lrwxrwxrwx   1 hadoop hadoop       22 Apr 23 09:08 hadoop -> hadoop-2.6.0-cdh5.5.4/
    drwxr-xr-x  18 hadoop hadoop     4096 Apr 23 09:50 hadoop-2.6.0-cdh5.5.4
    lrwxrwxrwx   1 hadoop hadoop       21 Apr 23 16:55 hbase -> hbase-1.0.0-cdh5.5.4/
    drwxr-xr-x  27 hadoop hadoop     4096 Apr 23 17:27 hbase-1.0.0-cdh5.5.4
    lrwxrwxrwx   1 hadoop hadoop       20 Apr 23 15:27 hive -> hive-1.1.0-cdh5.5.4/
    drwxr-xr-x  10 hadoop hadoop     4096 Apr 26  2016 hive-1.1.0-cdh5.5.4
    lrwxrwxrwx.  1 hadoop hadoop       12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x.  8 hadoop hadoop     4096 Apr 11  2015 jdk1.7.0_79
    -rw-r--r--   1 hadoop hadoop 15773865 Mar 20 10:24 kafka_2.11-0.8.2.2.tgz
    lrwxrwxrwx.  1 hadoop hadoop       25 Apr 22 22:49 zookeeper -> zookeeper-3.4.5-cdh5.5.4/
    drwxr-xr-x. 16 hadoop hadoop     4096 Apr 23 08:57 zookeeper-3.4.5-cdh5.5.4
    [hadoop@hadoop1 ~]$ 
    复制代码

      hadoop2和hadoop3操作,不多赘述。

    复制代码
    [hadoop@hadoop1 ~]$ ll
    total 15436
    drwxr-xr-x   8 hadoop hadoop     4096 Apr 26  2016 apache-flume-1.6.0-cdh5.5.4-bin
    drwxrwxr-x   5 hadoop hadoop     4096 Apr 23 18:34 data
    lrwxrwxrwx   1 hadoop hadoop       32 Apr 23 18:14 flume -> apache-flume-1.6.0-cdh5.5.4-bin/
    lrwxrwxrwx   1 hadoop hadoop       22 Apr 23 09:08 hadoop -> hadoop-2.6.0-cdh5.5.4/
    drwxr-xr-x  18 hadoop hadoop     4096 Apr 23 09:50 hadoop-2.6.0-cdh5.5.4
    lrwxrwxrwx   1 hadoop hadoop       21 Apr 23 16:55 hbase -> hbase-1.0.0-cdh5.5.4/
    drwxr-xr-x  27 hadoop hadoop     4096 Apr 23 17:27 hbase-1.0.0-cdh5.5.4
    lrwxrwxrwx   1 hadoop hadoop       20 Apr 23 15:27 hive -> hive-1.1.0-cdh5.5.4/
    drwxr-xr-x  10 hadoop hadoop     4096 Apr 26  2016 hive-1.1.0-cdh5.5.4
    lrwxrwxrwx.  1 hadoop hadoop       12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x.  8 hadoop hadoop     4096 Apr 11  2015 jdk1.7.0_79
    -rw-r--r--   1 hadoop hadoop 15773865 Mar 20 10:24 kafka_2.11-0.8.2.2.tgz
    lrwxrwxrwx.  1 hadoop hadoop       25 Apr 22 22:49 zookeeper -> zookeeper-3.4.5-cdh5.5.4/
    drwxr-xr-x. 16 hadoop hadoop     4096 Apr 23 08:57 zookeeper-3.4.5-cdh5.5.4
    [hadoop@hadoop1 ~]$ tar -zxvf kafka_2.11-0.8.2.2.tgz 
    复制代码

      hadoop2和hadoop3操作,不多赘述。

    复制代码
    [hadoop@hadoop1 ~]$ ll
    total 32
    drwxr-xr-x   8 hadoop hadoop 4096 Apr 26  2016 apache-flume-1.6.0-cdh5.5.4-bin
    drwxrwxr-x   5 hadoop hadoop 4096 Apr 23 18:34 data
    lrwxrwxrwx   1 hadoop hadoop   32 Apr 23 18:14 flume -> apache-flume-1.6.0-cdh5.5.4-bin/
    lrwxrwxrwx   1 hadoop hadoop   22 Apr 23 09:08 hadoop -> hadoop-2.6.0-cdh5.5.4/
    drwxr-xr-x  18 hadoop hadoop 4096 Apr 23 09:50 hadoop-2.6.0-cdh5.5.4
    lrwxrwxrwx   1 hadoop hadoop   21 Apr 23 16:55 hbase -> hbase-1.0.0-cdh5.5.4/
    drwxr-xr-x  27 hadoop hadoop 4096 Apr 23 17:27 hbase-1.0.0-cdh5.5.4
    lrwxrwxrwx   1 hadoop hadoop   20 Apr 23 15:27 hive -> hive-1.1.0-cdh5.5.4/
    drwxr-xr-x  10 hadoop hadoop 4096 Apr 26  2016 hive-1.1.0-cdh5.5.4
    lrwxrwxrwx.  1 hadoop hadoop   12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x.  8 hadoop hadoop 4096 Apr 11  2015 jdk1.7.0_79
    drwxr-xr-x   5 hadoop hadoop 4096 Sep  3  2015 kafka_2.11-0.8.2.2
    lrwxrwxrwx.  1 hadoop hadoop   25 Apr 22 22:49 zookeeper -> zookeeper-3.4.5-cdh5.5.4/
    drwxr-xr-x. 16 hadoop hadoop 4096 Apr 23 08:57 zookeeper-3.4.5-cdh5.5.4
    [hadoop@hadoop1 ~]$ ln -s kafka_2.11-0.8.2.2/ kafka
    [hadoop@hadoop1 ~]$ ll
    total 32
    drwxr-xr-x   8 hadoop hadoop 4096 Apr 26  2016 apache-flume-1.6.0-cdh5.5.4-bin
    drwxrwxr-x   5 hadoop hadoop 4096 Apr 23 18:34 data
    lrwxrwxrwx   1 hadoop hadoop   32 Apr 23 18:14 flume -> apache-flume-1.6.0-cdh5.5.4-bin/
    lrwxrwxrwx   1 hadoop hadoop   22 Apr 23 09:08 hadoop -> hadoop-2.6.0-cdh5.5.4/
    drwxr-xr-x  18 hadoop hadoop 4096 Apr 23 09:50 hadoop-2.6.0-cdh5.5.4
    lrwxrwxrwx   1 hadoop hadoop   21 Apr 23 16:55 hbase -> hbase-1.0.0-cdh5.5.4/
    drwxr-xr-x  27 hadoop hadoop 4096 Apr 23 17:27 hbase-1.0.0-cdh5.5.4
    lrwxrwxrwx   1 hadoop hadoop   20 Apr 23 15:27 hive -> hive-1.1.0-cdh5.5.4/
    drwxr-xr-x  10 hadoop hadoop 4096 Apr 26  2016 hive-1.1.0-cdh5.5.4
    lrwxrwxrwx.  1 hadoop hadoop   12 Apr 22 22:27 jdk -> jdk1.7.0_79/
    drwxr-xr-x.  8 hadoop hadoop 4096 Apr 11  2015 jdk1.7.0_79
    lrwxrwxrwx   1 hadoop hadoop   19 Apr 23 18:41 kafka -> kafka_2.11-0.8.2.2/
    drwxr-xr-x   5 hadoop hadoop 4096 Sep  3  2015 kafka_2.11-0.8.2.2
    lrwxrwxrwx.  1 hadoop hadoop   25 Apr 22 22:49 zookeeper -> zookeeper-3.4.5-cdh5.5.4/
    drwxr-xr-x. 16 hadoop hadoop 4096 Apr 23 08:57 zookeeper-3.4.5-cdh5.5.4
    [hadoop@hadoop1 ~]$ 
    复制代码

      hadoop2和hadoop3操作,不多赘述。

       环境变量

     

    [hadoop@hadoop1 ~]$ su root
    Password: 
    [root@hadoop1 hadoop]# vim /etc/profile

       hadoop2和hadoop3操作,不多赘述。

     

    #kafka
    export KAFKA_HOME=/home/hadoop/kafka
    export PATH=$PATH:$KAFKA_HOME/bin

       hadoop2和hadoop3操作,不多赘述。

     

    [hadoop@hadoop1 ~]$ su root
    Password: 
    [root@hadoop1 hadoop]# vim /etc/profile
    [root@hadoop1 hadoop]# source /etc/profile
    [root@hadoop1 hadoop]# 

       hadoop2和hadoop3操作,不多赘述。

      4.1 修改配置文件
      1. hadoop1 上修改 config/server.properties

    复制代码
    export HBASE_MANAGES_ZK=false
    broker.id=1
    port=9092
    host.name=hadoop1
    log.dirs=/home/kafka-logs
    num.partitions=5
    log.cleaner.enable=false
    offsets.storage=kafka
    dual.commit.enabled=true
    delete.topic.enable=true
    zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181
    复制代码

     

    2. hadoop2 上修改 config/server.properties

    复制代码
    export HBASE_MANAGES_ZK=false
    broker.id=2
    port=9092
    host.name=hadoop2
    log.dirs=/home/kafka-logs
    num.partitions=5
    log.cleaner.enable=false
    offsets.storage=kafka
    dual.commit.enabled=true
    delete.topic.enable=true
    zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181
    复制代码

    3. hadoop3 上修改 config/server.properties

    复制代码
    export HBASE_MANAGES_ZK=false
    broker.id=3
    port=9092
    host.name=hadoop3
    log.dirs=/home/kafka-logs
    num.partitions=5
    log.cleaner.enable=false
    offsets.storage=kafka
    dual.commit.enabled=true
    delete.topic.enable=true
    zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181
    复制代码

    创建目录

    mkdir -p   /home/kafka-logs

      hadoop1、hadoop2和hadoop3都执行。

    复制代码
    [hadoop@hadoop1 kafka]$ mkdir -p /home/kafka-logs
    mkdir: cannot create directory `/home/kafka-logs': Permission denied
    [hadoop@hadoop1 kafka]$ su root
    Password: 
    [root@hadoop1 kafka]# mkdir -p /home/kafka-logs
    [root@hadoop1 kafka]# chown -R hadoop:hadoop /home/kafka-logs
    [root@hadoop1 kafka]# cd /home/
    [root@hadoop1 home]# ll
    total 8
    drwx------. 26 hadoop hadoop 4096 Apr 23 21:18 hadoop
    drwxr-xr-x   2 hadoop hadoop 4096 Apr 23 21:18 kafka-logs
    [root@hadoop1 home]# 
    复制代码

      注意:在CDH版本的,发行者已经帮我们解决了这个问题。Apache版本,需要解决

    首先解决kafka Unrecognized VM option ‘UseCompressedOops’问题
    vi /home/hadoop/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即可

    复制代码
    [hadoop@hadoop1 bin]$ pwd
    /home/hadoop/kafka/bin
    [hadoop@hadoop1 bin]$ ll
    total 80
    -rwxr-xr-x 1 hadoop hadoop  943 Sep  3  2015 kafka-console-consumer.sh
    -rwxr-xr-x 1 hadoop hadoop  942 Sep  3  2015 kafka-console-producer.sh
    -rwxr-xr-x 1 hadoop hadoop  870 Sep  3  2015 kafka-consumer-offset-checker.sh
    -rwxr-xr-x 1 hadoop hadoop  946 Sep  3  2015 kafka-consumer-perf-test.sh
    -rwxr-xr-x 1 hadoop hadoop  860 Sep  3  2015 kafka-mirror-maker.sh
    -rwxr-xr-x 1 hadoop hadoop  884 Sep  3  2015 kafka-preferred-replica-election.sh
    -rwxr-xr-x 1 hadoop hadoop  946 Sep  3  2015 kafka-producer-perf-test.sh
    -rwxr-xr-x 1 hadoop hadoop  872 Sep  3  2015 kafka-reassign-partitions.sh
    -rwxr-xr-x 1 hadoop hadoop  866 Sep  3  2015 kafka-replay-log-producer.sh
    -rwxr-xr-x 1 hadoop hadoop  872 Sep  3  2015 kafka-replica-verification.sh
    -rwxr-xr-x 1 hadoop hadoop 4185 Sep  3  2015 kafka-run-class.sh
    -rwxr-xr-x 1 hadoop hadoop 1333 Sep  3  2015 kafka-server-start.sh
    -rwxr-xr-x 1 hadoop hadoop  891 Sep  3  2015 kafka-server-stop.sh
    -rwxr-xr-x 1 hadoop hadoop  868 Sep  3  2015 kafka-simple-consumer-shell.sh
    -rwxr-xr-x 1 hadoop hadoop  861 Sep  3  2015 kafka-topics.sh
    drwxr-xr-x 2 hadoop hadoop 4096 Sep  3  2015 windows
    -rwxr-xr-x 1 hadoop hadoop 1370 Sep  3  2015 zookeeper-server-start.sh
    -rwxr-xr-x 1 hadoop hadoop  875 Sep  3  2015 zookeeper-server-stop.sh
    -rwxr-xr-x 1 hadoop hadoop  968 Sep  3  2015 zookeeper-shell.sh
    [hadoop@hadoop1 bin]$ vim kafka-run-class.sh 
    复制代码

      这里,不需自己去解决。

      在三台机器上的kafka目录下,分别执行以下命令

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

     

    复制代码
    [hadoop@hadoop1 kafka]$ pwd
    /home/hadoop/kafka
    [hadoop@hadoop1 kafka]$ nohup bin/kafka-server-start.sh config/server.properties &
    [1] 15091
    [hadoop@hadoop1 kafka]$ nohup: ignoring input and appending output to `nohup.out'
    
    [1]+  Exit 1                  nohup bin/kafka-server-start.sh config/server.properties
    [hadoop@hadoop1 kafka]$
    复制代码

      出现以下提示后回车即可。

    查看状态

    cat nohup.out

     

    复制代码
    [2017-04-23 21:23:35,304] INFO Client environment:java.vendor=Oracle Corporation (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,304] INFO Client environment:java.home=/home/hadoop/jdk1.7.0_79/jre (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,304] INFO Client environment:java.class.path=.:/home/hadoop/jdk/lib/dt.jar:/home/hadoop/jdk/lib/tools.jar:/home/hadoop/kafka/bin/../core/build/dependant-libs-2.10.4*/*.jar:/home/hadoop/kafka/bin/../examples/build/libs//kafka-examples*.jar:/home/hadoop/kafka/bin/../contrib/hadoop-consumer/build/libs//kafka-hadoop-consumer*.jar:/home/hadoop/kafka/bin/../contrib/hadoop-producer/build/libs//kafka-hadoop-producer*.jar:/home/hadoop/kafka/bin/../clients/build/libs/kafka-clients*.jar:/home/hadoop/kafka/bin/../libs/jopt-simple-3.2.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-javadoc.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-scaladoc.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-sources.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-test.jar:/home/hadoop/kafka/bin/../libs/kafka-clients-0.8.2.2.jar:/home/hadoop/kafka/bin/../libs/log4j-1.2.16.jar:/home/hadoop/kafka/bin/../libs/lz4-1.2.0.jar:/home/hadoop/kafka/bin/../libs/metrics-core-2.2.0.jar:/home/hadoop/kafka/bin/../libs/scala-library-2.11.5.jar:/home/hadoop/kafka/bin/../libs/scala-parser-combinators_2.11-1.0.2.jar:/home/hadoop/kafka/bin/../libs/scala-xml_2.11-1.0.2.jar:/home/hadoop/kafka/bin/../libs/slf4j-api-1.7.6.jar:/home/hadoop/kafka/bin/../libs/slf4j-log4j12-1.6.1.jar:/home/hadoop/kafka/bin/../libs/snappy-java-1.1.1.7.jar:/home/hadoop/kafka/bin/../libs/zkclient-0.3.jar:/home/hadoop/kafka/bin/../libs/zookeeper-3.4.6.jar:/home/hadoop/kafka/bin/../core/build/libs/kafka_2.10*.jar (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,304] INFO Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,304] INFO Client environment:java.io.tmpdir=/tmp (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,304] INFO Client environment:java.compiler=<NA> (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,305] INFO Client environment:os.name=Linux (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,305] INFO Client environment:os.arch=amd64 (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,305] INFO Client environment:os.version=2.6.32-431.el6.x86_64 (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,305] INFO Client environment:user.name=hadoop (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,305] INFO Client environment:user.home=/home/hadoop (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,305] INFO Client environment:user.dir=/home/hadoop/kafka_2.11-0.8.2.2 (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,308] INFO Initiating client connection, connectString=hadoop1:2181,hadoop2:2181,hadoop3:2181 sessionTimeout=6000 watcher=org.I0Itec.zkclient.ZkClient@31dbfb7a (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:23:35,391] INFO Opening socket connection to server hadoop1/192.168.80.121:2181. Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
    [2017-04-23 21:23:35,410] INFO Socket connection established to hadoop1/192.168.80.121:2181, initiating session (org.apache.zookeeper.ClientCnxn)
    [2017-04-23 21:23:35,530] INFO Session establishment complete on server hadoop1/192.168.80.121:2181, sessionid = 0x15b99fea1e10012, negotiated timeout = 6000 (org.apache.zookeeper.ClientCnxn)
    [2017-04-23 21:23:35,542] INFO zookeeper state changed (SyncConnected) (org.I0Itec.zkclient.ZkClient)
    [2017-04-23 21:23:36,009] INFO Loading logs. (kafka.log.LogManager)
    [2017-04-23 21:23:36,069] INFO Logs loading complete. (kafka.log.LogManager)
    [2017-04-23 21:23:36,072] INFO Starting log cleanup with a period of 300000 ms. (kafka.log.LogManager)
    [2017-04-23 21:23:36,110] INFO Starting log flusher with a default period of 9223372036854775807 ms. (kafka.log.LogManager)
    [2017-04-23 21:23:36,333] INFO Awaiting socket connections on hadoop1:9092. (kafka.network.Acceptor)
    [2017-04-23 21:23:36,340] INFO [Socket Server on Broker 1], Started (kafka.network.SocketServer)
    [hadoop@hadoop1 kafka]$ 
    复制代码

    复制代码
    r:/home/hadoop/kafka/bin/../examples/build/libs//kafka-examples*.jar:/home/hadoop/kafka/bin/../contrib/hadoop-consumer/build/libs//kafka-hadoop-consumer*.jar:/home/hadoop/kafka/bin/../contrib/hadoop-producer/build/libs//kafka-hadoop-producer*.jar:/home/hadoop/kafka/bin/../clients/build/libs/kafka-clients*.jar:/home/hadoop/kafka/bin/../libs/jopt-simple-3.2.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-javadoc.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-scaladoc.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-sources.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-test.jar:/home/hadoop/kafka/bin/../libs/kafka-clients-0.8.2.2.jar:/home/hadoop/kafka/bin/../libs/log4j-1.2.16.jar:/home/hadoop/kafka/bin/../libs/lz4-1.2.0.jar:/home/hadoop/kafka/bin/../libs/metrics-core-2.2.0.jar:/home/hadoop/kafka/bin/../libs/scala-library-2.11.5.jar:/home/hadoop/kafka/bin/../libs/scala-parser-combinators_2.11-1.0.2.jar:/home/hadoop/kafka/bin/../libs/scala-xml_2.11-1.0.2.jar:/home/hadoop/kafka/bin/../libs/slf4j-api-1.7.6.jar:/home/hadoop/kafka/bin/../libs/slf4j-log4j12-1.6.1.jar:/home/hadoop/kafka/bin/../libs/snappy-java-1.1.1.7.jar:/home/hadoop/kafka/bin/../libs/zkclient-0.3.jar:/home/hadoop/kafka/bin/../libs/zookeeper-3.4.6.jar:/home/hadoop/kafka/bin/../core/build/libs/kafka_2.10*.jar (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:34,857] INFO Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:34,857] INFO Client environment:java.io.tmpdir=/tmp (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:34,857] INFO Client environment:java.compiler=<NA> (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:34,858] INFO Client environment:os.name=Linux (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:34,858] INFO Client environment:os.arch=amd64 (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:34,858] INFO Client environment:os.version=2.6.32-431.el6.x86_64 (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:34,858] INFO Client environment:user.name=hadoop (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:34,858] INFO Client environment:user.home=/home/hadoop (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:34,858] INFO Client environment:user.dir=/home/hadoop/kafka_2.11-0.8.2.2 (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:34,862] INFO Initiating client connection, connectString=hadoop1:2181,hadoop2:2181,hadoop3:2181 sessionTimeout=6000 watcher=org.I0Itec.zkclient.ZkClient@3764253e (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:25:35,713] INFO Opening socket connection to server hadoop3/192.168.80.123:2181. Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
    [2017-04-23 21:25:35,811] INFO Socket connection established to hadoop3/192.168.80.123:2181, initiating session (org.apache.zookeeper.ClientCnxn)
    [2017-04-23 21:25:35,884] INFO Session establishment complete on server hadoop3/192.168.80.123:2181, sessionid = 0x35b99ff49bf0012, negotiated timeout = 6000 (org.apache.zookeeper.ClientCnxn)
    [2017-04-23 21:25:35,890] INFO zookeeper state changed (SyncConnected) (org.I0Itec.zkclient.ZkClient)
    [2017-04-23 21:25:37,146] INFO Loading logs. (kafka.log.LogManager)
    [2017-04-23 21:25:37,243] INFO Logs loading complete. (kafka.log.LogManager)
    [2017-04-23 21:25:37,245] INFO Starting log cleanup with a period of 300000 ms. (kafka.log.LogManager)
    [2017-04-23 21:25:37,300] INFO Starting log flusher with a default period of 9223372036854775807 ms. (kafka.log.LogManager)
    [2017-04-23 21:25:37,798] INFO Awaiting socket connections on hadoop2:9092. (kafka.network.Acceptor)
    [2017-04-23 21:25:37,803] INFO [Socket Server on Broker 2], Started (kafka.network.SocketServer)
    [2017-04-23 21:25:39,744] INFO Will not load MX4J, mx4j-tools.jar is not in the classpath (kafka.utils.Mx4jLoader$)
    [2017-04-23 21:25:42,084] INFO Registered broker 2 at path /brokers/ids/2 with address hadoop2:9092. (kafka.utils.ZkUtils$)
    [2017-04-23 21:25:42,520] INFO [Kafka Server 2], started (kafka.server.KafkaServer)
    [hadoop@hadoop2 kafka]$ 
    复制代码

     

    复制代码
    r:/home/hadoop/kafka/bin/../examples/build/libs//kafka-examples*.jar:/home/hadoop/kafka/bin/../contrib/hadoop-consumer/build/libs//kafka-hadoop-consumer*.jar:/home/hadoop/kafka/bin/../contrib/hadoop-producer/build/libs//kafka-hadoop-producer*.jar:/home/hadoop/kafka/bin/../clients/build/libs/kafka-clients*.jar:/home/hadoop/kafka/bin/../libs/jopt-simple-3.2.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-javadoc.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-scaladoc.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-sources.jar:/home/hadoop/kafka/bin/../libs/kafka_2.11-0.8.2.2-test.jar:/home/hadoop/kafka/bin/../libs/kafka-clients-0.8.2.2.jar:/home/hadoop/kafka/bin/../libs/log4j-1.2.16.jar:/home/hadoop/kafka/bin/../libs/lz4-1.2.0.jar:/home/hadoop/kafka/bin/../libs/metrics-core-2.2.0.jar:/home/hadoop/kafka/bin/../libs/scala-library-2.11.5.jar:/home/hadoop/kafka/bin/../libs/scala-parser-combinators_2.11-1.0.2.jar:/home/hadoop/kafka/bin/../libs/scala-xml_2.11-1.0.2.jar:/home/hadoop/kafka/bin/../libs/slf4j-api-1.7.6.jar:/home/hadoop/kafka/bin/../libs/slf4j-log4j12-1.6.1.jar:/home/hadoop/kafka/bin/../libs/snappy-java-1.1.1.7.jar:/home/hadoop/kafka/bin/../libs/zkclient-0.3.jar:/home/hadoop/kafka/bin/../libs/zookeeper-3.4.6.jar:/home/hadoop/kafka/bin/../core/build/libs/kafka_2.10*.jar (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:10,239] INFO Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:10,240] INFO Client environment:java.io.tmpdir=/tmp (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:10,240] INFO Client environment:java.compiler=<NA> (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:10,241] INFO Client environment:os.name=Linux (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:10,241] INFO Client environment:os.arch=amd64 (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:10,241] INFO Client environment:os.version=2.6.32-431.el6.x86_64 (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:10,241] INFO Client environment:user.name=hadoop (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:10,241] INFO Client environment:user.home=/home/hadoop (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:10,241] INFO Client environment:user.dir=/home/hadoop/kafka_2.11-0.8.2.2 (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:10,244] INFO Initiating client connection, connectString=hadoop1:2181,hadoop2:2181,hadoop3:2181 sessionTimeout=6000 watcher=org.I0Itec.zkclient.ZkClient@3764253e (org.apache.zookeeper.ZooKeeper)
    [2017-04-23 21:26:11,052] INFO Opening socket connection to server hadoop3/192.168.80.123:2181. Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
    [2017-04-23 21:26:11,080] INFO Socket connection established to hadoop3/192.168.80.123:2181, initiating session (org.apache.zookeeper.ClientCnxn)
    [2017-04-23 21:26:11,370] INFO Session establishment complete on server hadoop3/192.168.80.123:2181, sessionid = 0x35b99ff49bf0013, negotiated timeout = 6000 (org.apache.zookeeper.ClientCnxn)
    [2017-04-23 21:26:11,505] INFO zookeeper state changed (SyncConnected) (org.I0Itec.zkclient.ZkClient)
    [2017-04-23 21:26:12,561] INFO Loading logs. (kafka.log.LogManager)
    [2017-04-23 21:26:12,698] INFO Logs loading complete. (kafka.log.LogManager)
    [2017-04-23 21:26:12,702] INFO Starting log cleanup with a period of 300000 ms. (kafka.log.LogManager)
    [2017-04-23 21:26:12,918] INFO Starting log flusher with a default period of 9223372036854775807 ms. (kafka.log.LogManager)
    [2017-04-23 21:26:14,277] INFO Awaiting socket connections on hadoop3:9092. (kafka.network.Acceptor)
    [2017-04-23 21:26:14,623] INFO [Socket Server on Broker 3], Started (kafka.network.SocketServer)
    [2017-04-23 21:26:17,519] INFO Will not load MX4J, mx4j-tools.jar is not in the classpath (kafka.utils.Mx4jLoader$)
    [2017-04-23 21:26:19,961] INFO Registered broker 3 at path /brokers/ids/3 with address hadoop3:9092. (kafka.utils.ZkUtils$)
    [2017-04-23 21:26:20,172] INFO [Kafka Server 3], started (kafka.server.KafkaServer)
    [hadoop@hadoop3 kafka]$ 
    复制代码

      至此,kafka_2.11-0.8.2.2.tgz的3节点集群的搭建完成!

    扩展补充

    kafka的server.properties配置文件参考示范(图文详解)(多种方式)

  • 相关阅读:
    POJ 2923 Relocation (状态压缩,01背包)
    HDU 2126 Buy the souvenirs (01背包,输出方案数)
    hdu 2639 Bone Collector II (01背包,求第k优解)
    UVA 562 Dividing coins (01背包)
    POJ 3437 Tree Grafting
    Light OJ 1095 Arrange the Numbers(容斥)
    BZOJ 1560 火星藏宝图(DP)
    POJ 3675 Telescope
    POJ 2986 A Triangle and a Circle
    BZOJ 1040 骑士
  • 原文地址:https://www.cnblogs.com/zlslch/p/7246237.html
Copyright © 2011-2022 走看看