提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前沿
如何在CentOS版本的Linux操作系统下安装和使用Kafka。
访问Kafka官网下载页面:https://kafka.apache.org/downloads
下载Kafka稳定版本kafka 2.11-2.2.0.tgz
前面的2.11就是支持的Scala版本号,后面的2.2.0是Kafka自身的版本号。
我是在Windows里下载的,在CentOS里安装使用的。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Windows主机(G:\share)和Linux虚拟机(/mnt/hgfs/share)之间文件共享
1.添加Windows主机的路径
前提:CentOS不要开机!!!!
我的计算机→CentOS_base(虚拟机的主机名)→虚拟机→设置
选项→共享文件夹→总是启用→添加
显示添加共享文件夹向导
选择Windows主机的路径,这里我选择的是G盘里的share文件夹
选择启用此共享
点击完成
点击确定,这样就添加好啦!
2.linux安装VMware-Tools
CentOS开机,右键点击Timinal,打开终端
安装VMware-Tools
yum install open-vm-tools-desktop fuse
3.创建CentOS共享文件目录
我的共享目录为/mnt/hgfs/share
cd /mnt/hgfs #切换路径
mkdir -p share #创建share文件夹
ls #显示查看
4.挂载共享文件夹
将windows主机目录(G:\share)挂载到linux系统路径(/mnt/hgfs/share)下,命令如下
/usr/bin/vmhgfs-fuse .host:/share /mnt/hgfs/share -o subtype=vmhgfs-fuse,allow_other
5.验证方法
S1:在Windows主机G:\share路径下,右键新建测试文件hello.txt
S2:在CentOS的终端中查看挂载目录(/mnt/hgfs/)下的共享文件share是否存在hello.txt
cd /mnt/hgfs/share
ls
S3:进入共享文件夹share拷贝测试文件hello.txt到linux
cp hello.txt /root/桌面/
二、kafka的安装和使用
将kafka压缩包复制到当前用户的主目录
cd /mnt/hgfs/share #共享文件夹
cp kafka 2.11-2.2.0.tgz /root/ #复制kafka到root目录下
cd /root/
ls
进行解压
tar -xzvf kafka_2.11-2.2.0.tgz
进入kafka的目录
cd kafka_2.11-2.2.0
其中
bin目录:kafka操作的一些shell脚本
config目录:kafka的配置文件
libs目录:kafka的依赖包
site-docs目录:说明文档
1.伪分布式集群进行kafka演示
创建etc目录用来存放配置文件
mkdir etc
复制kafka配置文件config下的zookeeper.properties文件到etc目录下
cp config/zookeeper.properties etc/
查看zookeeper.properties文件的内容
vi zookeeper.properties
其中,需要注意的是:
dataDir:zookeeper的配置目录
clientPort:zookeeper的端口
2.搭建一个具有三个broker的伪分布式节点
cd ..
cp config/server.properties etc/server-0.properties
cp config/server.properties etc/server-1.properties
cp config/server.properties etc/server-2.properties
进入etc目录,更改配置文件(3次!)
主要修改broker.id、listeners和log.dirs三个参数!
1)修改配置文件server-0.properties,如果参数一致,不需要更改。
cd etc
vim server-0.properties
broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs-0
2)修改配置文件server-1.properties
vim server-1.properties
broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs-1
3)修改配置文件server-2.properties
vim server-2.properties
broker.id=2
listeners=PLAINTEXT://:9094
log.dirs=/tmp/kafka-logs-2
3.启动伪分布式集群(第1个终端)
cd ..
cd bin
./zookeeper-server-start.sh ../etc/zookeeper.properties
启动完之后不返回输入命令的状态(即[root@master bin]# ),表示成功!
4.启动三个kafka实例(新建3个终端,启动3次!)
1)新建第2个终端(第1个终端不要关!),启动第一个kafka实例
cd kafka_2.11-2.2.0
cd bin
./kafka-server-start.sh ../etc/server-0.properties
启动完之后不返回输入命令的状态(即[root@master bin]# ),表示成功!
2)新建第3个终端(第1、2个终端不要关!),启动第二个kafka实例
cd kafka_2.11-2.2.0
cd bin
./kafka-server-start.sh ../etc/server-1.properties
启动完之后不返回输入命令的状态(即[root@master bin]# ),表示成功!
3)新建第4个终端(第1、2、3个终端不要关!),启动第三个kafka实例
cd kafka_2.11-2.2.0
cd bin
./kafka-server-start.sh ../etc/server-2.properties
启动完之后不返回输入命令的状态(即[root@master bin]# ),表示成功!
5.创建主题Topic
新建第5个终端(第1、2、3、4个终端不要关!),创建主题
cd kafka_2.11-2.2.0
cd bin
./kafka-topics.sh --zookeeper localhost:2181 --create --topic test --partitions 3 --replication-factor 2
查看topic的详细描述
./kafka-topics.sh --zookeeper localhost:2181 --describe --topic test
6消息发送读取
6.1创建消费者
./kafka-console-consumer.sh --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --topic test
6.2创建生产者
新建第6个终端(第1、2、3、4、5个终端不要关!),创建生产者
cd kafka_2.11-2.2.0
cd bin
./kafka-console-producer.sh --broker-list localhost:9092,localhost:9093,localhost:9094 --topic test
6.3消息发送读取
在第6个终端输入要发送的消息,在第5个终端接收已发送的消息。