西柚的大数据从踩坑到放弃-kafka:二、Kafka的安装

前提条件

kafka依赖于zk,所以需要先行安装部署好zk集群,能够正常运行

下载

官方下载地址
这个可以下载高版本,拿到一个安装包比如 kafka_2.12-2.5.0.tgz,这个2.12是scala版本,2.5.0是kafka的发行版本。
kafka的高低版本主要区别:
第一,写flink java程序用到的kafka连接包的具体依赖不同,因为我最终是要用flink做流处理所以这块注意一下,暂时只想看kafka的话可以略过这块

  • 通用kafka-connector依赖(1.0.0版本以后)
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-connector-kafka_2.11</artifactId>
  <version>1.9.0</version>
</dependency>
  • 0.11以前
<dependency>
<groupId>org.apache.flink</groupId>
<!--kafka是哪个版本,这里就写版本号,如0.11版本-->
<artifactId>flink-connector-kafka-2.11_0.11</artifactId>
<version>1.9.0</version>
</dependency>

第二,命令参数的改变,这块稍后在安装完启动的时候可以自己去体会。
Kafka 从 2.2 版本开始将所有脚本中涉及的 −−zookeeper 参数标注为 “过时”,推荐使用 −−bootstrap-server 参数。(–bootstrap-server默认端口9092,–zookeeper一般通信端口是2181)。这里创建或删除topic,命令会有所差异,需要注意。
Kafka 从 2.5 版本开始将所有涉及到的–broker-list参数替换为–bootstrap-server,但他们的属性值是相同的。也就是简单改下参数名就完事了。

安装

#解压
tar -zxvf kafka_2.11-2.2.0.tgz -C /opt/module
cd /opt/module/
mv kafka_2.11-2.2.0/ kafka
cd kafka
mkdir data
touch version
vim version
#把版本号写进去

#配置
cd /opt/module/kafka/
cd config/
vim server.properties
#broker编号 broker.id=0
#kafka存数据的位置 log.dirs=/opt/module/kafka/data
#zk地址 zookeeper.connect=ubuntu001:2181,ubuntu002:2181,ubuntu003:2181

#配置环境变量(在安装kafka所有机器上)
vi /etc/profile
#########加入如下
#kafka home
#export KAFKA_HOME=/opt/module/kafka
#export PATH="$PATH:$KAFKA_HOME/bin"
#########
source /etc/profile

#复制到别的机器
scp -r kafka/ ubuntu002:/opt/module
scp -r kafka/ ubuntu003:/opt/module

#所有其他机器改server.properties的broker.id,累加

Tips:为什么配置文件里log.dirs要配成自己建立的data目录呢,是因为虽然它长得很像日志文件,实际却是用来存放数据的地方,真正的log文件kafka会自己建立log目录。在你使用了kafka之后来到data目录,可以看到以你的topic为名的子目录,然后你传输的消息就序列化后放在这里

验证

#每个机器上启动如下脚本(前提先启动zk),jps看到进程就说明可以了
bin/kafka-server-start.sh -daemon config/server.properties 

#创建topic试一下
bin/kafka-topics.sh --create --bootstrap-server ubuntu001:9092,ubuntu002:9092,ubuntu003:9092 --topic words_to_count --partitions 3 --replication-factor 2
bin/kafka-topics.sh  --list --bootstrap-server ubuntu001:9092,ubuntu002:9092,ubuntu003:9092

#两个窗口分别启动producer和consumer脚本,这边发消息另外一边收得到,则整体安装成功,注意参数
bin/kafka-console-producer.sh --broker-list ubuntu001:9092,ubuntu002:9092,ubuntu003:9092 --topic words_to_count
#也有可能是
bin/kafka-console-producer.sh --bootstrap-server ubuntu001:9092,ubuntu002:9092,ubuntu003:9092 --topic words_to_count

bin/kafka-console-consumer.sh --bootstrap-server ubuntu001:9092,ubuntu002:9092,ubuntu003:9092 --topic words_to_count
#也有可能是
bin/kafka-console-consumer.sh --zookeeper ubuntu001:2181,ubuntu002:2181,ubuntu003:2181 --topic words_to_count

一键启动

像zk那样再撸一个kafka的一键启动,再提醒一下脚本win传linux需要dos2unix

#!/bin/bash

case $1 in
"start"){
	for i in ubuntu001 ubuntu002 ubuntu003
	do
		echo "**************$i***************"
		ssh $i "source /etc/profile && /opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
	done
};;
case $1 in
"stop"){
	for i in ubuntu001 ubuntu002 ubuntu003
	do
		echo "**************$i***************"
		ssh $i "source /etc/profile && /opt/module/kafka/bin/kafka-server-stop.sh /opt/module/kafka/config/server.properties"
	done
};;
esac
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值