Londiste3 Install

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:
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
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
6月前
|
关系型数据库 MySQL
安装percona-xtrabackup-24报错: file /etc/my.cnf from install of ..解决
安装percona-xtrabackup-24报错: file /etc/my.cnf from install of ..解决
|
存储 运维 Oracle
关于MogDB我所知的一切(一)
关于MogDB我所知的一切
684 0
关于MogDB我所知的一切(一)
|
SQL 存储 运维
关于MogDB我所知的一切(二)
关于MogDB我所知的一切
398 0
关于MogDB我所知的一切(二)
|
关系型数据库 开发工具 前端开发
pgbouncer-install
pgbouncer install
1791 0
|
Oracle 关系型数据库 安全
12c: database soft install
界面1:Configure Security Updates 取消选择“I wish to receive security updates via My Oracle Support”, 点击“next” 弹出的提示框选择“Yes” 界面2:Installation Option ...
1475 0
|
关系型数据库 MySQL
file /usr/share/mysql/charsets/README from install of MySQL-server-5.1.73-1.glibc23.i386 conflicts with file from package mysql-libs-5.1.73-8.el6_8.i6
1:也许之前的机器安装过Mysql,但是自己不知道,账号密码也忘记了,又执行安装操作,导致Mysql不兼容问题。Linux上安装MySQL时出现不兼容的解决办法,错误如下所示: 1 [root@master package]# rpm -ivh MySQL-server-5.
2368 0