前置环境
Hadoop集群必须部署完成,如果还没有搭建请先前往>>Hadoop全分布搭建笔记
附加:Zookeeper集群必须部署完成且启动,如果还没有搭建请先前往>>Zookeeper组件配置
程序版本
kafka 2.11
资源下载:
链接:https://pan.xunlei.com/s/VNoS5J4h7-dL_0o5tkBruBsiA1?pwd=mywf#
提取码:mywf
组件介绍
Kafka是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统,其主要特点为:
1、以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能
2、高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输
3、支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输
4、同时支持离线数据处理和实时数据处理
操作流程
上传Kafka
使用FTP工具(xftp)上传Kafka的程序包到master
[root@master ~]# ls
kafka_2.11-1.0.0.tgz
解压Kafka
[root@master ~]# tar xf kafka_2.11-1.0.0.tgz -C /usr/local/src/
# 解压后,cd进入Kafka解压目录
[root@master ~]# cd /usr/local/src/
[root@master src]# ls
hadoop jdk kafka_2.11-1.0.0 zookeeper
# 修改Kafka文件夹名称
[root@master src]# mv kafka_2.11-1.0.0/ kafka
[root@master src]# ls
hadoop jdk kafka zookeeper
配置环境变量
使环境变量仅对root用户生效,编辑root用户的环境变量
[root@master src]# vi /root/.bash_profile
修改后的文件状态
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
JAVA_HOME=/usr/local/src/jdk
HADOOP_HOME=/usr/local/src/hadoop
ZOOKEEPER_HOME=/usr/local/src/zookeeper
KAFKA_HOME=/usr/local/src/kafka
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$KAFKA_HOME/bin
export PATH
生效环境变量
[root@master src]# source /root/.bash_profile
配置Kafka
进入Kafka配置目录:cd /usr/local/src/kafka/config/
编辑Kafka配置文件:vi server.properties
修改位置:60行 log.dirs 123行 zookeeper.connect
# 由于配置文件字数过多,仅展示修改部分的内容
############################# Log Basics #############################
# 日志消息存储位置
log.dirs=/usr/local/src/kafka/kafka_data
############################# Zookeeper #############################
# Zookeeper服务连接地址
zookeeper.connect=master:2181
启动Kafka
启动命令:kafka-server-start.sh 配置文件名称
[root@master config]# kafka-server-start.sh /usr/local/src/kafka/config/server.properties
......
不关闭当前窗口的情况下克隆一个窗口查看kafka进程
[root@master ~]# jps
1643 Kafka
1593 QuorumPeerMain
1961 Jps
至此——Kafka组件搭建完成