TMD….写那么多按了个回退。。。不是号称自动保存么
准备工作
- Reference: http://www.cnblogs.com/liushannet/p/4303793.html
- Parallels 安装 Fedora 23
- 安装 Parallels Tools
- DOCK强迫症患者
yum update
yum install gnome-shell-extension-*
yum install docky
开始
1.安装Gradle
如果翻墙在外/铁了心跟reference里面来,可以编译,然后跟我一样傻逼等了1个小时之后hold不住直接yum。。。
yum install gradle
2.找你的jdk
find /usr -name java
3.直接写进bash_profile
vi ~/.bash_profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.91-6.b14.fc23.x86_64
export GRADLE_HOME=/usr/share/gradle
export PATH=$PATH:$GRADLE_HOME/bin:$JAVA_HOME:$JAVA_HOME/bin
4.下载kafka
原文中载源代码编译,茫茫多文件要载,hold不住直接搞bin,主要缺scala。看好scala的版本,载对应版本的kafka bin
// 下载: http://kafka.apache.org/downloads.html
// tar -zxvf kafka-0.10.0.0-src.tgz
// mv kafka/ /usr/local/kafka/
// #gradle
// ./gradlew
// ./gradlew jar
下载kafka bin
yum install scala
scala
Welcome .... 2.10.4 .....
wget https://www.apache.org/dyn/closer.cgi?path=/kafka/0.10.0.0/kafka_2.10-0.10.0.0.tgz // 注意scala版本
5.启动 zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties &
6.启动 kafka
bin/kafka-server-start.sh config/server.properties &
测试
1.创建topic :test
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
–replication-factor 表示副本的数量(kafka服务的数量)
–partitions 分区的数量
一个topic 可以有多个分区.产生消息可以随机或用指定算法写入到指定分区.
2.查看topic列表:
bin/kafka-topics.sh --list --zookeeper localhost:2181
3.查看topic状态:
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
4.往topic添加消息(Leader kafka):
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Hello World!
^C
5.新开一个terminal,启动topic观察者:
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
#这里会输出
Hello World!
^C
其他
- kafka-manager
[root@fedora software]# wget https://github.com/yahoo/kafka-manager/archive/master.zip
[root@fedora software]# mv master.zip kafka-manager.zip
[root@fedora software]# unzip kafka-manager.zip
[root@fedora software]# cd kafka-manager-master/conf
[root@fedora conf]# ls
application.conf logback.xml logger.xml routes
[root@fedora conf]# vi application.conf
[root@fedora conf]# cd ..
[root@fedora conf]# ./sbt clean dist
[root@fedora conf]# ... #play framework ...
[info] Your package is ready in /target/universal/kafka-manager-1.3.0.8.zip
[success] Total time: 944 s, completed 2016-6-10 18:29:50
[root@fedora universal]# unzip kafka-manager-1.3.0.8.zip
[root@fedora universal]# mv kafka-manager-1.3.0.8 /usr/local/kafka-manager
[root@fedora universal]# cd /usr/local/kafka-manager/
[root@fedora kafka-manager]# ./bin/kafka-manager -Dconfig.file=./conf/application.conf -Dhttp.port=9009
firefox: http://localhost:9009
设置开机启动
[root@fedora kafka-manager]# touch /etc/rc.d/rc.local
[root@fedora kafka-manager]# vi /etc/rc.d/rc.local
#!/bin/bash
/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties &
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &
/usr/local/kafka-manager/bin/kafka-manager -Dconfig.file=/usr/local/kafka-manager/conf/application.conf -Dhttp.port=9009 &
[root@fedora kafka-manager]# chmod +x /etc/rc.d/rc.local
[root@fedora kafka-manager]# vi /usr/lib/systemd/system/rc-local.service
[Install]
WantedBy=multi-user.target
systemctl enable rc-local.service
reboot 之后起consumer 和 producer 看下,妈蛋,消息木有了,topic木有了。
[root@fedora kafka-manager]# vi config/zookeeper.properties
dataDir=/tmp/zookeeper =>
dataDir=/data/zookeeper
[root@fedora kafka-manager]# vi config/server.properties
log.dir=/tmp/kafka-logs =>
log.dir=/data/kafka-logs
# 还有一个standalone 略