kafka安装

环境:

CentOS release 6.7 (Final)

kafka_2.11-0.11.0.1.tgz

zookeeper-3.4.8.tar.gz

jdk-7u2-linux-x64.tar.gz(其他版本可能会出错,Javase9出错)

1、安装jdk

解压

[root@localhost jdk1.7.0_02]# ls

bin  COPYRIGHT  db  include  jre  lib  LICENSE  man  README.html  release  src.zip  THIRDPARTYLICENSEREADME.txt

[root@localhost jdk1.7.0_02]# pwd

/usr/jdk1.7.0_02

添加环境变量

[root@localhost jdk1.7.0_02]# vim /etc/profile

#jdk

JAVA_HOME=/usr/jdk1.7.0_02/

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

[root@localhost jdk1.7.0_02]# source /etc/profile

[root@localhost jdk1.7.0_02]# java -version

java version "1.7.0_02"

Java(TM) SE Runtime Environment (build 1.7.0_02-b13)

Java HotSpot(TM) 64-Bit Server VM (build 22.0-b10, mixed mode)

2、安装zookeeper

解压

[root@localhost ~]# tar zxvf zookeeper-3.4.8.tar.gz

配置环境变量

[root@localhost ~]# vim /etc/profile

#zookeeper环境变量设置

ZOOKEEPER_HOME=/usr/local/logdeal/zookeeper-3.4.6

PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$ZOOKEEPER_HOME/lib:

export ZOOKEEPER_HOME

配置

配置文件在$ZOOKEEPER_HOME/conf/ 目录下,将zoo_sample.cfg文件名改成zoo.cfg。

[root@localhost conf]# mv zoo_sample.cfg zoo.cfg

[root@localhost conf]# cat zoo.cfg

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/tmp/zookeeper

# the port at which the clients will connect

clientPort=2181

# the maximum number of client connections.

# increase this if you need to handle more clients

#maxClientCnxns=60

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

配置说明:

tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。

dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置。

clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

3、启动zookeeper

[root@localhost bin]# ./zkServer.sh start

ZooKeeper JMX enabled by default

Using config: /usr/zookeeper-3.4.8/bin/../conf/zoo.cfg

Starting zookeeper ...STARTED

查看zookeeper进程

[root@localhost bin]# ps -ef|grep zookeeper

root      7158      1  4 20:12 pts/6    00:00:05 /usr/jdk1.7.0_02/bin/java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /usr/zookeeper-3.4.8/bin/../build/classes:/usr/zookeeper-3.4.8/bin/../build/lib/*.jar:/usr/zookeeper-3.4.8/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/zookeeper-3.4.8/bin/../lib/slf4j-api-1.6.1.jar:/usr/zookeeper-3.4.8/bin/../lib/netty-3.7.0.Final.jar:/usr/zookeeper-3.4.8/bin/../lib/log4j-1.2.16.jar:/usr/zookeeper-3.4.8/bin/../lib/jline-0.9.94.jar:/usr/zookeeper-3.4.8/bin/../zookeeper-3.4.8.jar:/usr/zookeeper-3.4.8/bin/../src/java/lib/*.jar:/usr/zookeeper-3.4.8/bin/../conf:.:/usr/jdk1.7.0_02/lib/tools.jar:/usr/jdk1.7.0_02/lib/dt.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /usr/zookeeper-3.4.8/bin/../conf/zoo.cfg

查看zookeeper端口

[root@localhost bin]# netstat -anput|grep 7158

tcp        0      0 :::2181                    :::*                        LISTEN      7158/java

tcp        0      0 :::45554                    :::*                        LISTEN      7158/java

tcp        0      0 ::ffff:192.168.196.128:2181 ::ffff:192.168.196.12:52431 ESTABLISHED 7158/java

tcp        0      0 ::ffff:192.168.196.128:2181 ::ffff:192.168.196.12:52432 ESTABLISHED 7158/java

tcp        0      0 ::ffff:192.168.196.128:2181 ::ffff:192.168.196.12:52434 ESTABLISHED 7158/java

tcp        0      0 ::ffff:127.0.0.1:2181      ::ffff:127.0.0.1:38755      ESTABLISHED 7158/java

4、安装kafka

[root@localhost ~]# tar zxvf

kafka_2.11-0.11.0.1.tgz

kafka目录介绍

/bin 操作kafka的可执行脚本,还包含windows下脚本

/config 配置文件所在目录

/libs 依赖库目录

/logs 日志数据目录,目录kafka把server端日志分为5种类型,为:server,request,state,log-cleaner,controller

5、启动kafka

[root@localhost bin]# ./kafka-server-start.sh /usr/kafka_2.11-0.11.0.1/config/server.properties &

[1] 7234

随后会显示配置信息,和日志信息。在此省略

查看kafka进程

[root@localhost ~]# ps -ef|grep kafka

root      5542  3244  1 19:30 pts/3    00:02:36 /usr/jdk1.7.0_02/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+DisableExplicitGC -Djava.awt.headless=true -Xloggc:/usr/kafka_2.11-0.11.0.1/bin/../logs/kafkaServer-gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dkafka.logs.dir=/usr/kafka_2.11-0.11.0.1/bin/../logs -Dlog4j.configuration=file:/usr/kafka_2.11-0.11.0.1/bin/../config/log4j.properties -cp .:/usr/jdk1.7.0_02/lib/tools.jar:/usr/jdk1.7.0_02/lib/dt.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/aopalliance-repackaged-2.5.0-b05.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/argparse4j-0.7.0.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/commons-lang3-3.5.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/connect-api-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/connect-file-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/connect-json-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/connect-runtime-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/connect-transforms-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/guava-20.0.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/hk2-api-2.5.0-b05.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/hk2-locator-2.5.0-b05.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/hk2-utils-2.5.0-b05.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jackson-annotations-2.8.5.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jackson-core-2.8.5.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jackson-databind-2.8.5.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jackson-jaxrs-base-2.8.5.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jackson-jaxrs-json-provider-2.8.5.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jackson-module-jaxb-annotations-2.8.5.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/javassist-3.21.0-GA.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/javax.annotation-api-1.2.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/javax.inject-1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/javax.inject-2.5.0-b05.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/javax.servlet-api-3.1.0.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/javax.ws.rs-api-2.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jersey-client-2.24.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jersey-common-2.24.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jersey-container-servlet-2.24.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jersey-container-servlet-core-2.24.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jersey-guava-2.24.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jersey-media-jaxb-2.24.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jersey-server-2.24.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jetty-continuation-9.2.15.v20160210.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jetty-http-9.2.15.v20160210.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jetty-io-9.2.15.v20160210.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jetty-security-9.2.15.v20160210.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jetty-server-9.2.15.v20160210.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jetty-servlet-9.2.15.v20160210.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jetty-servlets-9.2.15.v20160210.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jetty-util-9.2.15.v20160210.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/jopt-simple-5.0.3.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/kafka_2.11-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/kafka_2.11-0.11.0.1-sources.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/kafka_2.11-0.11.0.1-test-sources.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/kafka-clients-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/kafka-log4j-appender-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/kafka-streams-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/kafka-streams-examples-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/kafka-tools-0.11.0.1.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/log4j-1.2.17.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/lz4-1.3.0.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/maven-artifact-3.5.0.jar:/usr/kafka_2.11-0.11.0.1/bin/../libs/metrics-core-2.2.0.jar:/usr

查看kafka端口

[root@localhost ~]# netstat -anput|grep 5542

tcp        0      0 :::9092                    :::*                        LISTEN      5542/java

tcp        0      0 :::35127                    :::*                        LISTEN      5542/java

tcp        0      0 ::ffff:127.0.0.1:38755      ::ffff:127.0.0.1:2181      ESTABLISHED 5542/java

6、创建topic

[root@localhost ~]# /usr/kafka_2.11-0.11.0.1/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

验证topic是否创建成功

[root@localhost ~]# /usr/kafka_2.11-0.11.0.1/bin/kafka-topics.sh --list --zookeeper localhost:2181

test

7、测试

Xshell 打开两个窗口,一个是producer发送消息窗口,一个是console消费消息窗口。

producer发送消息窗口:

[root@localhost ~]# /usr/kafka_2.11-0.11.0.1/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

>this is a message

>>hello

>

console消费消息窗口:

[root@localhost ~]# /usr/kafka_2.11-0.11.0.1/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].

This is a message

This is another messagethis is a message

hello

经测试消息可以转发

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • ** 今天看了一下kafka官网,尝试着在自己电脑上安装和配置,然后学一下官方document。** Introd...
    RainChang阅读 4,978评论 1 30
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,490评论 18 139
  • kafka集群部署以及java客户端测试 本文主要讲述本人的集群部署kafka过程以及遇到的问题: 其中:kafk...
    madfrog_hc阅读 863评论 0 2
  • 服务器版本,centos7 root目录下: JDK安装 rpm -ivh jdk-8u144-linux-x64...
    madfrog_hc阅读 267评论 0 0
  • 读初中时听说到了高中你们会忘记初中的青涩时光,会忘记一些朋友,会断了联系…… 果然高中三年的时光很...
    艺咪阅读 293评论 0 1