Linux环境下搭建Kafka

一、运行环境搭建

在Windows环境中的用户需要先安装虚拟机,下载VMware-workstation-full-11.1.0并安装;
虚拟机安装好后,下载CentOS-7-x86_64-DVD-1503-01的镜像文件,CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。

二、基础环境搭建

这里所谓的基础环境指的是kafka的运行需要的JDK的支持,博主搭建的kafka版本是kafka_2.10-0.10.0.1,对用的JDK使用的jdk-8u45-linux-x64。
JDK搭建:

  1. 下载jdk的linux版本的.tar.gz包。

  2. 将.tar.gz包解压

    tar –zxvfjdk-8u45-linux-x64.tar.gz
    
  3. 将文件夹移动到相应的位置,事先在usr路径下创建一个Java文件夹,然后将jdk的文件夹移动至java文件夹中。
    进入usr中:

    cd /usr
    

    创建java文件夹:

    mkdir java
    

    移动jdk文件:

    mv jdk 1.8.0_45 /usr/java
    
  4. 备份系统环境变量

    cp /etc/profile /home/john
    
  5. 编辑系统的环境变量

    vi /etc/profile
    

    输入i进入编辑模式
    加入内容如下:

    export JAVA_HOME=/usr/java/jdk1.8.0_45
    exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    exportPATH=$JAVA_HOME/bin:$PATH
    
  6. 加载设置的系统变量

    source /etc/profile
    
  7. 测试是否安装成功,得到jdk版本信息

    java-version
    
  8. 查看javac
    显示javac的命令帮助,jdk和环境变量配置成功了

  9. 重启配置生效(不使用source /etc/profile加载系统变量时,可使用这种方法)

    reboot
    
  10. 下载完成后将安装的jdk加入java选单

    update-alternatives --install /usr/bin/Java java /usr/local/ jdk 1.8.0_45/bin/java 300
    update-alternatives --install /usr/bin/javac javac /usr/local/ jdk 1.8.0_45/bin/javac 300
    
  11. 选择默认的jdk

```linux
update-alternatives--config java
```
  1. 由于CentOS自带有jdk,安装上去的jdk无法启用;此时需要卸载系统自带的jdk
    1. 卸载系统自带的jdk版本:
      查看自带的jdk:
      #rpm -qa|grep gcj  
      
      可能看到如下类似的信息:
       libgcj-4.1.2-44.el5 
             java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 
      
      使用rpm-e --nodeps 命令删除上面查找的内容:
      #rpm -e –nodepsjava-1.4.2-gcj-compat-1.4.2.0-40jpp.115
      
    2. 卸载rpm安装的jkd版本
      查看安装的jdk:
      #rpm -qa|grep jdk 
      
      可能看到如下类似的信息:
       jdk-1.6.0_22-fcs 
      
      卸载:
      #rpm -e --nodepsjdk-1.6.0_22-fcs 
      
三、Kafka安装
  1. 关闭SeLinux

    vi /etc/selinux/config
    
    #SELINUX=enforcing #注释掉
    #SELINUXTYPE=targeted #注释掉
    SELINUX=disabled #增加
    	
    :wq! #保存退出
    

    执行命令 setenforce 0 #使配置立即生效

  2. 解压缩kafka包

    # 解压缩kafka包
    tar -zxvf kafka_2.11-0.10.1.1.tgz
    # 创建kafka数据保存路径
    mkdir /data/mat/kafka/log/kafka
    # 创建zookeeper数据保存路径
    mkdir /data/mat/kafka/log/zookeeper
    mkdir /data/mat/kafka/log/zookeeperlogs
    
  3. 文件赋权

    chmod -R 777 /data/mat/kafka_2.11-0.10.1.1/
    # 进入kafka配置路径
    cd /data/mat/kafka_2.11-0.10.1.1/conf
    
  4. 编辑server.properties文件

    vi server.properties
    # 修改listeners = PLAINTEXT://your.host.name:9092,其中your.host.name为当前机器的真实ip。例:
    listeners=PLAINTEXT://xx.xx.xx.xx:9092
    
    # 修改log.dirs为之前创建的数据保存路径,例:
    log.dirs=/data/mat/kafka/log/kafka
    # 同时修改最大分区
    num.partitions=10
    
    # 设置zookeeper超时时间
    zookeeper.connection.timeout.ms=400000
    # 设置consumer负载均衡的频率
    group.initial.rebalance.delay.ms=3000
    
    # 完成后保存该文件
    
  5. 编辑zookeeper.properties文件

    vi zookeeper.properties
    
    # 修改dataDir,dataLogDir为之前创建的数据保存路径,例:
    dataDir=/data/mat/kafka/log/zookeeper
    dataLogDir=/data/mat/kafka/log/zookeeperlogs
    
    # 将maxClientCnxns改为100,同时新增3个参数
    maxClientCnxns=100
    tickTime=2000
    initLimit=10
    syncLimit=5
    
    # 完成后保存该文件
    
  6. 启动测试

    # 进入bin文件夹
    cd /data/mat/kafka_2.11-0.10.1.1/bin
    
    # 执行如下命令
    ./zookeeper-server-start.sh -daemon ../config/zookeeper.properties
    
    # 等待3s后执行
    ./kafka-server-start.sh -daemon ../config/server.properties
    
    # 通过netstat -tnlp查看kafka是否启动成功(9092与2181端口存在说明启动成功)
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值