オープンソースログ収集システムScribe学習ノート(二)各種問題解決

3345 ワード

Scribeを使ってログを収集し始め、徐々に多くの問題に直面します.ここで整理します.
  
    1.scribedはHDFSにデータを書き込むときにエラーを報告する必要があります
"[hdfs] ERROR: HDFS is not configured for file: hdfs://master:9000/scribe/default/namenote"
"[hdfs] ERROR: HDFS is not configured for file: hdfs://master:9000/scribe/default/namenote/default-2012-09-06_00000"
"[default] Failed to open file <hdfs://master:9000/scribe/default/namenote/default-2012-09-06_00000> for writing"

この問題は、通常、CLASSSPATHが設定されていないため、scribedを起動する前にCLASSSPATHを設定すればよい.
scribedの起動時に次のエラーが表示されます.
     Environment variable CLASSPATH not set!
     Environment variable CLASSPATH not set!
     Environment variable CLASSPATH not set!
     ...
ここでscribeを起動する前に、CLASSSPATHを以下のコマンドで設定します.
     export CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath`
 
もう一つは直接報告することです
      default] Failed to open file for writing
前のERROR:HDFS is not configured for file:hdfs://master:9000/scribe/default/namenote.通常、これは権限によるものです.つまり、scirbeを起動するユーザーとhadoopを起動するユーザーは同じでなければなりません.そうしないと、scirbeはHDFSに書く権限がありません.このエラーが報告されます.
 
   2.Scribeを起動すると、エラーが表示されます.
scribed: error while loading shared libraries: libboost_filesystem.so.1.45.0:
cannot open shared object file: No such file or directory

これはboostを正しくロードできないため、/usr/libまたは/usr/lib 64/ディレクトリの下にlibboost_があるかどうかを確認する必要があります.filesystem.so.1.45.0この書類.OSが64ビットの場合は、コマンドgetconf LONG_に従ってBITで確認するにはlibboost_filesystem.so.1.45.0/usr/lib 6/ディレクトリの下に置けばよい.libboost_についてはfilesystem.so.1.45.0ファイルはどこですか?コマンドsudo find/-name libboost_filesystem.so.1.45.0探せばいい、見つけてからソフトで接続する.
この原因の大部分はオペレーティングシステムが64ビットで、boostはlibboost_をデフォルトでインストールしています.filesystem.so.1.45.0/usr/local/lib/ディレクトリの下に配置されるので、ソフト接続が必要です.コマンド:sudo ln-s/usr/local/lib/libboost_system.so.1.45.0/usr/lib64/libboost_system.so.1.45.0
同様のエラー、thrift、libhdfsなど、この方法で解決できます.類似のエラー:
scribed: error while loading shared libraries:libboost_filesystem.so.1.45.0: cannot open shared object file: No such file or directory
scribed: error while loading shared libraries: libthrift.so.0: cannot open shared object file: No such file or directory
scribed: error while loading shared libraries: libthriftnb.so.0: cannot open shared object file: No such file or directory
scribed: error while loading shared libraries: libhdfs.so.0: cannot open shared object file: No such file or directory
scribed: error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory
 
   
3.NonblockingServer.h:34:19: error: event.h: No such file or directory
エラーの原因は、インストールされていないことです.
libevent-devel、コマンド:
yum install libevent-develインストール.
libevent-develを事前にインストールせずにthriftをインストールすると、次のことになる可能性があります.
/usr/bin/ld:cannot find-lthriftnbエラー.これでlibevent-develをインストールしてthriftをインストールします
  4.Scribeタイムズを起動:
terminate called after throwing an instance of 'std::runtime_error'
  what():  locale::facet::_S_create_c_locale name not validエラー
エラーの原因、環境関係.次のコマンドを実行してscirbeを再起動します.
   export LC_ALL="en_US.utf8"
あるいは、プロファイルに書き込む.bash_profile