在前面的章节讲述了Windows下Kafka的运行,以及Kafka知识点总结一、知识点总结二。这里通过搭建服务器,实践编程的角度,进一步理解Kafka原理。
一、安装配置JDK
参见http://www.cnblogs.com/a2211009/p/4265225.html,笔者以第一种方式安装,便于后面通过 apt-get upgrade 方式方便获得jdk的升级
//添加ppa
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
//安装oracle-java-installer
sudo apt-get install oracle-java8-installer
//默认配置
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
//设置系统默认JDK
sudo update-java-alternatives -s java-8-oracle
//测试成功与否
java -version
javac -version
二、安装配置Zookeeper单机模式
参见http://www.nohup.cc/article/183/,下载Zookeeper至文件目录Software,解压:
tar -zxvf zookeeper.tar.gz
切换到conf目录下,复制zoo_simple.cfg为zoo.cfg:
cd /home/xiaozhu/Software/zookeeper-3.5.2-alpha/conf
cp zoo_simple.cfg zoo.cfg
在/home/xiaozhu/Software/zookeeper-3.5.2-alpha目录下创建文件夹data,修改zoo.cfg内容:
initLimit=10
syncLimit=5
dataDir=/home/xiaozhu/Software/zookeeper-3.5.2-alpha/data
clientPort=2181
设置Zookeeper的环境变量,打开 /etc/profile,在结尾添加以下两句:
export ZOOKEEPER_HOME=/home/xiaozhu/Software/zookeeper-3.5.2-alpha
export PATH=.:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH
切换到bin目录下,并启动/停止zookeeper:
cd /home/xiaozhu/Software/zookeeper-3.5.2-alpha/bin
./zkServer.sh start
./zkServer.sh stop
三、安装配置Kafka单机模式
参见http://www.nohup.cc/article/183/,下载Kafka至目录Software,解压:
tar -zxvf kafka_2.12-1.0.0.tgz
切换到conf目录下,配置以下4个文件:server.properties,zookeeper.properties,producer.properties,consumer.properties。
(1)配置server.properties,在kafka目录下手动创建kafka_logs目录
#broker.id需改成正整数,单机为1就好
broker.id=1
#指定端口号
port=9092
#localhost这一项还有其他要修改,详细见下面说明
host.name=localhost
#指定kafka的日志目录
log.dirs=/home/xiaozhu/Software/kafka_2.12-1.0.0/kafka_logs
#连接zookeeper配置项,这里指定的是单机,所以只需要配置localhost,若是实际生产环境,需要在这里添加其他ip地址和端口号
zookeeper.connect=localhost:2181
(2)配置zookeeper.properties,在kafka目录下手动创建zookeeper/data目录
#数据目录
dataDir=/home/xiaozhu/Software/kafka_2.12-1.0.0/zookeeper/data
#客户端端口
clientPort=2181
host.name=localhost
(3)配置producer.properties
metadata.broker.list=localhost:9092
(4)配置consumer.properties
zookeeper.connect=localhost:2181
四、kafka的使用
1、启动zookeeper。进入Kafka目录/home/xiaozhu/Software/kafka_2.12-1.0.0执行以下命令
bin/zookeeper-server-start.sh config/zookeeper.properties
2、启动kafka服务。仍在该目录下执行以下命令
bin/kafka-server-start.sh config/server.properties
3、创建话题Topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testkafka
【根据地址和端口号查看topic】
bin/kafka-topics.sh --list --zookeeper localhost:2181
【内容:testKafka】
4、启动消息生产者并发送消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testkafka
Hello kafka !
5、启动消息消费者并收到消息
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic testkafka --from-beginning
Hello kafka !
然后Producer每发送一条消息,Consumer就会接收到这条消息
参考资料
1、http://www.cnblogs.com/a2211009/p/4265225.html
2、http://www.nohup.cc/article/183/