【資料整理】scribeインストール構成
【資料整理】scribeインストール構成
2.スクリプトを作成してscribeの実行を制御します.
[root@test230 ~]# cd/home/scribe/
[root@test230 scribe]# ls
bin conf log
[root@test230 scribe]# cat scribe_ctl.sh
1. boost。
_______________________________________________________________________________________________________
yum install automake gcc-c++ libevent-devel openssl openssl-devel boost boost-devel bzip2-devel python-devel
:
1) boost,thrift )
2)yum install boost boost-devel libevent openssl ;
==============thrift
wget http://archive.apache.org/dist/thrift/0.9.0/thrift-0.9.0.tar.gz
[root@test230 download]# tar zxvf thrift-0.9.0.tar.gz && cd thrift-0.9.0
[root@test230 thrift-0.9.0]# ./configure --without-python --without-ruby
[root@test230 thrift-0.9.0]# make && make intall
[root@test230 thrift-0.9.0]# vim /usr/local/include/thrift/Thrift.h
:
#define HAVE_CONFIG_H
[root@test230 thrift-0.9.0]# cd contrib/fb303
[root@test230 thrift-0.9.0]# ./bootstrap.sh
[root@test230 thrift-0.9.0]# make && make install
[root@test230 download]# cd ../../..
[root@test230 download]# echo '/usr/local/lib' >> /etc/ld.so.conf
[root@test230 download]# ldconfig
==============scribe( )
wget https://github.com/facebookarchive/scribe/archive/master.zip -O scribe-master.zip
[root@test230 download]# unzip scribe-master.zip && cd scribe-master
[root@test230 scribe-master]# ./bootstrap.sh
checking whether the Boost::Filesystem library is available... yes
configure: error: Could not link against !
[root@test230 scribe-master]# ./bootstrap.sh --with-boost-filesystem=boost_filesystem
[root@test230 scribe-master]# make && make install
:
[root@test230 scribe-master]# mkdir -p /home/scribe/{bin,conf,log,var}
[root@test230 scribe-master]# cp examples/example1.conf /home/scribe/conf/scribe.conf
[root@test230 scribe-master]# vim /home/scribe/conf/scribe.conf
[root@test230 scribe-master]# mkdir /home/scribe/log/scribetest
/usr/local/bin/scribe -c /home/scribe.conf >>/home/scribe/var/running.log 2>&1 &
:1463
:/home/scribe/log/scribetest
, /home/scribe/log/scribetest
[root@test230 scribe-master]# echo “test0001” | ./examples/scribe_cat test
:
No module named thrift.Thrift
thrift lib/py , python
[root@test230 scribe-master]# cd /home/download/thrift-0.9.0/lib/py
[root@test230 py]# python setup.py install
[root@test230 py]# cd -
[root@test230 scribe-master]# ./examples/scribe_ctrl status
ALIVE
[root@test230 scribe-master]# cp -a examples/scribe_* /home/scribe/bin
++--------------------------------------------------------------------------++
2.スクリプトを作成してscribeの実行を制御します.
[root@test230 ~]# cd/home/scribe/
[root@test230 scribe]# ls
bin conf log
[root@test230 scribe]# cat scribe_ctl.sh
#!/bin/bash
#
# 2014/11/28
d_scribe_base='/data/svr/scribe'
[ -d ${d_scribe_base}/log ] || mkdir ${d_scribe_base}/log
[ -d ${d_scribe_base}/var ] || mkdir ${d_scribe_base}/var
f_scribed_bin='/usr/local/bin/scribed'
f_conf="${d_scribe_base}/conf/scribe.conf"
f_log="${d_scribe_base}/var/running.log"
f_pid="${d_scribe_base}/var/scribed.pid"
status() {
echo "UID PID PPID C STIME TTY TIME CMD"
ps -ef |grep -v grep |grep scribed --color
echo ""
}
stop() {
pid=$(cat ${f_pid})
if [ -z $pid ]; then
echo "[+] check if scribed is running?"
else
echo "[+] stopping...(PID: $pid)"
kill $pid
echo "[-] stopped!"
fi
echo ""
}
start() {
echo "[+] start scribed with config: ${f_conf}"
${f_scribed_bin} -c ${f_conf} >>${f_log} 2>&1 &
pid=$(ps -ef |grep scribed |grep -v grep |awk '{print $2}')
if [ ! -z $pid ]; then
echo $pid >${f_pid}
echo "[-] done!"
else
echo '[-] start scribed failed! '
exit 2
fi
echo ""
}
check() {
pid=$(ps -ef |grep scribed |grep -v grep |awk '{print $2}')
if [ -z $pid ]; then
echo "[-] `date` scribed died, try to start it again." >>${f_log}
start
status
fi
}
backup() {
cd ${d_scribe_base}
local f_backup="${d_scribe_base}/var/scribe_ctl_$(date +%F).tar.gz"
echo "[+] backup:"
tar zcvf ${f_backup} bin/ conf/
chmod o-r ${f_backup} && ls -lh ${f_backup}
echo "[-] done!"
echo ""
}
clean() {
cd ${d_scribe_base}/log
echo "[+] ready to compress this files:"
find primary/* -type f -name "*_[0-9]*[0-9]" -mtime +6 -print |sort
find primary/* -type f -name "*_[0-9]*[0-9]" -mtime +6 -print |sort |xargs -i gzip {}
echo "[+] ready to compress this files:"
find primary/* -type f -name "*_[0-9]*[0-9]" -mtime +6 -print |sort
find primary/* -type f -name "*_[0-9]*[0-9]" -mtime +6 -print |xargs -i gzip {}
echo "[-] done!"
}
init_crontab() {
echo "[+] append coreseek control scripts to /var/spool/cron/$(whoami)"
cat <<_REM >>/var/spool/cron/$(whoami)
# [scribe]
#
#*/1 * * * * /data/svr/scribe/bin/scribe_ctl.sh check >/dev/null 2>&1 &
#2 0 * * 6 /data/svr/scribe/bin/scribe_ctl.sh clean >/dev/null 2>&1 &
_REM
echo '[-] finished!'
echo '[-] please uncomment related tasks.'
echo ''
echo "#################"
echo '[crontab]'
crontab -l |grep scribe
}
case $1 in
start)
start
status
;;
stop)
stop
status
;;
restart)
stop
sleep 1
start
status
;;
status)
status
;;
check)
check
;;
backup)
backup
;;
clean)
clean
;;
init)
init_crontab
;;
*)
echo "Usage: $0 [start|stop|restart|status|check|backup|clean|init]"
;;
esac