了解好kafka的基础概念之后,可以开始动手,

环境:centos7,

官方教程

http://kafka.apache.org/quickstart#quickstart_download


安装java环境,安装jdk(推荐,也省事)

Centos :

yum -y update

yum -y install java

Ubuntu :

sudo apt-get update

sudo apt-get install java


或者也可以通过源码手动安装(如果上面的执行了,这一步到重启环境变量,可以直接跳过了)

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html


tar zxvf jdk-8u65-linux-x64.tar.gz

mv jdk1.8.0_65 java

mv java /java


#设置环境变量,生效

vi .bash_profile

JAVA_HOME=/java

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME PATH


#重新启动环境变量,使配置生效

source .bash_profile 


下载kafka

wget https://mirror.bit.edu.cn/apache/kafka/2.7.0/kafka_2.12-2.7.0.tgz


> tar xf kafka_2.12-2.7.0.tgz

> cd kafka_2.12-2.7.0


启动zookeeper服务

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties


#可以通过ps aux | grep zookeeper

查看起来没有


#编辑kafka配置变量,几个重要的设置

 

vim config/server.properties
num.partitions = 10   #设置partitions数量,在客户端消费时指定多少个线程并发
listeners=PLAINTEXT://192.168.1.200:9092     #设置本机的监听ip及端口,如果为127.0.0.1那从其他机器上将连接不了,需要把192.168.1.200(我的ip)设置成你自己本机的真实ip
#设置日志的保存时间,是按byt保存还是按照时间,超过的会自动删除
log.retention.bytes=1073741824
log.retention.hours=168
zookeeper.connect=localhost:2181#本地监听的zookeeper端口,默认即可


启动kafka

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


vim /etc/iptables.startup

#增加

-A KAFKA -p tcp -m tcp --dport 10050 -j ACCEPT

#重启,生效

iptables-restore < /etc/iptables.startup

#查看list

iptables -L

#设置完成后在本地telnet下本机的10050通么,通的话再从其他机器telnet测试下


#如果需要重启kafka或者zookeeper,执行下面kill命令,再重新执行上面启动命令就可以了

ps -ef | grep kafka |awk '{print $2}'|xargs kill -9