logstash out file to HDFS

logstash out file to HDFS

logstash 直接把文件內(nèi)容寫入 hdfs 中, 并支持 hdfs 壓縮格式。
logstash 需要安裝第三方插件,webhdfs插件,通過hdfs的web接口寫入。
http://namenode00:50070/webhdfs/v1/ 接口

安裝

可以在官網(wǎng)找到相應(yīng)的版本, 我們用的是2.3.1,下載地址:

https://www.elastic.co/downloads/past-releases  

webhdfs插件地址

github地址:
  git clone  https://github.com/heqin5136/logstash-output-webhdfs-discontinued.git

官網(wǎng)地址及使用說明:
  https://www.elastic.co/guide/en/logstash/current/plugins-outputs-webhdfs.html

插件安裝方式:

logstash 安裝在 /home/mtime/logstash-2.3.1
git clone  https://github.com/heqin5136/logstash-output-webhdfs-discontinued.git
cd logstash-output-webhdfs-discontinued
/home/mtime/logstash-2.3.1/bin/plugin install logstash-output-webhdfs-discontinued

檢查hdfs的webhds接口

    curl -i  "http://namenode:50070/webhdfs/v1/?user.name=hadoop&op=LISTSTATUS"   
    
    HTTP/1.1 200 OK
    Cache-Control: no-cache
    Expires: Thu, 13 Jul 2017 04:53:39 GMT
    Date: Thu, 13 Jul 2017 04:53:39 GMT
    Pragma: no-cache
    Expires: Thu, 13 Jul 2017 04:53:39 GMT
    Date: Thu, 13 Jul 2017 04:53:39 GMT
    Pragma: no-cache
    Content-Type: application/json
    Set-Cookie: hadoop.auth="u=hadoop&p=hadoop&t=simple&e=1499957619679&s=KSxdSAtjXAllhn73vh1MAurG9Bk="; Path=/; Expires=Thu, 13-Jul-2017 14:53:39 GMT; HttpOnly
    Transfer-Encoding: chunked
    Server: Jetty(6.1.26) 

注釋: active namenode 返回是200 ,standby namenode 返回是403.

配置

添加 logstash 一個(gè)配置文件

vim /home/mtime/logstash-2.3.1/conf/hdfs.conf

input {
  kafka {
    zk_connect => "192.168.51.191:2181,192.168.51.192:2181,192.168.51.193:2181"   ## kafka zk 地址 
    group_id => 'hdfs'   # 消費(fèi)者組
    topic_id => 'tracks'  # topic 名字
    consumer_threads => 1  
    codec => 'json'  
  }
}

filter {   ##  為解決 插入hdfs時(shí)間相差8小時(shí), 
        date {  
                match => [ "time" , "yyyy-MM-dd HH:mm:ss" ]
                locale => "zh"
                timezone => "-00:00:00"
                target => "@timestamp"
        }
}

output {
#if [app] == "mx.tc.virtualcard.service" {
    webhdfs {
           workers => 2
           host => "namenode"
           standby_host => "standbynamenode"
           port => 50070
           user => "loguser"
           path => "/Service-Data/%{+YYYY}-%{+MM}-%{+dd}/%{app}/logstash-%{+HH}.log"
           flush_size => 100
           idle_flush_time => 10
           compression => "gzip"
           retry_interval => 3
           codec => 'json'   # 解決 寫入hdfs文件是json格式,否則內(nèi)容為 %{message}
       }
#   }
  stdout { codec => rubydebug }
}

關(guān)于hdfs部分配置,可以在 plugins-outputs-webhdfs 官網(wǎng)找到。

啟動(dòng) logstart

cd /home/mtime/logstash-2.3.1/bin/
./logstash -f ../conf/hdfs.conf    # 為前臺(tái)啟動(dòng) 

我的 github 博客 https://sukbeta.github.io/2018/05/29/logstash-out-file-to-HDFS/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • 翻譯: http://hadoop.apache.org/docs/stable/hadoop-project-d...
    金剛_30bf閱讀 545評(píng)論 0 0
  • 別人怎么說,我都不介意。我愛不愛你,日久見人心?!红o茹《愛久見人心》
    那昔閱讀 533評(píng)論 0 0
  • 有人可能認(rèn)為,結(jié)婚就是把愛情埋入墳?zāi)怪校€有人認(rèn)為,結(jié)婚后他(她)有所改變,他沒有以前愛自己,沒有以前會(huì)關(guān)心自己,...
    春暖花開會(huì)有時(shí)閱讀 163評(píng)論 0 0
  • 或許,我只能在鄉(xiāng)野等你。 你知道或者根本不知道。 這里的風(fēng)是肆意的,狂野的...
    開在角落里的薔薇閱讀 221評(píng)論 0 1

友情鏈接更多精彩內(nèi)容