Skip to main content

Install Scribe on Ubuntu

Scribe is a very useful tools for collecting logs in the cloud. Here is an simple instruction for installing scribe on Ubuntu(based on those articles: link1 link2 link3).

First, install libevent, boost and thrift:

sudo apt-get install libevent-dev
sudo apt-get install libboost-dev=1.38.1 flex bison libtool automake autoconf pkg-config
wget http://archive.apache.org/dist/incubator/thrift/0.4.0-incubating/thrift-0.4.0.tar.gz
cd thrift && ./bootstrap.sh && ./configure && make && sudo make install
cd contrib/fb303/
./bootstrap.sh && sudo make && sudo make install

If libboost-dev 1.38.1 is not found, version 1.40 is OK.

Second, get scribe(from http://github.com/facebook/scribe/downloads) installed:
./bootstrap.sh
./configure
sudo make && sudo make install

During the make of scribe, you may get following errors:
1) "configure: error: Could not link against !"try sudo apt-get install libboost-all-dev

2)"error: conflicting return type specified for ‘virtual scribe::thrift::ResultCode ..."
According to this post, thirft 0.5.0 has no backward compatibilities with scribe. Use thirft 0.4.0 instead(and fb303).

After installation, when I start scribed, I get following error:
/usr/local/bin/scribed: error while loading shared libraries: libthrift.so.0: cannot open shared object file: No such file or directory

The problem could be solved by:

echo "/usr/local/lib" >> /etc/ld.so.conf
/sbin/ldconfig

As for scribe python client, you may directly install it with pip:

pip install thrift
pip install facebook-scribe
pip install scribe-logger

Note that, lib facebook-scribe is the script python binding in https://github.com/facebook/scribe/ uploaded to pypi. And scribe-logger is an wrapper for directly use with Python logging module.

Comments

Popular posts from this blog

A simple implementation of DTW(Dynamic Time Warping) in C#/python

DTW(Dynamic Time Warping) is a very useful tools for time series analysis. This is a very simple (but not very efficient) c# implementation of DTW, the source code is available at  https://gist.github.com/1966342  . Use the program as below: double[] x = {9,3,1,5,1,2,0,1,0,2,2,8,1,7,0,6,4,4,5}; double[] y = {1,0,5,5,0,1,0,1,0,3,3,2,8,1,0,6,4,4,5}; SimpleDTW dtw = new SimpleDTW(x,y); dtw.calculateDTW(); The python implementation is available at  https://gist.github.com/3265694  . from python-dtw import Dtw import math dtw = Dtw([1, 2, 3, 4, 6], [1, 2, 3, 5],           distance_func=lambda x, y: math.fabs(x - y)) print dtw.calculate() #calculate the distance print dtw.get_path() #calculate the mapping path

Change the default user when start a docker container

When run(start) a docker container from an image, we can specify the default user by passing -u option in command line(In https://docs.docker.com/engine/reference/run/#user ). For example docker run -i -t -u ubuntu ubuntu:latest /bin/bash We can also use the USER instruction in DOCKERFILE to do the same thing(In https://docs.docker.com/engine/reference/builder/#user), note that the option in command line will override the one in the DOCKERFILE. And there is actually another way to start a container with neither DOCKERFILE nor -u option, just by a command like: docker run -i -t ubuntu:latest /bin/bash # with ubuntu as the default user This happens when your start the container from an image committed by a container with ubuntu as the default user. Or in detail: Run a container from some basic images, create ubuntu user inside it, commit the container to CUSTOM_IMAGE:1 . Run a container from CUSTOM_IMAGE:1 with "-u ubuntu" option, and commit the container to CUSTOM...

Install mysql-python with mariadb

mysql-python requires libmysqlclient-dev in ubuntu, but the installation of mariadb will have the lib with unmet dependenccies, so the error of "mysql_config not found" may occurred if you install mysql-python via pip. The case is that mariadb has a compatible package, if you have the ppa setup as in  http://downloads.mariadb.org/ . Just "sudo apt-get install libmariadbclient-dev".