zoukankan      html  css  js  c++  java
  • Kafka系列一之架构介绍和安装

    Kafka架构介绍和安装

    写在前面
    还是那句话,当你学习一个新的东西之前,你总得知道这个东西是什么?这个东西可以用来做什么?然后你才会去学习它,使用它。简单来说,kafka既是一个消息队列,如今,它也演变为一个分布式的流处理平台,这一点就是很厉害的了。所以,学习kafka对于大数据的小伙伴们来说,是非常有益的。
    (一)Kafka概述
    1.Kafka是一个分布式的流处理平台,有消息的订阅系统(订阅之后,一旦有新的消息产生,你就会收到消息),可以以多副本的方式进行存储,可以构建实时数据管道,以及实时的流处理,能够横向水平扩展,容错等特点。大数据的实时流处理场景很多时候都会使用到kafka
    这里写图片描述

    上面是官网中的图片
    Kafka和消息系统类似,消息中间件的一种:有生产者和消费者的概念。
    (二)Kafka架构
    这里写图片描述
    从上面官网给出的图片中,我们知道,kafka是有以下几个主要的该丽娜
    1)producer:生产者,

    2)consumer:消费者,

    3)broker:一个broker就是一个kafka,

    4)topic:主题,给生产的消息打上一个标签,代表是谁生产的.

    First a few concepts:[几个概念]
    Kafka is run as a cluster on one or more servers.

    The Kafka cluster stores streams of records in categories called topics.

    Each record consists of a key, a value, and a timestamp.

    (三)Kafka的安装部署
    我们首先来到官网上去,http://kafka.apache.org/quickstart
    从这个快速开始中,知道我们的kafka是依赖于zookeeper的,所以我们第一步来安装zookpeer,然后安装Kafka

    zookeeper的安装

    1. 下载zookeeper,地址在cdh5的页面http://archive.cloudera.com/cdh5/cdh/5/
    2. 解压到自己指定的目录中去,我一般喜欢~/app,这个看自己的习惯就好,这里我把解压后的文件修改名称为zk,
    3. 把解压的目录导出,
    [hadoop@hadoop000 zk]$ vim ~/.bash_profile 
    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    
    export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
    export PATH=$JAVA_HOME/bin:$PATH
    
    export FLUME_HOME=/home/hadoop/app/flume
    export PATH=$FLUME_HOME/bin:$PATH
    
    
    export ZK_HOME=/home/hadoop/app/zk
    export PATH=$ZK_HOME/bin:$PATH
    
    #:wq 保存退出
    

    4.再source一个系统环境

    [hadoop@hadoop000 zk]$ source ~/.bash_profile 
    [hadoop@hadoop000 zk]$ 
    

    5.配置zookeeper,来到解压目录下的conf文件
    拷贝一份

    [hadoop@hadoop000 conf]$ cp zoo_sample.cfg zoo.cfg
    [hadoop@hadoop000 conf]$ vim zoo.cfg 
    #修改数据的临时存放目录,默认是在tmp目录下的
    dataDir=/home/hadoop/app/tmp/zk
    #:wq 保存退出
    
    

    6.启动zookeeper

    [hadoop@hadoop000 conf]$ cd ../bin/
    [hadoop@hadoop000 bin]$ zkServer.sh start
    JMX enabled by default
    Using config: /home/hadoop/app/zk/bin/../conf/zoo.cfg
    Starting zookeeper ... already running as process 10943.
    [hadoop@hadoop000 bin]$ 
    
    

    7.查看进程

    [hadoop@hadoop000 bin]$ jps
    27179 Jps
    10943 QuorumPeerMain
    [hadoop@hadoop000 bin]$ 
    #看见QuorumPeerMain,说明就启动成功了
    

    Kafka的安装部署

    按照官网上的指南,我们先下载Kafka,点击官网上面的downloadhttp://kafka.apache.org/downloads 在选择版本的时候,我们推荐使用0.9.0.0版本的,目前这个版本在上产上比较常用,

    1. 下载https://archive.apache.org/dist/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz 因为kafka是scala语言写的,后面我们也可能会使用到scala,因为我安装的scala是2.11版本。这个下载的版本主要看自己的情况,在官网上选择合适的就好
    2. 解压到指定目录,再导出到系统环境中‘’
    [hadoop@hadoop000 ~]$ vim ~/.bash_profile 
    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    
    export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
    export PATH=$JAVA_HOME/bin:$PATH
    
    export FLUME_HOME=/home/hadoop/app/flume
    export PATH=$FLUME_HOME/bin:$PATH
    
    
    export ZK_HOME=/home/hadoop/app/zk
    export PATH=$ZK_HOME/bin:$PATH
    
    
    export KAFKA_HOME=/home/hadoop/app/kafka
    export PATH=$KAFKA_HOME/bin:$PATH
    
    #:wq保存退出
    

    3.再source一下

    4.配置,修改解压目录下config配置文件

    配置server.properties[需要注意的地方]
    broker.id=0  解释:是kafka,一个broker
    listeners      解释:监听的端口
    host.name    解释:当前机器
    log.dirs       解释:kafka的日志存放目录
    zookeeper.connect  zk的地址
    
    修改好之后,保存退出
    
    

    5.现在,就可以来启动了
    如何启动呢??看官网是如何说的,http://kafka.apache.org/quickstart

    bin/zookeeper-server-start.sh config/zookeeper.properties
    2).再启动我们的kafka
    bin/kafka-server-start.sh config/server.properties

    #启动kafka的命令
    kafka-server-start.sh $KAFKA_HOME/config/server.properties
    

    6.启动之后

    [hadoop@hadoop000 ~]$ jps
    27251 Kafka
    27334 Jps
    10943 QuorumPeerMain
    [hadoop@hadoop000 ~]$ 
    #可以看见Kafka的进程,就对啦
    
    

    好的,到这里我们的kafka就安装完成了,接下来,我们就开始做broker的部署...
    推荐一下:Kafka系列二之部署与使用
    http://blog.csdn.net/liuge36/article/details/78593404

  • 相关阅读:
    Stochastic Gradient Descent 随机梯度下降法-R实现
    Gradient Descent 梯度下降法-R实现
    【转】Linux内核中分配4M以上大内存的方法
    【转】在Linux下写一个简单的驱动程序
    【转】内核中的内存申请:kmalloc、vmalloc、kzalloc、kcalloc、get_free_pages
    【转】uboot中的mmc命令
    【原】cmdline传递参数 uboot-->kernel-->fs
    【转】UBOOT——启动内核
    【转】Linux下的磁盘分区方法
    【转】linux下 如何切换到root用户
  • 原文地址:https://www.cnblogs.com/liuge36/p/9883021.html
Copyright © 2011-2022 走看看