一、运行环境搭建
在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搭建:
-
下载jdk的linux版本的.tar.gz包。
-
将.tar.gz包解压
tar –zxvfjdk-8u45-linux-x64.tar.gz
-
将文件夹移动到相应的位置,事先在usr路径下创建一个Java文件夹,然后将jdk的文件夹移动至java文件夹中。
进入usr中:cd /usr
创建java文件夹:
mkdir java
移动jdk文件:
mv jdk 1.8.0_45 /usr/java
-
备份系统环境变量
cp /etc/profile /home/john
-
编辑系统的环境变量
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
-
加载设置的系统变量
source /etc/profile
-
测试是否安装成功,得到jdk版本信息
java-version
-
查看javac
显示javac的命令帮助,jdk和环境变量配置成功了 -
重启配置生效(不使用source /etc/profile加载系统变量时,可使用这种方法)
reboot
-
下载完成后将安装的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
-
选择默认的jdk
```linux
update-alternatives--config java
```
- 由于CentOS自带有jdk,安装上去的jdk无法启用;此时需要卸载系统自带的jdk
- 卸载系统自带的jdk版本:
查看自带的jdk:
可能看到如下类似的信息:#rpm -qa|grep gcj
使用rpm-e --nodeps 命令删除上面查找的内容:libgcj-4.1.2-44.el5 java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
#rpm -e –nodepsjava-1.4.2-gcj-compat-1.4.2.0-40jpp.115
- 卸载rpm安装的jkd版本
查看安装的jdk:
可能看到如下类似的信息:#rpm -qa|grep jdk
卸载:jdk-1.6.0_22-fcs
#rpm -e --nodepsjdk-1.6.0_22-fcs
- 卸载系统自带的jdk版本:
三、Kafka安装
-
关闭SeLinux
vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq! #保存退出
执行命令 setenforce 0 #使配置立即生效
-
解压缩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
-
文件赋权
chmod -R 777 /data/mat/kafka_2.11-0.10.1.1/ # 进入kafka配置路径 cd /data/mat/kafka_2.11-0.10.1.1/conf
-
编辑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 # 完成后保存该文件
-
编辑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 # 完成后保存该文件
-
启动测试
# 进入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端口存在说明启动成功)