mac(Linux)安装配置kafka环境

mac(Linux)安装配置kafka环境

导读

本文介绍如何在Mac系统上安装和配置kafka环境,也适用于Linux系统,强烈***不建议***在Windows环境下尝试本博客。

软件环境说明如下:

  1. 操作系统:OS X 10.10.3
  2. JDK版本: 1.8
  3. zookeeper版本:zookeeper-3.4.9
  4. kafka版本:1.0.0

##一、安装包下载

1.1 zookeeper下载

zookeeper官网 :http://zookeeper.apache.org/.

下载截至当前日期(2018-01-13)的zookeeper稳定版本3.4.10,下载地址:http://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/,找到zookeeper-3.4.10.tar.gz 并下载。如果由于网络原因下载速度过慢,可以镜像地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/ 。解压至 /usr/local/Cellar目录下,解压命令:

tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local/Cellar/

###[1.2] kafka下载

kafka官网:http://kafka.apache.org/

kafka 1.0.0下载地址: http://archive.apache.org/dist/kafka/1.0.0/

解压至 /usr/local/Cellar目录下,解压命令:

tar -zxvf kafka_2.12-1.0.0.tgz -C /usr/local/Cellar/

好了,现在 /usr/local/Cellar目录下有两个文件夹:

--/usr/local/Cellar

 	--	zookeeper-3.4.10

	--  kafka_2.12-1.0.0

二、zookeeper配置与启动

2.1 配置zookeeper

把zookeeper-3.4.10/conf目录下的zoo_sample.cfg另存为zoo.cfg:

cd  zookeeper-3.4.10/conf/

cp zoo_sample.cfg zoo.cfg

找到dataDir=/tmp/zookeeper,把dataDir修改为自定义目录。当然,也可以保持默认值。这里重新指定dataDir:

dataDir=/usr/local/Cellar/zookeeper-3.4.10/zookeeperData

2.2 启动zookeeper

执行zookeeper-3.4.10/bin目录下的zkServer.sh脚本即可启动zookeeper:

sh zkServer.sh start

如果看到如下输出,说明zookeeper启动成功:

ZooKeeper JMX enabled by default
Using config: /usr/local/Cellar/zookeeper-3.4.10/bin/../conf/zoo.cfg
-n Starting zookeeper ...
STARTED

zookeeper启动后 ,默认端口为2181.

三、kafka配置与启动

###3.1 配置kafka

####3.1.1 连接zookeeper

打开kafka_2.12-1.0.0/config/server.properties,找到zookeeper.connect=localhost:2181,这里的ip和端口要和zookeeper保持一致。

####3.1.2 配置log.dirs

server.properties中找到log.dirs,修改为自定义目录:

log.dirs=/usr/local/Cellar/kafka_2.12-1.0.0/kafka-logs

3.2 启动kafka

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

此时可以用jps查看进程信息:

$ jps
1635 Jps
1404 Kafka
988 QuorumPeerMain

3.3 创建topic

创建一个topic和数据库里面建一个库是类似的(初次接触,暂时这么理解),测试命令:

 sh bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testtopic

命令里面 --create表示创建,--zookeeper localhost:2181 指定zookeeper的ip和端口, --replication-factor 1表示topic的副本为1,--partitions 1表示分区为1,--topic testtopic表示创建一个名为testtopic的topic.

执行完以上命令,如果看到如下输出,说明topic创建成功:

......
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Created topic "testtopic".
[2018-01-14 00:24:06,526] INFO [ReplicaFetcherManager on broker 0] Removed fetcher for partitions testtopic-0 (kafka.server.ReplicaFetcherManager)
......

3.4 启动生产者

执行以下命令,启动生产者:

$ sh bin/kafka-console-producer.sh --broker-list localhost:9092 --sync --topic testtopic

输出如下:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/Cellar/hbase-1.2.4/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/Cellar/kafka_2.12-1.0.0/libs/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

3.5 启动消费者

执行以下命令,启动消费者:

sh bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic testtopic --from-beginning

新版本如果出现执行上面的命令无法查看topic里面的信息,报错“zookeeper is not a recognized option”,是因为-zookeeper是一个过时的的命令,替换为–bootstrap-server,端口指定9092:

 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

esc_ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值