昨天搭建了storm,今天早上来开始搭建kafka。
下载路径:http://kafka.apache.org/downloads.html
最终选用的版本是 kafka_2.10-0.8.2.2。
版本下载地址:http://apache.01link.hk/kafka/0.8.2.2/kafka_2.10-0.8.2.2.tgz
wget http://apache.01link.hk/kafka/0.8.2.2/kafka_2.10-0.8.2.2.tgz
tar -zxvf kafka_2.10-0.8.2.2.tgz -C /usr/local
配置 修改 config/server.properties
由于我使用的本地部署的一个zookeeper,对server.properties 没有做任何修改。
启动Kafka服务
kafka-server-start.sh ../config/server.properties
启动成功,日志如下:
[2016-06-22 13:06:36,088] INFO Client environment:java.library.path=.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java (org.apache.zookeeper.ZooKeeper)
[2016-06-22 13:06:36,089] INFO Client environment:java.io.tmpdir=/var/folders/zd/cm2vjfwn1h36762jkx21l02w0000gn/T/ (org.apache.zookeeper.ZooKeeper)
[2016-06-22 13:06:36,089] INFO Client environment:java.compiler=<NA> (org.apache.zookeeper.ZooKeeper)
[2016-06-22 13:06:36,089] INFO Client environment:os.name=Mac OS X (org.apache.zookeeper.ZooKeeper)
[2016-06-22 13:06:36,089] INFO Client environment:os.arch=x86_64 (org.apache.zookeeper.ZooKeeper)
[2016-06-22 13:06:36,089] INFO Client environment:os.version=10.10.2 (org.apache.zookeeper.ZooKeeper)
[2016-06-22 13:06:36,089] INFO Client environment:user.name=jack (org.apache.zookeeper.ZooKeeper)
[2016-06-22 13:06:36,089] INFO Client environment:user.home=/Users/jack (org.apache.zookeeper.ZooKeeper)
[2016-06-22 13:06:36,089] INFO Client environment:user.dir=/usr/local/kafka_2.10-0.8.2.2/bin (org.apache.zookeeper.ZooKeeper)
[2016-06-22 13:06:36,090] INFO Initiating client connection, connectString=localhost:2181 sessionTimeout=6000 watcher=org.I0Itec.zkclient.ZkClient@2322bce (org.apache.zookeeper.ZooKeeper)
[2016-06-22 13:06:36,140] INFO Opening socket connection to server fe80:0:0:0:23c:ff:fe00:39c%10/fe80:0:0:0:23c:ff:fe00:39c%10:2181. Will not attempt to authenticate using SASL (java.lang.SecurityException: ????λ??¼????) (org.apache.zookeeper.ClientCnxn)
[2016-06-22 13:06:36,160] INFO Socket connection established to fe80:0:0:0:23c:ff:fe00:39c%10/fe80:0:0:0:23c:ff:fe00:39c%10:2181, initiating session (org.apache.zookeeper.ClientCnxn)
[2016-06-22 13:06:36,171] INFO Session establishment complete on server fe80:0:0:0:23c:ff:fe00:39c%10/fe80:0:0:0:23c:ff:fe00:39c%10:2181, sessionid = 0x15575dd97080004, negotiated timeout = 6000 (org.apache.zookeeper.ClientCnxn)
[2016-06-22 13:06:36,173] INFO zookeeper state changed (SyncConnected) (org.I0Itec.zkclient.ZkClient)
[2016-06-22 13:06:36,249] INFO Log directory '/tmp/kafka-logs' not found, creating it. (kafka.log.LogManager)
[2016-06-22 13:06:36,267] INFO Loading logs. (kafka.log.LogManager)
[2016-06-22 13:06:36,272] INFO Logs loading complete. (kafka.log.LogManager)
[2016-06-22 13:06:36,273] INFO Starting log cleanup with a period of 300000 ms. (kafka.log.LogManager)
[2016-06-22 13:06:36,277] INFO Starting log flusher with a default period of 9223372036854775807 ms. (kafka.log.LogManager)
[2016-06-22 13:06:36,315] INFO Awaiting socket connections on 0.0.0.0:9092. (kafka.network.Acceptor)
[2016-06-22 13:06:36,315] INFO [Socket Server on Broker 0], Started (kafka.network.SocketServer)
[2016-06-22 13:06:36,373] INFO Will not load MX4J, mx4j-tools.jar is not in the classpath (kafka.utils.Mx4jLoader$)
[2016-06-22 13:06:36,408] INFO 0 successfully elected as leader (kafka.server.ZookeeperLeaderElector)
[2016-06-22 13:06:36,478] INFO Registered broker 0 at path /brokers/ids/0 with address 127.0.0.1:9092. (kafka.utils.ZkUtils$)
[2016-06-22 13:06:36,493] INFO [Kafka Server 0], started (kafka.server.KafkaServer)
[2016-06-22 13:06:36,548] INFO New leader is 0 (kafka.server.ZookeeperLeaderElector$LeaderChangeListener)
启动成功!!!
安装过程中问题如下:
其实,刚开始我选择的版本是 kafka_2.10-0.8.2.0
启动的时候报错
Exception in thread "main" java.lang.NoClassDefFoundError: kafka/Kafka
Caused by: java.lang.ClassNotFoundException: kafka.Kafka
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
参考:https://issues.apache.org/jira/browse/KAFKA-259
这可能是kafka自己的一个问题。
然后我又选择了kafka_2.11-0.9.0.0.tgz
[2016-06-22 12:00:00,651] FATAL (kafka.Kafka$)
java.lang.UnsupportedClassVersionError: org/apache/kafka/common/utils/Utils : Unsupported major.minor version 51.0
需要1.7.0的jdk环境,由于我本地mac的环境是1.6.x的,所以放弃使用了。
未完,待续。。。
关于创建Topic、producer发送消息、consumer接收消息、单节点多个Broker,打算下篇文章写。