kafka概念:

    kafka是一个高吞吐量的流式分布式消息系统,用来处理活动流数据。比方网页的訪问量pm,日志等,既可以实时处理大数据信息
    也能离线处理。

    特点:
        1.高吞吐量    
        2.是一种显式的分布式系统,它如果,数据生产者(producer),代理(brokers)和数据使用者(consumer)分散在多台机器上。
        3.有关哪些数据已经被使用了的状态信息保存为数据使用着(consumer)的一部分。而不是保存在服务秋上。


关于队列的基础知识:
    消息:指的是通信的基本单位,由消息生产者(producer)公布关于某个胡全体(topic)的消息,这句话的意思是消息以一种物理方式被发送给了
    作为代理(broker)的server。若干的消费者(consumer)订阅(subscribe)某个话题,然后生产者公布的消息都会被发送给全部的使用者。

    
    kafka是一个显式的分布式系统。指的是生产者,消费者,和代理者都能够执行在作为一个逻辑单位的,相互协调的集群的不同机器上。
    
    消费者组:每一个消费者进程都隶属于一个消费者组。每条消息仅仅会发送到这个消费者组中的一个消费者进程,消费者组将多个消费者进程或多台
    机器在逻辑上看做为了一个消费者。消费者组的意义就是。每条消息都仅仅会发送到这个消费者组中的一个进程,可是在同一个组中的消费者进程
    都能使用这个消息,所以不管消费者组中有多少个订阅者。每条信息值在组中存储一份!

    在kafka中,使用者(consumer)负责维护反应哪些消息已经被使用的状态(偏移量)。在kafka中会将状态数据保存到zookeeper中,
    在hadoop的载入作业从kafka并行载入作业时。每一个mapper在map任务结束之前会将状态偏移量,存储到hdfs中。

通过这样的机制还能够回退数据读。

    
    分发机制;
    kafka通常情况下是执行在集群中的server上。没有中央的“主”节点。

代理彼此之间是对等的。不须要不论什么手动配置就可以可随时加入和删除。

相同,

        生产者和消费者能够在不论什么时候开启。
每一个代理都能够在zookeeper(分布式协调系统)中注冊的一些元数据(比如,可用的主题)。生产者和消费者
        能够使用zookeeper发现主题和相互协调。

关于生产者和消费者的细节将在以下描写叙述。


   
消费者和生产者通过分区实现负载均衡。
        主题:用来区分不同种类的数据信息
分区partition:有主有从。将数据写到不同的文件上,分区的编号默认是从0開始。0,1,2,3...
leader负责读写数据,follower负责同步数据,高吞吐量。负载均衡
  
producer来能够去不同的分区上去写数据,consumer也是相同原理,这样就能够
 
 将读写负载均衡到不同的分区中
消费之consumer,消费数据从主分区上(leader)读
消费组:共享消费信息,在同一个消费组中的消费者,读取同一份数据仅仅要一次即可了。由于
同一个组中消费者之间共享数据

    #########################################################################################################
安装kafka:     

1.上传kafka_2.9.2-0.8.1.1.tgz到server

2.单节点kafka,
a.先启动zookeeper集群
运行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.
原因是jdk的版本号不匹配,须要改动一下配置文件
改动文件:
去掉这个配置
-XX:+UseCompressedOops
b.启动一个服务端
bin/kafka-server-start.sh config/server.properties

c.查看topic
 bin/kafka-topics.sh --list --zookeeper localhost:2181
  创建topic
 bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
  查看topic描写叙述
 bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

d.測试
启动一个生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 
开启一个消费者
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

3.集群搭建


改动配置文件
vim config/server-1.properties 
最后的zookeeper集群的配置
zookeeper.connect=storm01:2181,storm02:2181,storm03:2181
再将kafka的配置复制到其它的server
scp -r /usr/itcast/kafka root@storm02:/usr/itcast/
scp -r /usr/itcast/kafka root@storm03:/usr/itcast/
改动配置文件
vim config/server-1.properties 
broker.id=1,broker.id=2
启动測试

    

    

 

kafka介绍和集群环境搭建的更多相关文章

  1. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十一)NIFI1.7.1安装

    一.nifi基本配置 1. 修改各节点主机名,修改/etc/hosts文件内容. 192.168.0.120 master 192.168.0.121 slave1 192.168.0.122 sla ...

  2. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十一)定制一个arvo格式文件发送到kafka的topic,通过Structured Streaming读取kafka的数据

    将arvo格式数据发送到kafka的topic 第一步:定制avro schema: { "type": "record", "name": ...

  3. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(八)安装zookeeper-3.4.12

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  4. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十三)kafka+spark streaming打包好的程序提交时提示虚拟内存不足(Container is running beyond virtual memory limits. Current usage: 119.5 MB of 1 GB physical memory used; 2.2 GB of 2.1 G)

    异常问题:Container is running beyond virtual memory limits. Current usage: 119.5 MB of 1 GB physical mem ...

  5. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十二)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网。

    Centos7出现异常:Failed to start LSB: Bring up/down networking. 按照<Kafka:ZK+Kafka+Spark Streaming集群环境搭 ...

  6. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoop2.9.0搭建HA

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  7. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  8. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(三)安装spark2.2.1

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  9. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

随机推荐

  1. HDU 1394 Minimum Inversion Number 线段树

    题目: http://acm.hdu.edu.cn/showproblem.php?pid=1394 没看到多组输入,WA了一万次...... 其实很简单,有人暴力过得,我感觉归并排序.二叉排序树求逆 ...

  2. sublime部署开发环境

    安装nodejs 去官网下载安装,暂时不建议安装5.0以上版本. 命令行运行以下命令查看是否安装成功: 全局安装gulp $ npm install -g gulp 全局安装requirejs 压缩资 ...

  3. Java多线程初学者指南(6):慎重使用volatile关键字

    volatile关键字相信了解Java多线程的读者都很清楚它的作用,和sychnorized 一样用于多线程的同步.volatile关键字用于声明简单类型变量,如int.float.boolean等数 ...

  4. backbone showcase

    http://www.mhtml5.com/2012/06/5119.html http://tieba.baidu.com/p/2389371223 http://www.jdon.com/tags ...

  5. iOS开发网络篇—多线程断点下载

    iOS开发网络篇—多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始, ...

  6. 值得推荐的C/C++框架和库 very good

    [本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看看现有的轮子吧 值得学习的C语 ...

  7. Beej网络socket编程指南

    bind()函数 一旦你有一个套接字,你可能要将套接字和机器上的一定的端口关联 起来.(如果你想用listen()来侦听一定端口的数据,这是必要一步--MUD 告 诉你说用命令 "telne ...

  8. java的版本区别、下载、配置

    参考:http://blog.csdn.net/liujun13579/article/details/7684604 java的版本区别 常用的 java 程序分为  Java SE.Java EE ...

  9. AS 学习笔记 for in 和 for each in

    for in 的速度比 for each  in 慢很多倍 ~~ var myArray:Array = new Array(); myArray["a"] = "zer ...

  10. [YZOJ1579]&&[BZOJ2450]arr

    Description 给出3*n个数xi,要求构造三个长度为n的序列ai,bi,ci,使得满足下列条件: 1到3*n的每个数都在三个序列中的某个出现一次且仅一次: S=sum((x[ai]-x[bi ...