forked from facebookarchive/scribe
-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
166 lines (112 loc) · 4.82 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
Introduction
============
Scribe is a server for aggregating log data that's streamed in real
time from clients. It is designed to be scalable and reliable.
See the Scribe Wiki for documentation:
http://wiki.github.com/facebook/scribe
Keep up to date on Scribe development by joining the Scribe Discussion Group:
http://groups.google.com/group/scribe-server/
License (See LICENSE file for full license)
===========================================
Copyright 2007-2008 Facebook
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Heirarchy
=========
scribe/
aclocal/
Contains scripts for building/linking with Boost
examples/
Contains simple examples of using Scribe
if/
Contains Thrift interface for Scribe
lib/
Contains Python package for Scribe
src/
Contains Scribe source
test/
Contain php scripts for testing scribe
Requirements
============
[libevent] Event Notification library
[boost] Boost C++ library (version 1.36 or later)
[thrift] Thrift framework
[fb303] Facebook Bassline (included in thrift/contrib/fb303/)
fb303 r697294 or later is required.
[hadoop] optional. version 0.19.1 or higher (http://hadoop.apache.org)
These libraries are open source and may be freely obtained, but they are not
provided as a part of this distribution.
Helpful tips:
-Thrift, fb303, and scribe installation expects python to be installed
under /usr. See PY_PREFIX option in 'configure --help' to change this path.
-Some python installs do not include python site-packages in the default
python include path. If python cannot find the installed packages for
scribe or fb303, try setting the environment variable PYTHONPATH to the
location of the installed packages. This path gets output during
'make install'. (Eg: PYTHONPATH='/usr/lib/python2.5/site-packages').
-The current version of scribe_cat does not work with the stable version of
thrift, as of 5th March 2010. To get it to work change
log_entry = scribe.LogEntry(category=category, message=sys.stdin.read())
to
log_entry = scribe.LogEntry(dict(category=category, message=sys.stdin.read()))
The current scribe_cat works with latest thrift code if you clone their dev
repository.
Resources
=========
More information about Scribe can be obtained on the Scribe webpage at:
http://developers.facebook.com/scribe
To build
========
./bootstrap.sh <configure options>
make
(If you have multiple versions of Boost installed, see Boost configure options below.)
Subsequent builds
=================
./bootstrap <configure options>
make
OR
./configure <configure options>
make
NOTE: After the first run with bootstrap.sh you can use "[ ./bootstrap | ./configure ] <options>" followed by "make"
to create builds with different configurations. "bootstrap" can be passed the same arguments as "configure".
Make sure that if you change configure.ac and|or add macros run "bootstrap.sh".
to regenerate configure. In short whenever in doubt run "bootstrap.sh".
Configure options
=================
To find all available configure options run
./configure --help
Use *only* the listed options.
Examples:
# To disable optimized builds and turn on debug. [ default has been set to optimized]
./configure --disable-opt
# To disable static libraries and enable shared libraries. [ default has been set to static]
./configure --disable-static
# To build scribe with Hadoop support
./configure --enable-hdfs
# If the build process cannot find your Hadoop/Jvm installs, you may need to specify them manually:
./configure --with-hadooppath=/usr/local/hadoop --enable-hdfs CPPFLAGS="-I/usr/local/java/include -I/usr/local/java/include/linux" LDFLAGS="-ljvm -lhdfs"
# To set thrift home to a non-default location
./configure --with-thriftpath=/myhome/local/thrift
# If Boost is installed in a non-default location or there are multiple Boost versions
# installed, you will need to specify the Boost path and library names
./configure --with-boost=/usr/local --with-boost-system=boost_system-gcc40-mt-1_36 --with-boost-filesystem=boost_filesystem-gcc40-mt-1_36
Install
=======
as root:
make install
Run
===
See the examples directory to learn how to use Scribe.
Acknowledgements
================
The build process for Scribe uses autoconf macros to compile/link with Boost.
These macros were written by Thomas Porschberg, Michael Tindal, and
Daniel Casimiro. See the m4 files in the aclocal subdirectory for more
information.