Flume中配置hadoop native sink

由於HDFS sink文件壓縮在flume中存在問題(請參考https://blog.csdn.net/weixin_34874025/article/details/86441770 ),解決方案是配置hadoop執行環境使其load native lib。

flume env設置

  1. flume版本:1.9.0
  2. 從hadoop中native lib和jar至flume所在目錄中
  3. 配置flume-env.sh
    export JAVA_LIBRARY_PATH=$JAVA_LIBRARY_PATH:$FLUME_HOME/plugins.d/hadoop/native
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FLUME_HOME/plugins.d/hadoop/native

根據類名查找缺失的jar包

針對java.lang.NoClassDefFoundError異常,使用java的解包命令jar,結合shell腳本查找缺失的類所在jar包。

#!/bin/bash

cd $HADOOP_HOME
for jar in `find ./ *.jar | grep jar`
do
    result=`jar -tf $jar | grep InfSecException`
    if [ -n "$result" ];then
        echo $jar
    fi
done
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章