Kafka概述
Kafka是一个分布式、支持分区的(partition)、多副本的 (replica),基于zookeeper协调
的分布式消息系统
使用场景:
- 日志收集:可以使用Kafka收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer
- 消息系统:解耦和生产者和消费者、缓存消息等。
- 用户活动跟踪:常被用于记录web用户或者app用户的各种活动(如浏览网页、搜索、点击等活动),这些活动被服务器发布带哦Kafka的topic中,过后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘
- 运营指标:记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。
Kafka安装(centos7)
第一步:下载安装包
官网:https://kafka.apache.org/downloads 网盘链接:https://pan.baidu.com/s/1dSQIpmohRC-TzMQcnuDggw 提取码:mrmz
在这里,我下载的是2.4.1版本的(网盘链接里面有2.4.0版本的),如下图:
将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
最终修改结果
修改结果如下:
修改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
补充:安装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
出现下面的内容就算是安装成功了
或者是去查看日志:
[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