`
z_jiankun
  • 浏览: 164218 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Zookeeper+kafka+java(Linux)

    博客分类:
  • Java
 
阅读更多

http://orchome.com/kafka/index   中文官网

 

1. 简介 

kafka (官网地址:http://kafka.apache.org)是一款分布式消息发布和订阅的系统,具有高性能和高吞吐率。 

 

i. 消息的发布(publish)称作producer,消息的订阅(subscribe)称作consumer,中间的存储阵列称作broker。

ii. 多个broker协同合作,producer、consumer和broker三者之间通过zookeeper来协调请求和转发。 

iii. producer产生和推送(push)数据到broker,consumer从broker拉取(pull)数据并进行处理。 

iv. broker端不维护数据的消费状态,提升了性能。 

v. 直接使用磁盘进行存储,线性读写,速度快:避免了数据在JVM内存和系统内存之间的复制,减少耗性能的创建对象和垃圾回收。 

vi. Kafka使用scala编写,可以运行在JVM上。 

2. 安装: 

a. 首先安装JRE/JDK 

Linux安装JDK 

b. 下载kafka 

进入下载页面:http://kafka.apache.org/downloads.html 

选择Binary downloads下载 (Source download需要编译才能使用) 

也可以直接在linux终端下载: 

Shell代码  收藏代码
  1. wget -q http://apache.fayea.com/apache-mirror/kafka/0.8.1/kafka_2.8.0-0.8.1.tgz  



c. 解压 

Shell代码  收藏代码
  1. tar -xzvf kafka_2.8.0-0.8.1.tgz  
  2. rm kafka_2.8.0-0.8.1.tgz  
  3. cd kafka_2.8.0-0.8.1  



目录: 


/bin 启动和停止命令等。 
/config 配置文件 
/libs 类库 

d. 修改配置 
Kafka默认开启JVM压缩指针,但只是在64位的HotSpot VM受支持,如果安装了32位的HotSpot VM,需要修改/bin/kafka-run-class.sh文件 

Shell代码  收藏代码
  1. vi bin/kafka-run-class.sh  



找到如下行: 

Sh代码  收藏代码
  1. KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"  


去除-XX:+UseCompressedOops参数 

3. 启动和停止 

启动Zookeeper server: 

Shell代码  收藏代码
  1. bin/zookeeper-server-start.sh config/zookeeper.properties &  


&是为了能退出命令行 

启动Kafka server: 

Shell代码  收藏代码
  1. bin/kafka-server-start.sh config/server.properties &  



停止Kafka server 

Shell代码  收藏代码
  1. bin/kafka-server-stop.sh  



停止Zookeeper server: 

Shell代码  收藏代码
  1. bin/zookeeper-server-stop.sh  



4. 单机连通性测试 

运行producer: 

Shell代码  收藏代码
  1. bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test  


早版本的Kafka,--broker-list localhost:9092需改为--zookeeper localhost:2181 

运行consumer: 

Shell代码  收藏代码
  1. bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning  


在producer端输入字符串并回车,查看consumer端是否显示。 

5. 分布式连通性测试 

Zookeeper Server, Kafka Server, Producer都放在服务器server1上,ip地址为192.168.1.10 
Consumer放在服务器server2上,ip地址为192.168.1.12。 

分别运行server1的producer和server2的consumer, 

Shell代码  收藏代码
  1. bin/kafka-console-producer.sh --broker-list 192.168.1.10:9092 --topic test  



Shell代码  收藏代码
  1. bin/kafka-console-consumer.sh --zookeeper 192.168.1.10:2181 --topic test --from-beginning  



在producer的console端输入字符串,consumer报Connection refused错误: 


broker, producer和consumer都注册到zookeeper上,producer和consumer的参数明确指定。问题出在broker的配置文件server.properties上: 

Properties代码  收藏代码
  1. # Hostname the broker will bind to. If not set, the server will bind to all interfaces  
  2. #host.name=localhost  


host名称没有指定,就是127.0.0.1,consumer去broker拿数据就有问题。设置为192.168.1.10,重启服务就好了。

分享到:
评论

相关推荐

    kafka以及依赖安装包jdk+zookeeper+kafka

    标题"Kafka以及依赖安装包JDK+Zookeeper+Kafka"表明这个压缩包包含了运行Kafka所需的基础组件:Java Development Kit (JDK),Zookeeper服务,以及Kafka自身。Kafka是一个分布式流处理平台,而Zookeeper是一个分布式...

    spark环境安装(Hadoop HA+Hbase+phoneix+kafka+flume+zookeeper+spark+scala)

    本项目旨在搭建一套完整的Spark集群环境,包括Hadoop HA(高可用)、HBase、Phoenix、Kafka、Flume、Zookeeper以及Scala等多个组件的集成。这样的环境适用于大规模的数据处理与分析任务,能够有效地支持实时数据流...

    zookeeper+kafka集群搭建及安装包

    1. **安装Java**:Zookeeper和Kafka都需要Java运行环境,首先确保服务器上已经安装了JDK。 2. **下载并解压Zookeeper**:从Apache官方网站下载Zookeeper的最新稳定版本,将其解压到指定目录,例如 `/usr/local/...

    Hadoop+Hive+Spark+Kafka+Zookeeper+Flume+Sqoop+Azkaban+Scala

    基于 Zookeeper 搭建 Hadoop 高可用集群 二、Hive 简介及核心概念 Linux 环境下 Hive 的安装部署 CLI 和 Beeline 命令行的基本使用 常用 DDL 操作 分区表和分桶表 视图和索引 常用 DML 操作 数据查询详解 三、Spark ...

    zookeeper-3.4.8+kafka-2.12-1.0.tar.gz

    标题中的"zookeeper-3.4.8+kafka-2.12-1.0.tar.gz"是一个包含Zookeeper和Kafka的软件包,版本分别为3.4.8和2.12-1.0,它是一个适用于Linux操作系统的压缩文件。这个文件很可能是一个集成的打包,将两个重要的分布式...

    linux平台centos7系统 - ELK+logback+kafka+nginx 搭建分布式日志分析平台.doc

    【Linux平台CentOS7系统 - ELK+logback+kafka+nginx搭建分布式日志分析平台】 在复杂的IT环境中,日志管理和分析对于诊断问题、优化性能以及确保系统稳定性至关重要。ELK栈(Elasticsearch、Logstash、Kibana)正是...

    SparkStreaming:Spark Streaming + Flume + Kafka + HBase + Hadoop + Zookeeper实现实时日志分析统计; SpringBoot + Echarts实现数据可视化展示

    避免流式传输前言:使用scala和java混编完成,其中也涉及到python脚本来自动生成日志,linux crontab调度工具来定时执行脚本生成实时日志。生成的数据主要是模拟某学习网站学习视频课程的访问量(其中*以“ / class...

    jdk1.8+kafka3.2 linux版本

    在Linux环境下搭建Kafka,你需要修改`config/server.properties`文件,配置包括broker.id(每个Kafka节点的唯一标识)、zookeeper.connect(指向Zookeeper集群的连接字符串)、log.dirs(Kafka日志数据存储路径)等...

    Linux部署jdk,mysql,Zookeeper,kafka文档

    ### Linux部署JDK、MySQL、Zookeeper、Kafka文档 #### 环境搭建与预备工作 在开始之前,确保已经准备好了一台Linux服务器。可以通过`uname -a`命令来检查服务器的基本信息,例如内核版本等。示例输出如下: ``` ...

    linux kafka+elk7.9.1搭建所需要的的包.rar

    Linux环境下,ELK(Elasticsearch、Logstash、Kibana)和Kafka以及Zookeeper是构建高效日志管理和分析系统的必备组件。这个压缩包包含了这些工具的最新稳定版本,旨在简化安装过程,提高效率。 首先,让我们详细...

    Linux下的Kafka+Zookeeper使用以及配置

    首先,我们要在Linux服务器上安装Java运行环境,因为Kafka和Zookeeper都是基于Java的。确保已安装Java 8或更高版本,并将其设置为默认版本。 接下来,我们将安装Zookeeper。下载最新稳定版的Zookeeper源码,解压后...

    ELK+KAFKA+FILEBEAT

    7. **安装Kafka和Zookeeper**:Zookeeper是Kafka集群的关键组件之一,负责管理集群元数据。确保两者都已正确安装并启动。 8. **安装Kibana**:作为图形化界面工具,Kibana的安装相对简单,主要是确保其与Elastic...

    kafka-2.12-3.6.0安装包以及linux(centos7)无zookeeper安装kafka-2.12-3.6.0(

    在本文中,我们将深入探讨如何在Linux CentOS 7系统上安装Apache Kafka 2.12-3.6.0版本,特别关注无需Zookeeper的Kraft模式安装。Apache Kafka是一款高性能、分布式的消息队列系统,常用于大数据处理、实时流处理和...

    zk+kafka环境搭建1

    在进行Kafka环境搭建时,首先需要确保我们的系统已经配备了必要的依赖,尤其是Java开发环境。在这个案例中,我们使用的是Java 8的特定版本,即jdk-8u25-linux-x64。下面是详细的Java环境安装步骤: 1. **下载与解压...

    zookeeper linux集群搭建流程

    在开始搭建 ZooKeeper 集群之前,需要提前在本地安装好 JDK,因为 ZooKeeper 是用 Java 编写的,需要运行在 JVM 上。 第一步:下载和解压 ZooKeeper 首先,需要下载 ZooKeeper 的安装包,例如 zookeeper-3.4.6.tar...

    openjdk11+tomcat9+CASServer.zip

    4. **启动CAS Server**: 使用Tomcat的startup.sh(Unix/Linux)或startup.bat(Windows)脚本来启动服务。 5. **测试SSO功能**: 创建一个CAS客户端应用,配置相应的服务URL和验证机制,然后尝试登录,看是否能够...

    setup,zookeeper,kafka,unzip

    在IT行业中,`Kafka` 和 `Zookeeper` 是两个非常重要的组件,广泛应用于大数据处理和实时流数据系统。这两个工具通常与Java运行环境(JRE)一起使用,因为它们都是用Java语言编写的。本篇文章将深入探讨 `Kafka`、`...

    redis,zookeeper,kafka中间件集群安装部署手册

    * 中间件系统包括6个节点的Redis Cluster集群,3个节点的Zookeeper集群,3个节点的Kafka集群,以及Dubbo-admin的服务治理。 * 主机操作系统环境为Redhat/CentOS 7.5,主机共3台。 * 系统用户为tyzfUser,除非特别...

    史上吐血整理Java面试.rar

    java筑基面试专题系列(二):并发+Netty+JVM+Linux java筑基面试专题系列(一):Tomcat+Mysql+设计模式 分布式数据库面试专题系列:Redis+MongoDB 分布式通讯面试专题系列:ActiveMQ+RabbitMQ+Kafka 分布式限流...

    linux安装kafka监控EFAK安装.docx

    在Linux环境中,对Apache Kafka进行监控是确保系统稳定运行的关键步骤。EFAK(原名为Kafka Eagle)是一个专门用于Kafka集群监控的开源工具,它提供了丰富的可视化界面,可以帮助管理员轻松地监控Kafka节点的状态、...

Global site tag (gtag.js) - Google Analytics