博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一脸懵逼学习KafKa集群的安装搭建--(一种高吞吐量的分布式发布订阅消息系统)...
阅读量:7050 次
发布时间:2019-06-28

本文共 2731 字,大约阅读时间需要 9 分钟。

1:KafKa的官方网址:

开发流程图,如:

2:KafKa的基础知识:

2.1:kafka是一个分布式的消息缓存系统

2.2:kafka集群中的服务器都叫做broker
2.3:kafka有两类客户端,一类叫producer(消息生产者),一类叫做consumer(消息消费者),客户端和broker服务器之间采用tcp协议连接
2.4:kafka中不同业务系统的消息可以通过topic进行区分,而且每一个消息topic都会被分区,以分担消息读写的负载
2.5每一个分区都可以有多个副本,以防止数据的丢失
2.6某一个分区中的数据如果需要更新,都必须通过该分区所有副本中的leader来更新
2.7消费者可以分组,比如有两个消费者组A和B,共同消费一个topic:order_info,A和B所消费的消息不会重复
  比如 order_info 中有100个消息,每个消息有一个id,编号从0-99,那么,如果A组消费0-49号,B组就消费50-99号
2.8消费者在具体消费某个topic中的消息时,可以指定起始偏移量

 3:KafKa集群的安装搭建,注意区分单节点KafKa集群的搭建。

  3.1:kafka集群安装,第一步上传kafka_2.10-0.8.1.1.tgz到虚拟机上面,过程省略,然后进行解压缩操作:

  3.2:修改kafka配置文件,修改server.properties

修改如下所示,具体情况可以根据手册修改,详细修改可以参考Kafka的文档:

 

 使用自己部署的Zookeeper集群,修改如下所示:

可以直接搜索:/zookeeper.connect找到所要修改的内容:

 将配置好的Kafka复制到另外两个节点上面:

[root@master hadoop]# scp -r kafka_2.10-0.8.1.1/ slaver1:/home/hadoop/

[root@master hadoop]# scp -r kafka_2.10-0.8.1.1/ slaver2:/home/hadoop/

 

 然后修改一下另外两台的broker.id=2和broker.id=3:

 

   3.3:将zookeeper集群启动:

[root@master hadoop]# cd /home/hadoop/zookeeper-3.4.5/bin/
[root@master bin]# ./zkServer.sh start
[root@slaver2 bin]#  ./zkServer.sh status

 

   3.4:在每一台节点上启动broker:

    bin/kafka-server-start.sh config/server.properties

Unrecognized VM option 'UseCompressedOops'Error: Could not create the Java Virtual Machine.Error: A fatal exception has occurred. Program will exit.

启动的时候报错了,问题的根本是UseCompressedOops是jdk8的,而我的jdk是7,所以解决一下问题:

原因是jdk的版本不匹配,需要修改一下配置文件

修改文件:
  去掉这个配置
  -XX:+UseCompressedOops

 

进去以后,搜索一下比较快:/UseCompressedOops,然后看到如下,删除如此配置:

[root@master bin]# vim kafka-run-class.sh

其他两个节点的都按照如此删除掉即可

修改好以后开始跑:

在每一台节点上启动broker

bin/kafka-server-start.sh config/server.properties

然后按照如此将其他两个节点都启动起来,然后复制xshell的连接看一下jps进程启动情况:

 三个都启动起来,可以看一下,broker 1,broker 2,broker 3都启动起来了:

可以使用复制的xshell窗口查看jps进程启动情况:

   3.5:在kafka集群中创建一个topic:

[root@master kafka_2.10-0.8.1.1]# bin/kafka-topics.sh --create --zookeeper master:2181 --replication-factor 3 --partitions 1 --topic order

 

可以查看一下自己创建的topic:

 [root@master kafka_2.10-0.8.1.1]# bin/kafka-topics.sh --list --zookeeper master:2181

可以创建多个多个topic,也可以查看一下自己创建的topic:

   3.6:用一个producer向某一个topic中写入消息,生产者产生消息,消费者消费消息,如下生产者可以生产:

如下先启动一下生产者,先不生产消息,然后一个消费者,看看是否有输出,然后再生产消息,再去消费者看看消费消息:

#生产者[root@master kafka_2.10-0.8.1.1]# bin/kafka-console-producer.sh --broker-list master:9092 --topic order#消费者[root@master kafka_2.10-0.8.1.1]# bin/kafka-console-consumer.sh --zookeeper master:2181 --from-beginning --topic order

上面是生产者:

下面是消费者:

  3.7:查看一个topic的分区及副本状态信息:

自己可以找任意一个xshell复制连接进程查看:

[root@slaver1 kafka_2.10-0.8.1.1]# bin/kafka-topics.sh --describe --zookeeper master:2181 --topic order

 4:kafka运行在后台如何操作,如下所示:

  1>/dev/null:代表标准输入到这个目录;

  2>&1:代表标准输出也到这个目录下面;

  &:代表这个是后台运行;

[root@master kafka_2.10-0.8.1.1]# bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &

 

转载地址:http://gqcol.baihongyu.com/

你可能感兴趣的文章
阿里互联网研发团队的持续交付实践
查看>>
《重构HTML:改善Web应用的设计(修订版)》——第1章 重构1.1 为何重构
查看>>
科学音频处理(一):怎样使用 Octave 对音频文件进行读写操作
查看>>
Iptables DDOS/CC 自动屏蔽脚本
查看>>
Insect Workflow
查看>>
《Ext JS实战》——1.7 小结
查看>>
Hadoop上小文件存储处理
查看>>
优秀的开源系统恢复软件
查看>>
《网页设计与前端开发 Dreamweaver+Flash+Photoshop+HTML+CSS+JavaScript 从入门到精通》——2.3 HTML头部标记head...
查看>>
《Adobe Flash CS6中文版经典教程》——1.11 保存影片
查看>>
Java核心技术卷I基础知识3.6.3 不可变字符串
查看>>
《大数据导论》一2.3 业务流程管理
查看>>
Android--短信拦截及IP拨号
查看>>
线程的优先级
查看>>
AM335x(TQ335x)学习笔记——WM8960声卡驱动移植
查看>>
从EXCHANGE 2010的DAG中删除其中一个MEMBER
查看>>
Ehcache学习笔记
查看>>
Tomcat 内存溢出对应解决方式
查看>>
Mac下 Thinkphp3.2 语言包问题
查看>>
你意想不到的的编程问题
查看>>