AI智能
改变未来

linux安装Kafka

#kafaka单节点部署

PS:Kafka中单节点部署又分为两种,一种为单节点单Broker部署,一种为单节点多Broker部署。因为是单节点的Kafka,所以在安装ZK时也只需要单节点即可。

#部署单击Zookeeper

安装完Zookeeper后,输入命令启动后,jps中并没有查看到QuorumPeerMain进程,说明没有启动成功。

#安装kafka

1.解压可以忽略

1,进入下载路径下,比如我的就是进入Downloads下。

 

输入命令: cd Downloads

 

2,解压到当前文件夹

 

输入:tar zxvf  文件名.tgz -C ./    比如我的是:tar zxvf simple-examples.tgz -C ./

 

3,解压到指定文件夹下

 

输入:tar  zxvf 文件名.tgz  -C /指定路径

 

比如我想解压到Home下:则变成tar zxvf simple-examples.tgz -C /Home

2. cd /usr/local/kafka_2.12-2.2.0/config

进入kafka的config目录下,有一个server.properties,添加如下配置

# broker的全局唯一编号,不能重复

broker.id=0

# 监听

listeners=PLAINTEXT://:9092

# 日志目录

log.dirs=/home/hadoop/kafka-logs

# 配置zookeeper的连接(如果不是本机,需要该为ip或主机名)

zookeeper.connect=localhost:2181

# 启动Zookeeper  启动Kafka

kafka-server-start.sh $KAFKA_HOME/config/server.properties

# 可以这么启动nohup ./kafka-server-start.sh /usr/local/kafka_2.12-2.2.0/config/server.properties &

[hadoop@Master ~]$ jps  看到如下信息

9173 Kafka

9462 Jps

8589 QuorumPeerMain

[hadoop@Master ~]$ jps -m

9472 Jps -m

9173 Kafka /opt/kafka/config/server.properties

8589 QuorumPeerMain /opt/zookeeper/bin/../conf/zoo.cfg

# 创建topic

cd /usr/local/kafka_2.12-2.2.0/bin

[root@localhost bin]# ./kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test

Created topic test.

You have new mail in /var/spool/mail/root

表示创建成功

# 参数说明: 

–zookeeper:指定kafka连接zk的连接url,该值和server.properties文件中的配置项{zookeeper.connect}一样 

–replication-factor:指定副本数量 

–partitions:指定分区数量 

–topic:主题名称

#查看所有的topic信息

[root@localhost bin]# ./kafka-topics.sh –list -zookeeper localhost:2181

test

[root@localhost bin]#

 

#启动生产者,启动后如图

[root@localhost bin]# ./kafka-console-producer.sh –broker-list localhost:9092 –topic test

>

#启动消费者

PS:kafka-console-consumer.sh –zookeeper localhost:2181 –topic test –from-beginning 这个命令是09以后的启动方法

PS:./kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test –from-beginning 0.90版本之后启动消费者的方法

[root@localhost bin]# ./kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test –from-beginning

#测试数据

1.在生产上实时输入

[root@localhost bin]# ./kafka-console-producer.sh –broker-list localhost:9092 –topic test

>hello world

>

2.消费者实时接收

[root@localhost bin]# ./kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test –from-beginning

hello world

3.注意

./kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test –from-beginning 这么启动以前的消息也会被消费

./kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test  这么启动只会消费最新的消息

############################################# 到此Kafka 单节点单Broker 部署完毕 #####################################################################

 

 

 

############################################# Kafka 单节点多Broker部署及使用 #####################################################################

#配置kafka 

拷贝server.properties三份

[hadoop@Master ~]$ cd /opt/kafka/config

[hadoop@Master config]$ cp server.properties server-1.properties 

[hadoop@Master config]$ cp server.properties server-2.properties 

[hadoop@Master config]$ cp server.properties server-3.properties 

 

修改 server-1.properties文件

# broker的全局唯一编号,不能重复

broker.id=1

# 监听

listeners=PLAINTEXT://:9093

# 日志目录 log一定要修改 否则也会启动失败

log.dirs=/home/hadoop/kafka-logs-1

 

修改server-2.properties文件

# broker的全局唯一编号,不能重复

broker.id=2

# 监听

listeners=PLAINTEXT://:9094

# 日志目录

log.dirs=/home/hadoop/kafka-logs-2

 

修改server-3.properties文件

# broker的全局唯一编号,不能重复

broker.id=3

# 监听

listeners=PLAINTEXT://:9094

# 日志目录

log.dirs=/home/hadoop/kafka-logs-3

 

# 启动 

1.启动zookeepre 。正常启动就行

2.kafka 需要这么启动

$ kafka-server-start.sh $KAFKA_HOME/config/server-1.properties

$ kafka-server-start.sh $KAFKA_HOME/config/server-2.properties

$ kafka-server-start.sh $KAFKA_HOME/config/server-3.properties

或者  nohup ./kafka-server-start.sh /usr/local/kafka_2.12-2.2.0/config/server-1.properties &  挨个启动

# 查看  jps 如图便是启动成功

[root@localhost local]# jps

6512 Jps

2707 QuorumPeerMain

5495 Kafka

5496 Kafka

5497 Kafka

 

# 创建topic(指定副本数量为3)

 

./kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 3 –partitions 1 –topic my-replicated-topic Created topic my-replicated-topic

 

# 查看所有的topic信息

my-replicated-topic

test

 

# 查看topic 详细信息

[root@localhost bin]# ./kafka-topics.sh –describe –zookeeper localhost:2181 –topic my-replicated-topic

Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:

Topic: my-replicated-topic Partition: 0 Leader: 5 Replicas: 5,6,7 Isr: 5,6,7

[root@localhost bin]# 

 

# 启动生产者

./kafka-console-producer.sh –broker-list localhost:9095,localhost:9096,localhost:9097 –topic my-replicated-topic

 

 

[root@localhost bin]# ./kafka-console-producer.sh –broker-list localhost:9095,localhost:9096,localhost:9097 –topic my-replicated-topic

>

 

# 启动消费者

PS :kafka消费者时报Connection to node 2 could not be established. Broker may not be available.这个错误

 

 

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » linux安装Kafka