Hadoop生态圈-Kafka的本地模式部署
Hadoop生态圈-Kafka的本地模式部署
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.Kafka简介
1>.什么是JMS
答:在Java中有一个角消息系统的东西,我们叫他Java Message Service,简称JMS。比如各种MQ。
2>.JMS的两种工作模式
第一种模式:点到点(point to point,简称P2P),典型的一对一模式(一个人发送数据的同时只有一个人接收数据),也有人称之为端到端(peer to peer)。
第二种模式:发布订阅模式(publish subscribe,简称P-S),典型的一对多模式(一个人发送数据的同时可以有多个人接收数据)。
3>.Kafka的工作模式
答:Kafka的工作模式可以把JMS的两种模式结合在一起,我们称之为消费者组模式。
4>.什么是Kafka
答:Kafka和flume以及Sqoop一样,他们都是中间件(不含有业务的技术组件)。Kafka在官方定义是分布式消息系统。当然Kafka还可以用在做分布式数据库,除此之外,它还可以当做分布式缓存。
5>.ApacheKafka是一个分布式流媒体平台
ApacheKafka是一个分布式流媒体平台,这到底是什么意思呢?接下来我们看一下流媒体平台有三个关键功能如下:
第一:发布和订阅记录流,类似于消息队列或企业消息传递系统。
第二:以容错持久的方式存储记录流。
第三:处理记录发生的流。
6>.Kafka通常用于两大类应用
第一:构建可在系统或应用程序之间可靠获取数据的实时流数据管道。
第二:构建实时流应用程序,用于转换或响应数据流。
7>.kafka版本介绍
kafka起先由领英(linkedin创建)公司,开源后被Apache基金会纳入子项目。我们在下载Kafka时,你是如何区分它的版本呢?比如本篇博客下载kafka的版本是“kafka_2.11-1.1.0”,这个“2.11”是scala(java语言脚本化)版本而“1.1.0”是kafka版本。
二.Kafka本地模式部署
1>.下载Kafaka
下载地址:http://kafka.apache.org/downloads。
2>.解压并创建软连接
[yinzhengjie@s101 data]$ tar xzf kafka_2.11-1.1.0.tgz -C /soft/
[yinzhengjie@s101 data]$ ln -s /soft/kafka_2.11-1.1.0/ /soft/kafka
[yinzhengjie@s101 data]$
4>.配置环境变量并使之生效
[yinzhengjie@s101 data]$ sudo vi /etc/profile
[sudo] password for yinzhengjie:
[yinzhengjie@s101 data]$
[yinzhengjie@s101 data]$ tail -3 /etc/profile
#ADD KafKa PATH
export KAFKA_HOME=/soft/kafka
PATH=$PATH:$KAFKA_HOME/bin
[yinzhengjie@s101 data]$
[yinzhengjie@s101 data]$ source /etc/profile
[yinzhengjie@s101 data]$
5>.修改配置文件
[yinzhengjie@s101 data]$ sed -i 's@#listeners=PLAINTEXT://:9092@listeners=PLAINTEXT://s101:9092@g' /soft/kafka/config/server.properties
[yinzhengjie@s101 data]$ sed -i 's@log.dirs=/tmp/kafka-logs@log.dirs=/home/yinzhengjie/kafka/logs@g' /soft/kafka/config/server.properties
[yinzhengjie@s101 data]$ sed -i 's@zookeeper.connect=localhost:2181@zookeeper.connect=s102:2181,s103:2181,s104:2181@g' /soft/kafka/config/server.properties
[yinzhengjie@s101 data]$
6>.启动kafka
[yinzhengjie@s101 data]$ kafka-server-start.sh -daemon /soft/kafka/config/server.properties
[yinzhengjie@s101 data]$ echo $? [yinzhengjie@s101 data]$ jps | grep Kafka
Kafka
[yinzhengjie@s101 data]$ netstat -untalp | grep
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 172.30.100.101: :::* LISTEN /java
tcp6 172.30.100.101: 172.30.100.101: ESTABLISHED /java
tcp6 172.30.100.101: 172.30.100.101: TIME_WAIT -
tcp6 172.30.100.101: 172.30.100.101: TIME_WAIT -
tcp6 172.30.100.101: 172.30.100.101: ESTABLISHED /java
[yinzhengjie@s101 data]$
[yinzhengjie@s101 data]$
7>.停止kafka
[yinzhengjie@s101 data]$ jps | grep Kafka
Kafka
[yinzhengjie@s101 data]$ netstat -untalp | grep
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 172.30.100.101: :::* LISTEN /java
tcp6 172.30.100.101: 172.30.100.101: ESTABLISHED /java
tcp6 172.30.100.101: 172.30.100.101: TIME_WAIT -
tcp6 172.30.100.101: 172.30.100.101: TIME_WAIT -
tcp6 172.30.100.101: 172.30.100.101: ESTABLISHED /java
[yinzhengjie@s101 data]$
[yinzhengjie@s101 data]$
[yinzhengjie@s101 data]$
[yinzhengjie@s101 data]$ kafka-server-stop.sh
[yinzhengjie@s101 data]$ jps | grep Kafka
[yinzhengjie@s101 data]$ netstat -untalp | grep
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 172.30.100.101: 172.30.100.101: TIME_WAIT -
tcp6 172.30.100.101: 172.30.100.101: TIME_WAIT -
[yinzhengjie@s101 data]$
[yinzhengjie@s101 data]$
三.kafka初体验
1>.启动kafka(提供服务)
[yinzhengjie@s101 data]$ kafka-server-start.sh -daemon /soft/kafka/config/server.properties
[yinzhengjie@s101 data]$ netstat -untalp | grep
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 172.30.100.101: :::* LISTEN /java
tcp6 172.30.100.101: 172.30.100.101: ESTABLISHED /java
tcp6 172.30.100.101: 172.30.100.101: ESTABLISHED /java
[yinzhengjie@s101 data]$ jps | grep Kafka
Kafka
[yinzhengjie@s101 data]$
[yinzhengjie@s101 data]$ kafka-server-start.sh -daemon /soft/kafka/config/server.properties
2>.创建主题(消息保管者)
[yinzhengjie@s101 data]$ kafka-topics.sh --zookeeper s102: --create --partitions --replication-factor --topic yinzhengjie
Created topic "yinzhengjie".
[yinzhengjie@s101 data]$
[yinzhengjie@s101 data]$ kafka-topics.sh --zookeeper s102:2181 --create --partitions 2 --replication-factor 1 --topic yinzhengjie
3>.启动生产者(消息发送方)
[yinzhengjie@s101 data]$ kafka-console-producer.sh --broker-list s101: --topic yinzhengjie
>My name is yinzhengjie , I love Beijing!
>
[yinzhengjie@s101 data]$ kafka-console-producer.sh --broker-list s101:9092 --topic yinzhengjie
4>.启动消费者(消息接收方)
[yinzhengjie@s101 lib]$ kafka-console-consumer.sh --zookeeper s102: --topic yinzhengjie --from-beginning
Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].
My name is yinzhengjie , I love Beijing!
[yinzhengjie@s101 lib]$ kafka-console-consumer.sh --zookeeper s102:2181 --topic yinzhengjie --from-beginning
Hadoop生态圈-Kafka的本地模式部署的更多相关文章
- Hadoop生态圈-Kafka的完全分布式部署
Hadoop生态圈-Kafka的完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要内容就是搭建Kafka完全分布式,它是在kafka本地模式(https:/ ...
- Hadoop生态圈-通过CDH5.15.1部署spark1.6与spark2.3.0的版本兼容运行
Hadoop生态圈-通过CDH5.15.1部署spark1.6与spark2.3.0的版本兼容运行 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在我的CDH5.15.1集群中,默 ...
- 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)
1)集群规划:主机名 IP 安装的软件 运行的进程master 192.168.199.130 jdk.hadoop ...
- Hadoop生态圈-kafka事务控制以及性能测试
Hadoop生态圈-kafka事务控制以及性能测试 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Hadoop生态圈-Kafka的新API实现生产者-消费者
Hadoop生态圈-Kafka的新API实现生产者-消费者 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Hadoop生态圈-Kafka配置文件详解
Hadoop生态圈-Kafka配置文件详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.默认kafka配置文件内容([yinzhengjie@s101 ~]$ more /s ...
- Hadoop生态圈-Kafka的旧API实现生产者-消费者
Hadoop生态圈-Kafka的旧API实现生产者-消费者 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.旧API实现生产者-消费者 1>.开启kafka集群 [yinz ...
- Hadoop生态圈-Kafka常用命令总结
Hadoop生态圈-Kafka常用命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.管理Kafka服务的命令 1>.开启kafka服务 [yinzhengjie@s ...
- 【Hadoop】Hadoop的安装,本地模式、伪分布模式的配置
Download hadoop-2.7.7.tar.gz 下载稳定版本的hadoop-2.7.7.tar.gz(我用的2.6.0,但是官网只能下载2.7.7的了) Required Software ...
随机推荐
- 2_C语言中的数据类型 (十)数组
1 字符串与字符数组 1.1 字符数组定义 char array[100]; 1.2 字符数组初始化 char array[100] = {'a', 'b', ...
- idea 开启 tomcat 访问日志记录
all 为 设置为 查看所有类型的请求 (包括ajax)
- 5、Docker网络配置(单机)
一.概述 以下内容参考:https://docs.docker.com/network/#network-drivers Docker容器和服务如此强大的原因之一是您可以将它们连接在一起,或者将它们连 ...
- JavaScript快速入门-简介
一.JavaScript历史(摘自w3school) JavaScript 是因特网上最流行的脚本语言,它存在于全世界所有 Web 浏览器中,能够增强用户与 Web 站点和 Web 应用程序之间的交互 ...
- redis安装启动和数据操作
redis安装和启动 1.安装包下载地址 >> redis基本数据类型 string(字符串和数值) .list(列表/队列).hashmap(哈希表[键唯一]). set(集合[值唯一] ...
- Scrapy持久化存储
基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作; 执行输出指定格式进行存储:将爬 ...
- django反向解析URL和URL命名空间
django反向解析URL和URL命名空间 首先明确几个概念: 1.在html页面上的内容特别是向用户展示的url地址,比如常见的超链接,图片链接等,最好能动态生成,而不要固定. 2.一个django ...
- nginx反向代理tomcat应用,struts2网站程序redirect时导致请求地址错误的解决方法
一个使用struts2的网站在登录页面需要进行redirect跳转,大致如下: <package name="admin" extends="httl-defaul ...
- Theory And Practice
实践出真知,建议不要一味地看Backbone源码和网上解析,自己动手实践吧少年们! 我是一个简单的简直无可救药的小栗子~ ——Silun Wang 我的几个小问题: 1. Rocket介绍没有Todo ...
- “北航Clubs” Beta版本开发目标
Beta版本开发目标 总体设想:修复Alpha版本中的若干bug,并在Alpha版本成果之上进行进一步开发,实现社员管理.评论.站内信等功能. 1.对Alpha版本功能的更新与加强 后端实现从SQLi ...