当前位置:   article > 正文

Londiste3 Install

londiste
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的依赖包.
  1. === Build dependencies ===
  2. postgresql libpq-dev postgresql-server-dev
  3. python python-dev
  4. === Runtime dependencies ===
  5. python psycopg2 rsync


1. 安装Python
  1. tar -jxvf Python-2.7.3.tar.bz2
  2. cd Python-2.7.3
  3. ./configure --prefix=/opt/python2.7.3
  4. make
  5. 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库了.
修改环境变量
  1. vi ~/.bash_profile
  2. export MANPATH=/opt/python2.7.3/share/man:$MANPATH
  3. export PATH=/opt/python2.7.3/bin:$PATH
  4. export PYTHONPATH=/opt/python2.7.3/lib:$PYTHONPATH


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


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


2. 安装PostgreSQL
  1. tar -jxvf flex-2.5.35.tar.bz2
  2. cd flex-2.5.35
  3. ./configure && make && make install
  4. tar -jxvf postgresql-9.1.3.tar.bz2
  5. cd postgresql-9.1.3
  6. ./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
  7. make world
  8. sudo make install-world


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


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


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


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

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

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

表示正常.

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

【补充】
1. 在第4步骤后面新增一步, 可以解决python import报错的问题.
  1. cd skytools-3.0.2
  2. python setup_pkgloader.py build
  3. python setup_pkgloader.py install
  4. python setup_skytools.py build
  5. 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
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号