Atlas2.2源碼編譯安裝

本文主要介紹中間件atlas源碼編譯安裝,由於rpm安裝的atlas程序調用時返回的mysql版本爲5.0,相應使用低版本的驅動造成時間類型的字段無法支持毫秒級別。


由於需要glib版本要大於2.32以上,centos6系統自帶的glib版本爲2.28,因此需要重新編譯安裝2.32以上的glib,這裏安裝2.34版本的glib需要依賴pcre大於8.31。

一、編譯安裝pcre8.35

# tar xf pcre-8.35.tar.gz
# cd pcre-8.35
# ./configure --prefix=/usr/local/glib--with-pcre=/usr/local/pcre/

二、編譯安裝glib-2.34.3.tar.xz

# tar xf glib-2.34.3.tar.xz
# cd glib-2.34.3
#./configure --prefix=/usr/local/glib --with-pcre=/usr/local/pcre/

三、編譯安裝Atlas-2.2.1.tar.gz

1.解決依賴關係

# yum install libffi-devel lua-devel libeventlibevent-devel

2.修改源碼中mysql版本代碼,這裏mysql版本爲5.6.17

找到plugins/proxy/proxy-plugin.c文件
修改1974行:challenge->server_version_str =g_strdup("5.0.81-log");
爲:challenge->server_version_str= g_strdup("5.6.17-log");
修改1974行:challenge->server_version = 50081;
爲challenge->server_version= 50617;

3.安裝atlas

# tar xf Atlas-2.2.1.tar.gz
# cd Atlas-2.2.1
# exportPKG_CONFIG_PATH=/usr/local/glib/lib/pkgconfig
# ./configure --with-mysql=/usr/local/mysql5.6/bin/mysql_config--prefix=/usr/local/mysql-proxy LDFLAGS="-lcrypto"
# make && make install
或者修改bootstrap.sh
#!/bin/sh 
base=$(cd "$(dirname "$0")"; pwd)
cd $base
PKG_CONFIG_PATH=/usr/local/glib/lib/pkgconfig ./configure --with-mysql=/usr/local/mysql/bin/mysql_config --prefix=/usr/local/mysql-proxy CPPFLAGS="-I/usr/local/mysql/include/" LDFLAGS="-L/usr/local/mysql/lib/ -lm -ldl -lcrypto" LUA_CFLAGS="-I/usr/include/" LUA_LIBS="-L/usr/lib64 -llua"
執行
# ./bootstrap.sh
# make && make install
注意:以上相關程序的頭文件和庫文件根據自己的環境修改相應的路徑

四、啓動atlas

# /usr/local/mysql-proxy/bin/mysql-proxyd test start

報錯

2016-08-0518:05:26: (critical) loading module '/usr/local/mysql-proxy/lib/mysql-proxy/plugins/libproxy.so'failed: libmy

sqlclient.so.18:cannot open shared object file: No such file or directory

2016-08-0518:05:26: (critical) setting --plugin-dir=<dir> might help

2016-08-0518:05:26: (message) Initiating shutdown, requested from mysql-proxy-cli.c:441

2016-08-0518:05:26: (message) shutting down normally, exit code is: 1

解決,導入mysql的庫文件到系統

# echo '/usr/local/mysql/lib/' >> /etc/ld.so.conf
# ldconfig

五、atlas升級替換

1.確保待升級的atlas主機操作系統與編譯軟件的操作系統版本一致

連同編譯安裝的glib一併部署,同時需要安裝依賴關係libffi-devel lua-devel libevent libevent-devel


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章