【资料整理】scribe安装配置

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 

[[email protected] download]# tar zxvf thrift-0.9.0.tar.gz  && cd thrift-0.9.0
[[email protected] thrift-0.9.0]# ./configure --without-python --without-ruby
[[email protected] thrift-0.9.0]# make && make intall
[[email protected] thrift-0.9.0]# vim /usr/local/include/thrift/Thrift.h
头部添加:
#define HAVE_CONFIG_H

[[email protected] thrift-0.9.0]# cd contrib/fb303
[[email protected] thrift-0.9.0]# ./bootstrap.sh
[[email protected] thrift-0.9.0]# make && make install
[[email protected] download]# cd ../../..

[[email protected] download]# echo ‘/usr/local/lib‘ >> /etc/ld.so.conf
[[email protected] download]# ldconfig

==============scribe(服务器端安装)
wget https://github.com/facebookarchive/scribe/archive/master.zip -O scribe-master.zip

[[email protected] download]# unzip scribe-master.zip && cd scribe-master
[[email protected] scribe-master]# ./bootstrap.sh
checking whether the Boost::Filesystem library is available... yes
configure: error: Could not link against  !
[[email protected] scribe-master]# ./bootstrap.sh --with-boost-filesystem=boost_filesystem

[[email protected] scribe-master]# make && make install

配置测试:
[[email protected] scribe-master]# mkdir -p /home/scribe/{bin,conf,log,var}
[[email protected] scribe-master]# cp examples/example1.conf /home/scribe/conf/scribe.conf
[[email protected] scribe-master]# vim /home/scribe/conf/scribe.conf
[[email protected] 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下的日志是否生成
[[email protected] scribe-master]# echo “test0001” |  ./examples/scribe_cat test
若遇到错误:
No module named thrift.Thrift

在thrift源码目录lib/py下执行语句,安装python库
[[email protected] scribe-master]# cd /home/download/thrift-0.9.0/lib/py
[[email protected] py]# python setup.py install
[[email protected] py]# cd -

[[email protected] scribe-master]# ./examples/scribe_ctrl status
ALIVE
[[email protected] scribe-master]# cp -a examples/scribe_* /home/scribe/bin

++--------------------------------------------------------------------------++

2. 编写脚本控制scribe运行。

[[email protected] ~]# cd /home/scribe/

[[email protected] scribe]# ls

bin  conf  log

[[email protected] 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
时间: 2024-10-12 04:36:17

【资料整理】scribe安装配置的相关文章

linux资料整理之ubuntu配置svn服务器并且同步更新web目录

博客:http://lijinhuan.blog.51cto.com/ 微博:http://weibo.com/lijinhuanexperience 微信:xiaoleetongxue 需求: 把代码放到共同的服务器中去,然后可以通过软件自由的增加和修改代码,以方便共同协作,而不是像某一些小企业那样,把代码用qq传来传去进行覆盖更新. 解决办法: 搭建一台公共的服务器并且配置svn服务器.svn可以很好存放代码,实现上面的需求. 下面教大家在unbuntu中一步一步地去配置svn服务器,至于u

【资料整理】rsync配置

rsync 参数说明 v:详细提示 a:以archive模式操作,复制目录.符号连接,等价于 -rlptgoD . z:压缩 u:只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时 P:是综合了–partial –progress两个参数, 所以此时的rsync支持了断点续传 1)主机a启动rsync服务: /usr/bin/rsync --daemon --address=192.168.1.250 配置文件默认:/etc/rsyncd.conf 没有这个配置可以自己写一个 ----

【转载】NodeJS、NPM安装配置步骤(windows版本)

1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮,直接点击就会自动下载安装了. 2.安装过程基本直接“NEXT”就可以了.(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”). 3.安装完成后可以使用cmd(win+r然后输入cmd进入)测试下是否

NodeJS、NPM安装配置与测试步骤(windows版本)

1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮,直接点击就会自动下载安装了. 2.安装过程基本直接“NEXT”就可以了.(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”). 3.安装完成后可以使用cmd(win+r然后输入cmd进入)测试下是否

[转]NodeJS、NPM安装配置步骤(windows版本)

1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮,直接点击就会自动下载安装了. 2.安装过程基本直接“NEXT”就可以了.(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”). 3.安装完成后可以使用cmd(win+r然后输入cmd进入)测试下是否

NodeJS、NPM安装配置步骤(windows版本)

1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮,直接点击就会自动下载安装了. 2.安装过程基本直接“NEXT”就可以了.(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”). 3.安装完成后可以使用cmd(win+r然后输入cmd进入)测试下是否

Windows环境下的NodeJS+NPM+Bower安装配置

npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如我希望将以上两个文件夹放在NodeJS的主目录下,便在NodeJs下建立“node_global”及“node_cache”两个文件夹.我们就在cmd中键入两行命令: npm config set prefix "D:\Program Files\nodejs\node_global" 和

Windows环境下的NodeJS+NPM+Bower安装配置步骤

Windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮,直接点击就会自动下载安装.安装过程基本直接“NEXT”就可以了.(Windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”,我这里的演示是安装在“D:\Program Files\nodejs”) 废话不多说,

NodeJS、NPM安装配置步骤(windows版本) 转

1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的两个按钮,直接点击就会自动下载安装了. 2.安装过程基本直接“NEXT”就可以了.(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”). 3.安装完成后可以使用cmd(win+r然后输入cmd进入)测试下是否安装成功.方法