Kafka概述

Kafka是一个分布式、支持分区的(partition)、多副本的 (replica),基于zookeeper协调的分布式消息系统

使用场景:

  1. 日志收集:可以使用Kafka收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer
  2. 消息系统:解耦和生产者和消费者、缓存消息等。
  3. 用户活动跟踪:常被用于记录web用户或者app用户的各种活动(如浏览网页、搜索、点击等活动),这些活动被服务器发布带哦Kafka的topic中,过后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘
  4. 运营指标:记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。

Kafka安装(centos7)

第一步:下载安装包

官网:https://kafka.apache.org/downloads 网盘链接:https://pan.baidu.com/s/1dSQIpmohRC-TzMQcnuDggw 提取码:mrmz

在这里,我下载的是2.4.1版本的(网盘链接里面有2.4.0版本的),如下图:

kafka下载编译好的版本和未编译的版本有什么区别_zookeeper


将kafka_2.11-2.4.1.tgz上传到虚拟机上面

[root@localhost ~]# mkdir kafka
[root@localhost ~]# ls
anaconda-ks.cfg  docker-files          test_centos.tar  视频  下载
apisix           initial-setup-ks.cfg  公共             图片  音乐
data             kafka                 模板             文档  桌面
[root@localhost ~]# cd kafka/
[root@localhost kafka]#

在CRT中按alt+P按下面的操作,进行上传

sftp> put C:\Kafka\ka
kafka-2.4.0-src.tgz   kafka_2.11-2.4.0.tgz  kafka_2.11-2.4.1.tgz
sftp> put C:/Kafka/kafka_2.11-
kafka_2.11-2.4.0.tgz  kafka_2.11-2.4.1.tgz
sftp> put C:/Kafka/kafka_2.11-2.4.1.tgz
Uploading kafka_2.11-2.4.1.tgz to /root/kafka_2.11-2.4.1.tgz
  100% 68515KB  68515KB/s 00:00:00     
C:/Kafka/kafka_2.11-2.4.1.tgz: 70159813 bytes transferred in 0 seconds (68515 KB/s)
sftp>

查看是否上传成功,并移动文件

[root@localhost kafka]# cd ~
[root@localhost ~]# ls
anaconda-ks.cfg  docker-files          kafka_2.11-2.4.1.tgz  模板  文档  桌面
apisix           initial-setup-ks.cfg  test_centos.tar       视频  下载
data             kafka                 公共                  图片  音乐
[root@localhost ~]# mv kafka_2.11-2.4.1.tgz ./kafka
[root@localhost ~]# ls
anaconda-ks.cfg  docker-files          test_centos.tar  视频  下载
apisix           initial-setup-ks.cfg  公共             图片  音乐
data             kafka                 模板             文档  桌面
[root@localhost ~]# cd kafka/
[root@localhost kafka]# ls
kafka_2.11-2.4.1.tgz
[root@localhost kafka]#

解压:

[root@localhost kafka]# tar -zxvf kafka_2.11-2.4.1.tgz
[root@localhost kafka]# ls
kafka_2.11-2.4.1  kafka_2.11-2.4.1.tgz
[root@localhost kafka]# cd kafka_2.11-2.4.1/
[root@localhost kafka_2.11-2.4.1]# ll
总用量 56
drwxr-xr-x. 3 root root  4096 3月   3 2020 bin
drwxr-xr-x. 2 root root  4096 3月   3 2020 config
drwxr-xr-x. 2 root root  8192 12月 23 16:08 libs
-rw-r--r--. 1 root root 32216 3月   3 2020 LICENSE
-rw-r--r--. 1 root root   337 3月   3 2020 NOTICE
drwxr-xr-x. 2 root root    44 3月   3 2020 site-docs
[root@localhost kafka_2.11-2.4.1]#

第二步:修改配置文件

server.properties

[root@localhost kafka_2.11-2.4.1]# ls
bin  config  libs  LICENSE  NOTICE  site-docs
[root@localhost kafka_2.11-2.4.1]# cd config/
[root@localhost config]# ls
connect-console-sink.properties    consumer.properties
connect-console-source.properties  log4j.properties
connect-distributed.properties     producer.properties
connect-file-sink.properties       server.properties
connect-file-source.properties     tools-log4j.properties
connect-log4j.properties           trogdor.conf
connect-mirror-maker.properties    zookeeper.properties
connect-standalone.properties
[root@localhost config]# vim server.properties

kafka下载编译好的版本和未编译的版本有什么区别_kafka_02


最终修改结果

kafka下载编译好的版本和未编译的版本有什么区别_big data_03


kafka下载编译好的版本和未编译的版本有什么区别_kafka_04


修改结果如下:

kafka下载编译好的版本和未编译的版本有什么区别_big data_05

修改zookeeper的配置信息

[root@localhost kafka_2.11-2.4.1]# ls
bin  config  libs  LICENSE  NOTICE  site-docs
[root@localhost kafka_2.11-2.4.1]# cd config/
[root@localhost config]# ls
connect-console-sink.properties    consumer.properties
connect-console-source.properties  log4j.properties
connect-distributed.properties     producer.properties
connect-file-sink.properties       server.properties
connect-file-source.properties     tools-log4j.properties
connect-log4j.properties           trogdor.conf
connect-mirror-maker.properties    zookeeper.properties
connect-standalone.properties
[root@localhost config]# vim zookeeper.properties

kafka下载编译好的版本和未编译的版本有什么区别_centos_06

补充:安装jdk

# 检查一下环境种是否有Java变量。如果上面都没有输出,则没有安装
echo $JAVA_HOME
# 检查完没有配置,我们接着来配置一下环境变量,把jdk的安装路径找到,把这个路径赋值给JAVA_HOME,写入到用户主目录下的.bash_profile中或者放到/etc/profile中。通过如下命令来进行配置
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
# 接着让配置文件生效。
source /etc/profile

第三步:启动zookeeper和Kafka

[root@localhost kafka_2.11-2.4.1]# ./bin/kafka-server-start.sh -daemon  ./config/zookeeper.properties
[root@localhost kafka_2.11-2.4.1]# ./bin/kafka-server-start.sh -daemon  ./config/server.properties
[root@localhost kafka_2.11-2.4.1]#

最后,检查是否安装成功

通过命令:

ps -ef | grep kafka

出现下面的内容就算是安装成功了

kafka下载编译好的版本和未编译的版本有什么区别_big data_07


或者是去查看日志:

[root@localhost bin]# cd ..
[root@localhost kafka_2.11-2.4.1]# ls
bin  config  libs  LICENSE  logs  nohup.out  NOTICE  site-docs
[root@localhost kafka_2.11-2.4.1]# cd ..
[root@localhost kafka]# ls
data  kafka_2.11-2.4.1  kafka_2.11-2.4.1.tgz
[root@localhost kafka]# cd data/
[root@localhost data]# ls
kafka-logs  zookeeper-logs
[root@localhost data]# cat zookeeper-logs/
[root@localhost data]# cd zookeeper-logs/
[root@localhost zookeeper-logs]# ls
version-2
[root@localhost zookeeper-logs]# cd version-2/
[root@localhost version-2]# ls
log.1  snapshot.0