Linux(fedora)下安装,配置zookeeper, kafka笔记

1. 安装zookeeper

1.1 安装jdk

需要配置好jdk环境,首先去官网下载jdk包:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

可以使用rpm -qa|grep jdk命令检查是否已经安装了openjdk,如果安装了先卸载。卸载命令 dnf remove java java-1.8.0-openjdk*

解压jdk安装包tar -zxvf jdk-****-linux-x64.tar.gz 复制到自己的软件文件夹

配置环境变量vi /etc/profile 后在倒数第三行处输入下面的内容
export JAVA_HOME=/opt/jdk1***
export CLASSPATH= C L A S S P A T H : CLASSPATH: CLASSPATH:JAVA_HOME/lib: J A V A H O M E / j r e / l i b e x p o r t P A T H = JAVA_HOME/jre/lib export PATH= JAVAHOME/jre/libexportPATH=JAVA_HOME/bin: J A V A H O M E / j r e / b i n : JAVA_HOME/jre/bin: JAVAHOME/jre/bin:PATH:$HOME/bin

让环境变量生效 source /etc/profile
验证:输入java或者java -version

1.2 安装zookeeper

下载tar.gz包,解压 tar -zxvf zookeeper-3.4.13.tar.gz (根据实际版本修改)

进入conf目录,将zoo_sample.cfg复制为zoo.cfg 命令为 cp zoo_sample.cfg zoo.cfg

使用vim编辑zoo.cfg文件,修改以下内容:

dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log

注意:如果想配置集群的话,请在clientPort下面添加服务器的ip。如

server.1=192.168.180.132:2888:3888
server.2=192.168.180.133:2888:3888

server.3=192.168.180.134:2888:3888
如果电脑内存比较小,zookeeper还可以设置成伪集群。也就是全部服务器采用同一个ip,但是使用不同的端口。

在tmp目录创建目录。

[root@localhost conf]# mkdir /tmp/zookeeper
[root@localhost conf]# mkdir /tmp/zookeeper/data
[root@localhost conf]# mkdir /tmp/zookeeper/log

如果是配置集群,还需要在前面配置过的dataDir路径下新增myid文件

[root@localhost conf]# cd /tmp/zookeeper/data
[root@localhost data]# touch myid
[root@localhost data]# vim myid

在data目录下创建文件,文件名为“myid”, 编辑该“myid”文件,并在对应的IP的机器上输入对应的编号。
如在192.168.180.132上,“myid”文件内容就是1。在192.168.180.133上,内容就是2。

配置环境变量:

[root@localhost zookeeper-3.4.13]# export ZOOKEEPER_INSTALL=/usr/local/zookeeper-3.4.13/
[root@localhost zookeeper-3.4.13]# export PATH= P A T H : PATH: PATH:ZOOKEEPER_INSTALL/bin

启动zookeeper:进入bin目录,执行命令 ./zkServer.sh start

2. 安装kafka

下载tar.gz包,解压 tar -zxvf kafka_2.10-0.10.2.1.tgz

进入配置文件目录 cd /usr/local/software/kafka_2.10-0.10.2.1/config

修改配置文件 server.properties

默认配置 advertised.listeners=PLAINTEXT://:your.host.name:9092 修改为 advertised.listeners=PLAINTEXT://:ip:9092

ip为服务器ip。

hostname和端口是用来建议给生产者和消费者使用的,如果没有设置,将会使用listeners的配置,如果listeners也没有配置,将使用java.net.InetAddress.getCanonicalHostName()来获取这个hostname和port,对于ipv4,基本就是localhost了。

"PLAINTEXT"表示协议,可选的值有PLAINTEXT和SSL,hostname可以指定IP地址,也可以用"0.0.0.0"表示对所有的网络接口有效,如果hostname为空表示只对默认的网络接口有效。也就是说如果你没有配置advertised.listeners,就使用listeners的配置通告给消息的生产者和消费者,这个过程是在生产者和消费者获取源数据(metadata)。

3. 启动kafka

首先要启动zookeeper: /usr/local/zookeeper-3.4.13/bin/zkServer.sh start

启动kafka: bin/kafka-server-start.sh config/server.properties

(停止卡夫卡:bin/kafka-server-stop.sh config/server.properties)

创建topic:bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic demo (demo为topic名称)。这条命令创建了一个名为 demo 的主题,其中包含一个分区和一个副本因子。 创建成功之后会输出: Created topic “demo”.

查询topic列表:bin/kafka-topics.sh --list --zookeeper localhost:2181

查看topic信息:bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic demo

删除topic:bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic demo

启动生产者:bin/kafka-console-producer.sh --broker-list localhost:9092 --topic demo

启动消费者:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic demo --from-beginning

查看kafka生产最大位置偏移量 bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic demo --time -1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值