scribedのビルド・インストール手順
下記 tar-ball をとってくる。バージョンの組み合わせが違うとビルドがこけるので注意。
- boost_1_38_0.tar.gz
- thrift-0.5.0.tar.gz
ビルド・インストール手順
tar zvxf boost_1_38_0.tar.gz tar zvxf thrift-0.5.0.tar.gz # 以下suで行う yum -y install openmpi-devel yum -y install libevent-devel yum -y install ruby-devel # 以下も boost, thrift のインストールに必要。なかったら入れる yum -y install make yum -y install gcc-c++ yum -y install autoconf yum -y install automake yum -y install flex yum -y install zlib-devel yum -y install zlib-devel #boostのインストール cd boost_1_38_0 ./configure make install cd .. #thriftのインストール cd thrift-0.5.0 ./configure --without-php_extension --without-php --without-python_extension --without-python make install cd contrib/fb303 ./bootstrap.sh make make install cd ../../../ # scribeのソースをgitで取得してrev 63e4824をチェックアウト git clone https://github.com/facebook/scribe.git facebook-scribe-63e4824 cd facebook-scribe-63e4824 git checkout 63e4824838bf84e35da6a0817d8a72a6ec0b9fb3 #scribeのインストール ./bootstrap.sh make make install
scribed の設定
cat > /etc/rc.d/init.d/scribed #!/bin/sh CMD=`basename $0` USER=`whoami` if [ $USER != 'root' ] then echo "You must be root to run ${CMD}" exit 1 fi LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib export LD_LIBRARY_PATH PID_FILE=/usr/local/scribe/scribe.pid CMD_PATH=/usr/local/bin/scribed start(){ echo "Starting ${CMD} process" if [ -f $PID_FILE ] then cmd_pid=`cat $PID_FILE` pid_line=`pidof ${CMD}` pids=(`echo $pid_line`) for i in `seq 1 ${#pids[@]}` do if [ ${pids[$i-1]} -eq $cmd_pid ] then echo "${CMD} is already running" exit 1 fi done rm $PID_FILE echo "${CMD} pid file found but process not found." fi $CMD_PATH & echo $! > $PID_FILE } stop(){ echo "Shutting down ${CMD} process" if [ -f $PID_FILE ]; then pid=`cat $PID_FILE` kill $pid sleep 2 ps -p $pid > /dev/null if [ $? -eq 0 ]; then kill -9 $pid fi rm $PID_FILE else echo "Scribe process wasn't running" fi } restart(){ stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo $"Usage: ${CMD} {start|stop|restart}" exit 2 esac exit $? ^D
chkconfig --add scribed chkconfig scribed on /etc/rc.d/init.d/scribed start
アプリサーバ、ログサーバそれぞれの scribe.conf を /usr/local/scribe に置く
mkdir /usr/local/scribe cp /tmp/scribe.conf /usr/local/scribe/scribe.conf