shaoqin 发表于 2019-1-8 11:38:44

Flume分布式日志系统(二):flume使用ZooKeeper

  默认情况下Flume在内存中保存各个节点的配置,重启后丢失,可以使用ZooKeeper保存各个节点配置信息。
  cloudera的rpm仓库安装在前面的文章中,ZooKeeper使用三台服务器对应信息如下192.168.255.132 test01.linuxjcq.com
192.168.255.133 test02.linuxjcq.com
192.168.255.134 test03.linuxjcq.com
  三台都执行相同的操作
  1. 安装ZooKeeper
  yum install hadoop-zookeeper hadoop-zookeeper-server
  2. 安装配置文件
  a. 复制配置文件
  cp -r /etc/zookeeper.dist /etc/zookeeper.my_cluster
  b. 查看原来的配置
  alternatives --display hadoop-zookeeper-conf
hadoop-zookeeper-conf - status is auto.
link currently points to /etc/zookeeper.dist
/etc/zookeeper.dist - priority 30
  c. 安装新的zookeeper.my_cluster,并查看结果
  alternatives --install /etc/zookeeper /etc/zookeeper.my_cluster 50
  alternatives --display hadoop-zookeeper-conf
  2. 修改配置文件
  需要设置数据目录和各个机器间的相关信息


[*]vi /etc/zookeeper/zoo.cfg
[*]dataDir=/data/zookeeper
[*]
[*]server.0=test01.linuxjcq.com:2887:3887
[*]server.1=test02.linuxjcq.com:2888:3888
[*]server.2=test03.linuxjcq.com:2889:3889

  server.id=host:port:port标识不同的ZooKeeper服务器
  dataDir指定了数据存放的目录为/data/zookeeper,创建相应的目录,并修改拥有者为zookeeper(这个用户为yum安装zookeeper软件时创建的账户)
  mkidr /data/zookeeper
  chown -R zookeeper:zookeeper /data/zookeeper
  需要在每个服务器的数据目录中(这边为/data/zookeeper)创建myid文件,文件的内容为server.id=host:port:port对应的server.id中的id,标识各个zookeeper服务器


[*]vi /data/zookeeper/myid
[*]# 值为各个服务器对应的server.id中的id
[*]id

  3. 启动zookeeper
  service hadoop-zookeeper-server start
  执行jps可以看到启动的服务
  jps
1684 QuorumPeerMain
  4. 配置flume分布式日志系统中所有的master节点


[*]vi /etc/flume/conf/flume-site.xml
[*]   
[*]    flume.master.store
[*]    zookeeper
[*]    How the Flume Master stores node configurations. Must
[*]    be either 'zookeeper' or 'memory'.
[*]   
[*]
[*]   
[*]    flume.master.zk.use.external
[*]    true
[*]   
[*]
[*]   
[*]    flume.master.zk.servers
[*]    test01.linuxjcq.com:2181,test02.linuxjcq.com:2181,test03.linuxjcq.com:2181
[*]   

  flume.master.store:
  master配置存储方式(zookeeper/memory) zookeeper保证master的配置在多master节点之间同步,memory则保存在内存中,其配置随着master重启或宕机而丢失;
  flume.master.zk.servers:
  使用的zookeeper服务器列表。
  重启flume-master和flume-node
  service flume-master restart
  service flume-node restart



页: [1]
查看完整版本: Flume分布式日志系统(二):flume使用ZooKeeper