Flume NG之Agent部署和sink配置HDFS且吐槽CSDN博客及客服态度
實(shí)在是想對csdn博客吐槽,一天到晚要么發(fā)布不了,發(fā)布成功的居然還時不時看不到文章內(nèi)容(空白的),有時還打不開博客,問客服就說換瀏覽器。我真想和csdn客服說,你妹的,你知不知道我是碼農(nóng)啊,初步的問題診斷是會的,如果不是懷疑csdn博客服務(wù)端問題,我會找你。
這篇文章是重復(fù)http://blog.csdn.net/fjssharpsword/article/details/60136224,因?yàn)檫@個時不時打開是空白,而摘要確有內(nèi)容,有時又能正常打開。昨天下午5:20多分,和csdn客服說,然后妹紙居然下班了,不理會人了,這個客服態(tài)度經(jīng)常是推卸責(zé)任,然后就是不理你,我也是醉了。實(shí)在是csdn博客堅(jiān)持這么久,不想換一家。
先重復(fù)發(fā)布吧,還好之前有保存原稿,現(xiàn)在重新發(fā)布:
1、Flume?
? ?flume是一個分布式、可靠、和高可用的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時,Flume提供對數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接受方(比如文本、HDFS、Hbase等)的能力。
flume的數(shù)據(jù)流由事件(Event)貫穿始終,事件是Flume的基本數(shù)據(jù)單位,它攜帶日志數(shù)據(jù)(字節(jié)數(shù)組形式)并且攜帶有頭信息。Event由Agent外部的Source生成,當(dāng)Source捕獲事件后會進(jìn)行特定的格式化,然后Source會把事件推入(單個或多個)Channel中;Channel看作是一個緩沖區(qū),它將保存事件直到Sink處理完該事件;Sink負(fù)責(zé)持久化日志或者把事件推向另一個Source。
? ?flume的一些核心概念:
? ?1)Agent:使用JVM 運(yùn)行Flume。每臺機(jī)器運(yùn)行一個agent,但是可以在一個agent中包含多個sources和sinks。
? ?2)Client:生產(chǎn)數(shù)據(jù),運(yùn)行在一個獨(dú)立的線程。
? ?3)Source :從Client收集數(shù)據(jù),傳遞給Channel。
? ?4)Sink : 從Channel收集數(shù)據(jù),運(yùn)行在一個獨(dú)立線程。
? ?5)Channel ?:連接 sources 和 sinks ,這個有點(diǎn)像一個隊(duì)列。
? ?6)Events : 可以是日志記錄、 avro 對象等。
下面的部署和配置參照:http://flume.apache.org/FlumeUserGuide.html
2、Flume Agent部署
1)下載并解壓jdk-7u67-linux-x64.gz,到/home/flume/
? ? #cd /tmp
? ? #tar -xzvf jdk-7u67-linux-x64.gz
? ? #cp -r /tmp/jdk1.7.0_67 ?/home/flume/
? ?
? ?
2)下載并解壓apache-flume-1.7.0-bin.tar.gz,到/home/flume/
? ? #tar -xzvf /tmp/apache-flume-1.7.0-bin.tar.gz ?-C /home/flume/
3) 修改flume-env.sh 配置文件,設(shè)置JAVA_HOME變量
? ? #cd /home/flume/apache-flume-1.7.0-bin/conf
? ? #cp flume-env.sh.template flume-env.sh
? ? #vi flume-env.sh
? ? ?添加export JAVA_HOME=/home/flume/jdk1.7.0_67
? ? ? ? ?FLUME_CLASSPATH="/home/flume/apache-flume-1.7.0-bin"
3、配置flume-conf.properties文件
? ? #cd /home/flume/apache-flume-1.7.0-bin/conf
? ? #cp flume-conf.properties.template flume-conf.properties
? ??
? ?1)查找FTP文件本地路徑
? ?#cat /etc/vsftpd/vsftpd.conf
? ? 找到user_config_dir=/etc/vsftpd/user_config_dir
? ?#ls -l /etc/vsftpd/user_config_dir
? ? ?查看下面具體ftp用戶的配置文件,如用戶名是user;
? ?#cat /etc/vsftpd/user_config_dir/user
? ? ?找到local_root=/data/user,即為ftp本地文件目錄;
? ? 將/data/user配置到source。
? ?2)Hadoop環(huán)境配置
? ? ?引入hadoop-common-2.7.3.2.5.3.0-37.jar、commons-configuration-1.6.jar、
? ? ? ? ?hadoop-auth-2.7.3.2.5.3.0-37.jar、hadoop-hdfs-2.7.3.2.5.3.0-37.jar、
? ? ? ? ?htrace-core-3.1.0-incubating.jar、commons-io-2.4.jar到apache-flume-1.7.0-bin/lib下
? ? ?引入core-site.xml和hdfs-site.xml到apache-flume-1.7.0-bin/conf下;
? ? ?namenode要在/etc/hosts上配置對應(yīng)的IP地址;
? ? ?spoolDir的hdfs上目錄要讀寫權(quán)限:
? ? ?#hadoop fs -chown -R mapred:hadoop /tmp/flume
? ? ?#hadoop fs -chmod -R 777 /tmp/flume
? ? ? ??
? ?3)#vi flume-conf.properties 配置如下
? ?#cd /home/flume/apache-flume-1.7.0-bin/
? ?#bin/flume-ng agent -n agent -c conf -f conf/flume-conf.properties ?-Dflume.root.logger=INFO,console
5、后續(xù)工作:
? ?1)如果集群通過kerberos認(rèn)證的話,要配置kerberos認(rèn)證;
? ? ?agent.sinks.sk.hdfs.kerberosPrincipal = etl/host
? ? ?agent.sinks.sk.hdfs.kerberosKeytab = /tmp/etl.app.keytab
? ?2)Flume支持引入第三方j(luò)ar包 ,自定義攔截器,可將Flume采集到的數(shù)據(jù)進(jìn)行序列化、結(jié)構(gòu)化等預(yù)處理,最后每條數(shù)據(jù)生成一條Event數(shù)據(jù)返回。
總結(jié)
以上是生活随笔為你收集整理的Flume NG之Agent部署和sink配置HDFS且吐槽CSDN博客及客服态度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zookeeper应用场景理解
- 下一篇: 【正一专栏】今夜有一种奇迹叫巴萨