默认情况下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
- <property>
- <name>flume.master.store</name>
- <value>zookeeper</value>
- <description>How the Flume Master stores node configurations. Must
- be either 'zookeeper' or 'memory'.</description>
- </property>
- <property>
- <name>flume.master.zk.use.external</name>
- <value>true</value>
- </property>
- <property>
- <name>flume.master.zk.servers</name>
- <value>test01.linuxjcq.com:2181,test02.linuxjcq.com:2181,test03.linuxjcq.com:2181</value>
- </property>
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
转载于:https://blog.51cto.com/linuxjcq/763397