flume-两台机器上agent的串联运行
2014-04-04 10:19
204 查看
如现在我在两台机器上的测试,192.168.1.103和192.168.1.104上面做agent的传递,
在192.168.1.103上的conf下面创建一个flume-getremotefile.properties文件来获取远程机器上sink传过来的事件,内容如下:
#gent的名称为"a1"
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#source配置信息
#r1的type为avro表示该source接收的数据协议为avro,且接收数据由avro客户端事件驱动
#(也就是说resource要通过avro-cliet向其发送数据)
a1.sources.r1.type = avro
a1.sources.r1.bind = localhost
a1.sources.r1.port = 55555
#sink配置信息
#k1的type为avro表示该sink将通过avro-client客户端以avro协议通过5555端口发送数据
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = 192.168.1.103
a1.sinks.k1.port = 44444
#channel配置信息
#type为memory意将数据存储至内存中
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#将source和sink绑定至该channel上
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
到这里已经将准备工作做好了:
首先启动103机器上的agent,bin/flume-ng agent -n a2 -f conf/flume-getremotefile.properties
再启动104上的agent ,bin/flume-ng agent -n a1 -f conf/flume-first.properties
再打开一个client来传递数据导104上,bin/flume-ng avro-client -H localhost -p 55555 -F my_test.txt
至此会发现在103的机器上 /usr/local/app/flume-1.4.0/test/目录下多了一个文件内容是my_test.txt的内容
在192.168.1.103上的conf下面创建一个flume-getremotefile.properties文件来获取远程机器上sink传过来的事件,内容如下:
a2.sources = r1 a2.sinks = k1 a2.channels = c1 #source配置信息 # 绑定source r1的绑定监听主机和端口 a2.sources.r1.type = avro a2.sources.r1.bind = 192.168.1.103 a2.sources.r1.port = 44444 a2.sources.r1.interceptors = i1 a2.sources.r1.interceptors.i1.type = timestamp #sink配置信息 #type为"file_roll"表示将数据存入本地文件系统 a2.sinks.k1.type = file_roll #指定数据存放目录 a2.sinks.k1.sink.directory = /usr/local/app/flume-1.4.0/test/ #设置滚动时间(即每隔一段你设置的时间,系统会生成一个新的文件存放数据 #(如果不指定,系统会默认生成N个文件,将数据分别存入N个文件中), #为0时表示只有一个文件存放数据) a2.sinks.k1.sink.rollInterval = 0 #channel配置信息 #type为memory意将数据存储至内存中 a2.channels.c1.type = memory a2.channels.c1.capacity = 1000 a2.channels.c1.transactionCapacity = 100 #将source和sink绑定至该channel上 a2.sources.r1.channels = c1 a2.sinks.k1.channel = c1再在192.168.1.104机器上配置一个传送event到103机器上的agent,内容如下:
#gent的名称为"a1"
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#source配置信息
#r1的type为avro表示该source接收的数据协议为avro,且接收数据由avro客户端事件驱动
#(也就是说resource要通过avro-cliet向其发送数据)
a1.sources.r1.type = avro
a1.sources.r1.bind = localhost
a1.sources.r1.port = 55555
#sink配置信息
#k1的type为avro表示该sink将通过avro-client客户端以avro协议通过5555端口发送数据
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = 192.168.1.103
a1.sinks.k1.port = 44444
#channel配置信息
#type为memory意将数据存储至内存中
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#将source和sink绑定至该channel上
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
到这里已经将准备工作做好了:
首先启动103机器上的agent,bin/flume-ng agent -n a2 -f conf/flume-getremotefile.properties
再启动104上的agent ,bin/flume-ng agent -n a1 -f conf/flume-first.properties
再打开一个client来传递数据导104上,bin/flume-ng avro-client -H localhost -p 55555 -F my_test.txt
至此会发现在103的机器上 /usr/local/app/flume-1.4.0/test/目录下多了一个文件内容是my_test.txt的内容
相关文章推荐
- 两台机器上的Agent进行通信
- Flume安装部署(两台机器)
- ssh实现两台机器之间穿越
- 同一台机器运行两个Tomcat
- java程序在Eclipse打包成jar程序并在机器中用bat运行
- 使用Process类避免在一台机器上运行同一程序的多个实例
- 如何让你的java程序可以在任何机器上双击运行
- NNM的netmon运行小问题,No connection with master agent
- 1001种玩法 | HotswapAgent:支持无限次重定义运行时类与资源
- WebpageTest的测试机器(客户端agent)ie无法打开网页,其他浏览器正常的问题
- 使用exe4j将jar包生可执行的.exe文件(加入jre依赖环境),可在其他机器上运行
- 使用Visual studio 各种版本 生成exe或者dll无法在其他机器运行的解决方式
- 关于synergy个人使用感受(两台机器一个键盘鼠标)
- 用VS2005编译的应用程序在其它VS2005机器不能正常运行的原因和解决办法
- 制作运行在越狱机器上的IPA包
- 两台机器上做apache + tomcat 的负载均衡
- 按crtl+c后flume停止了,让Flumen运行在后端的方法
- Sample语言编译与运行及简单虚拟机器的设计实现
- 两台Linux机器实现文件交换
- apache flume agent安装