一、安装前准备

  1、节点

    192.168.30.41

    192.168.30.42

    192.168.30.43

  2、操作系统: Centos7.5

  3、安装包

    a、java8:  jdk-8u181-linux-x64.tar.gz

    b、elasticsearch  kafka_2.11-0.11.0.2.tgz

    c、zookeeper    zookeeper-3.4.5-cdh5.4.5.tar.gz

  4、备注:

    相应版本安装包可直接在本人网盘下载,链接:https://pan.baidu.com/s/1cs4IidkSVoMDAdQW93VDYQ

二、安装java环境

  1、详见ELK 环境搭建1-elasticsearch

三、安装zookeeper集群

  1、创建账号与配置环境变量

    useradd zkkafka && su - zkkafka    

    mkdir -p /application/elk/zookeeper

    tar zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /application/elk/zookeeper

    rm -rf zookeeper-3.4.5-cdh5.14.2.tar.gz

    设置环境变量 vim ~/.bash_profile添加

      export ZOOKEEPER_HOME=/application/elk/zookeeper
      export PATH=$PATH:$ZOOKEEPER_HOME/bin

    加载环境变量

      source ~/.bash_profile

  2、修改配置文件 vim /application/elk/zookeeper/conf/zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
# **数据文件目录与日志目录**
dataDir=/application/elk/zookeeper/zkdata
dataLogDir=/application/elk/zookeeper/zkdatalog
clientPort=2181
server.1=192.168.30.41:2888:3888
server.2=192.168.30.42:2888:3888
server.3=192.168.30.43:2888:3888
#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里
#192.168.30.41和42为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888 #tickTime:
这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
#initLimit:
这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器>还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒
#syncLimit:
这个配置项标识 Leader 与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是5*2000=10秒
#dataDir:
快照日志的存储路径
#dataLogDir:
事物日志的存储路径,如果不配置这个那么事物日志会默认存储到dataDir制定的目录,这样会严重影响zk的性能,当zk吞吐量较大的时候,产生的事物日志、快照日志太多
#clientPort:
这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。修改他的端口改大点

  3、创建所需目录:

    mkdir -p /application/elk/zookeeper/zkdata
    mkdir -p /application/elk/zookeeper/zkdatalog
    mkdir -p /application/elk/zookeeper/logs

  4、添加myid vim /application/elk/zookeeper/zkdata/myid

    #添加

    1

    注意: 此数字来源于zoo.cfg中配置 server.1=192.168.30.41:2888:3888行server后面的1,故192.168.30.42填写2,192.168.30.43填写3  

  5、配置日志目录 vim /application/elk/zookeeper/libexec/zkEnv.sh修改以下参数

    ZOO_LOG_DIR="$ZOOKEEPER_HOME/logs"
    ZOO_LOG4J_PROP="INFO,ROLLINGFILE"

    vim /application/elk/zookeeper/conf/log4j.properties

      zookeeper.root.logger=INFO, ROLLINGFILE
      zookeeper.log.dir=/application/elk/zookeeper/logs
      log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender

  6、其它两个节点除myid文件要填入的不一样其它都做和上述相同操作

  7、相应操作

    a、启动

      /application/elk/zookeeper/bin/zkServer.sh start

    b、查看节点状态,有两种状态:leader 和 follower

      /application/elk/zookeeper/bin/zkServer.sh status

    c、查看进程

      jps

    d、停止

      /application/elk/zookeeper/bin/zkServer.sh stop

四、安装kafka

  1、创建账号并设置环境变量

    mkdir -p /application/elk/kafka

    useradd kafka && su - kafka

    tar zxvf kafka_2.12-1.1.0.tgz -C /application/elk/kafka

    rm -rf kafka_2.12-1.1.0.tgz

    设置环境变量:vim ~/.bash_profile

      export KAFKA_HOME=/application/elk/kafka
      export PATH=$PATH:$KAFKA_HOME/bin

  2、添加配置文件

############################# Server Basics #############################
broker.id=0
#当前机器在集群中的唯一标识,和zookeeper的myid性质一样,192.168.30.41为0,192.168.30.42为1,192.168.30.43为2 ############################# Socket Server Settings ############################# port=9092
#当前kafka对外提供服务的端口默认是9092 num.network.threads=3
#这个是borker进行网络处理的线程数 num.io.threads=8
#这个是borker进行I/O处理的线程数 socket.send.buffer.bytes=102400
#发送缓冲区buffer大小,数据不是一下子就发送的,先回存储到缓冲区了到达一定的大小后在发送,能提高性能 socket.receive.buffer.bytes=102400
#kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘 socket.request.max.bytes=104857600
#这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小 ############################# Log Basics ############################# log.dirs=/application/elk/kafka/data/kafka/kafka-logs
#消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的num.io.threads要大于这个目录的个数这个目录
#如果配置多个目录,新创建的topic他把消息持久化的地方是,当前以逗号分割的目录中,那个分区数最少就放那一个 num.partitions=3
#默认的分区数,一个topic默认1个分区数,有多少个分区就可以多少个消费者并行消费,但多个分区就不保证消息顺序了 num.recovery.threads.per.data.dir=1 ############################# Internal Topic Settings #############################
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1 ############################# Log Flush Policy ############################# ############################# Log Retention Policy ############################# log.retention.hours=720
#默认消息的最大持久化时间,720小时,30天;默认168小时,7天 log.retention.bytes=10737418240
#日志数据存储的最大字节数10737418240Byte,即10GB;默认1073741824Byte,即1GB log.segment.bytes=268435456
#这个参数是:因为kafka的消息是以追加的形式落地到文件,当超过这个值的时候,kafka会新起一个文件,256MB log.retention.check.interval.ms=300000 message.max.byte=5242880
#消息保存的最大值5M default.replication.factor=2
#kafka保存消息的副本数,如果一个副本失效了,另一个还可以继续提供服务,必须小于等于集群节点数 replica.fetch.max.bytes=5242880
#取消息的最大直接数 ############################# Zookeeper ############################# zookeeper.connect=192.168.30.41:2181,192.168.30.42:2181,192.168.30.43:2181 # Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=10000 ############################# Group Coordinator Settings ############################# group.initial.rebalance.delay.ms=0 delete.topic.enable=true

  3、创建所需目录

    mkdir -p /application/elk/kafka/data/kafka/kafka-logs

  4、其它两个节点除了配置文件中broker.id分别为1和2之外其它都按照上面相同配置。

  5、启动kafka

    /application/elk/kafka/bin/kafka-server-start.sh -daemon /application/elk/kafka/config/server.properties

    -daemon 后台服务的方式启动

  6、查看进程

    jps

  7、停止kafka

    /application/hadoop/app/kafka/bin/kafka-server-stop.sh

  8、使用

    详见 ELK使用4-Kafka + zookpeer

      

ELK 环境搭建4-Kafka + zookeeper的更多相关文章

  1. ELK 环境搭建3-Logstash

    一.Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件或者中间件. 二.搭建 1.因为要涉及到收 ...

  2. ELK 环境搭建2-Kibana

    一.安装前准备 1.节点 192.168.30.41 2.操作系统: Centos7.5 3.安装包 a.java8: jdk-8u181-linux-x64.tar.gz b.Kibana kiba ...

  3. ELK环境搭建完整说明

    ELK环境搭建完整说明 ELK:ElasticSerach.Logstash.Kibana三款产品名称的首字母集合,用于日志的搜集和搜索.简单地理解为我们可以把服务端的日志(nginx.tomcat等 ...

  4. ELK环境搭建

    ELK环境搭建 1. Virtualbox/Vagrant安装 41.1. Virtualbox安装 41.2. Vagrant安装 41.2.1. 简述 41.2.2. Vagrant box 41 ...

  5. 2017.7.18 linux下ELK环境搭建

    参考来自:Linux日志分析ELK环境搭建  另一篇博文:2017.7.18 windows下ELK环境搭建   0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1 ...

  6. 2017.7.18 windows下ELK环境搭建

    参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...

  7. Win7下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper【转】

    Win7下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper 1.软件工具箱 在本文的实践中,需要用到以下的软件: Tomcat-7.0.62+solr-5.0.0+ ...

  8. ELK 环境搭建总结

    开始动手前的说明 我搭建这一套环境的时候是基于docker搭建的,用到了docker-compose,所以开始前要先安装好docker . docker-compose,并简单的了解docker . ...

  9. windows下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper

    原文出自:http://sbp810050504.blog.51cto.com/2799422/1408322           按照该方法,伪分布式solr部署成功                 ...

随机推荐

  1. PHP程序守护进程化

    一般Server程序都是运行在系统后台,这与普通的交互式命令行程序有很大的区别.glibc里有一个函数daemon.调用此函数,就可使当前进程脱离终端变成一个守护进程,具体内容参见man daemon ...

  2. Ex 2_16 给定一个无穷数组..._第二次作业

    先比较数组的A[0]元素,若不相等接下来比较A[1],A[2],A[4],A[8]…,若找到一个区间A[2n-1]<x<A[2n],再对这个区间进行折半查找操作.总的时间为O(logn). ...

  3. Codeforces 848C Goodbye Souvenir [CDQ分治,二维数点]

    洛谷 Codeforces 这题我写了四种做法-- 思路 不管做法怎样,思路都是一样的. 好吧,其实不一样,有细微的差别. 第一种 考虑位置\(x\)对区间\([l,r]\)有\(\pm x\)的贡献 ...

  4. mysql 定期删除表中无用数据

    MySQL5.1.x版本中引入了一项新特性EVENT,定期执行某些事物,这可以帮助我们实现定期执行某个小功能,不在依赖代码去实现. 我现在有一张表,这张表中的数据有个特点,每天都会有大量数据插入,但是 ...

  5. swift 学习- 14 -- 继承

    // 一个类可以继承另一个 类的方法, 属性和其他特征, 当一个类继承其他类时, 继承类叫子类, 被继承类叫父类 或 (超类), 在 Swift 中, 继承是区分 [类] 和其他类型的 一个基本特征 ...

  6. Confluence 6 用户目录图例 - 使用 LDAP 授权的内部目录

    上面的图:Confluence 连接 LDAP 服务器仅用做授权 https://www.cwiki.us/display/CONFLUENCEWIKI/Diagrams+of+Possible+Co ...

  7. 关于deepin linux15.6-15.9.1系统播放视频卡顿解决办法

    关于deepin linux15.6-15.9.1系统播放视频卡顿解决办法 chrome浏览器 关闭chrome硬件加速模式 设置>高级>使用硬件加速模式 注释:由于视频卡顿是因显卡驱动问 ...

  8. 整合Flask中的目录结构

    一.SQLAlchemy-Utils 由于sqlalchemy中没有提供choice方法,所以借助SQLAlchemy-Utils组件提供的choice方法 import datetime from ...

  9. Practical Web Penettation Testing (the first one Mutillidae 大黄蜂 之二)

    1.how  to use dpkg cmmand first it can be used for list all software , dpkg -l  (由于kali linux 没有启动所以 ...

  10. bzoj 3529

    非常好的一道莫比乌斯反演题,对提升自己的能力有很大帮助. 首先我们分析一下题意:题意让我们求,其中 那么我们首先对后面的式子进行一下变形,变形过程详见https://blog.csdn.net/lle ...