Londiste3 Install

Skytools是一个比较成熟的套件, 包含了pgq, Londiste, wal-manager三大组件.
其中pgq由providers,ticker,consumers组成, provider push events to queue, consumer read events from queue.
ticker则负责把batch queue里面的events. 
londiste则是基于pgq的一个PostgreSQL数据库复制套件.
与流复制不同之处在于它是基于pgq的, 需要触发器支持, 复制的最小单位是表. 它不要求复制的数据库版本一致, 也不要求CPU架构一致. 因此适用范围更广. Londiste3 支持级联复制.
下面先介绍一下Londiste3的安装, 以后再逐步深入.
Build和Runtime的依赖包.
=== Build dependencies ===
  postgresql libpq-dev postgresql-server-dev
  python python-dev

=== Runtime dependencies ===
  python  psycopg2  rsync


1. 安装Python
tar -jxvf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure --prefix=/opt/python2.7.3
make
make install

将python lib目录加入ld.so.conf, 或者使用PYTHONPATH环境变量, 否则python在使用时会报lib缺失.
vi /etc/ld.so.conf, 添加以下行
/opt/python2.7.3/lib
执行ldconfig 刷新ld. 然后再执行ldconfig -p就能看到新安装的python的lib库了.
修改环境变量
vi ~/.bash_profile
export MANPATH=/opt/python2.7.3/share/man:$MANPATH
export PATH=/opt/python2.7.3/bin:$PATH
export PYTHONPATH=/opt/python2.7.3/lib:$PYTHONPATH


应用环境变量 .
. ~/.bash_profile


查看python位置是否正确
which python
/opt/python2.7.3/bin/python


2. 安装PostgreSQL
tar -jxvf flex-2.5.35.tar.bz2
cd flex-2.5.35
./configure && make && make install

tar -jxvf postgresql-9.1.3.tar.bz2
cd postgresql-9.1.3
./configure --prefix=/opt/pgsql --with-pgport=1921 --with-perl --with-python --with-openssl --with-pam --without-ldap --with-libxml --with-libxslt --enable-thread-safety --with-wal-blocksize=16
make world
sudo make install-world


3. 安装psycopg2
tar -zxvf psycopg2-2.4.5.tar.gz
cd psycopg2-2.4.5
python setup.py build_ext --pg-config /opt/pgsql/bin/pg_config build
python setup.py build_ext --pg-config /opt/pgsql/bin/pg_config install


4. 安装skytools
tar -zxvf skytools-3.0.2.tar.gz
cd skytools-3.0.2
./configure --prefix=/opt/skytools3.0.2 --with-pgconfig=/opt/pgsql/bin/pg_config
make
make install


5. 测试londiste3
查看安装完后python的位置是否正确
[root@digoal ~]# head -n 1 /opt/skytools3.0.2/bin/londiste3 
#!/opt/python2.7.3/bin/python


在需要使用skytools的操作系统用户下, 修改相应的环境变量
vi ~/.bash_profile
export PATH=/opt/skytools3.0.2/bin:/opt/pgsql/bin:$PATH
export PYTHONPATH=/opt/skytools3.0.2/lib/python2.7/site-packages:$PYTHONPATH
export LD_LIBRARY_PATH=/opt/pgsql/lib:$LD_LIBRARY_PATH

应用环境变量 .
. ~/.bash_profile

测试londiste3是否可以正常调用
[root@digoal ~]# londiste3 -V
londiste3, Skytools version 3.0.2

表示正常.

如果报python的相关错误, 对症解决, 例如import *** 错误,可能要安装缺少的python api. 并且加入到 PYTHONPATH路径中.

【补充】
1. 在第4步骤后面新增一步, 可以解决python import报错的问题.
cd skytools-3.0.2
python setup_pkgloader.py build
python setup_pkgloader.py install
python setup_skytools.py build
python setup_skytools.py install

2. 如果skytools是从git下载的, 还需要安装一些依赖包
yum install -y autoconf automake asciidoc xmlto libtool

【参考】
http://skytools.projects.pgfoundry.org/pgq https://github.com/markokr/skytools
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值