分页: 2/196 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]
Jan 12
NewRelic 估计很多人都用过,但是这货非常贵,贵的一般人买不起,尤其是个人项目,可咱也要性能指标分析啊!那来自己搭建一个
点击在新窗口中浏览此图片

你需要三个工具:
InfluxDB - Go 写的一个 Time series (不知道怎么翻译) 数据库,用于存储指标、事件、分析等数据;
Grafana - 一个纯静态的项目,用于访问 InfluxDB,自定义报表,也就是上面那个图的内容,可以自由编辑;
influxdb-ruby - InfluxDB 的 Ruby 客户端库,用来写数据
安装 InfluxDB
InfluxDB 安装非常简单
Mac
Homebrew 就可以安装
$ brew update
$ brew install influxdb

Ubuntu
# for 64-bit systems
wget http://s3.amazonaws.com/influxdb/influxdb_latest_amd64.deb
sudo dpkg -i influxdb_latest_amd64.deb

# for 32-bit systems
wget http://s3.amazonaws.com/influxdb/influxdb_latest_i386.deb
sudo dpkg -i influxdb_latest_i386.deb

然后启动就可以了,帐号默认 root 密码 root 你可以打开它的 Web Admin 界面: http://127.0.0.1:8083/ 并创建一个数据库 rails_app
Grafana 安装
由于 Grafana 是存静态的,你只需要下载源代码解压,将它部署在 Nginx 上面就可以了,或者可以用 Python 的 SimpleHTTPServer 来跑
$ wget http://grafanarel.s3.amazonaws.com/grafana-1.9.1.tar.gz
$ tar zxf grafana-1.9.1.tar.gz
$ cd grafana-1.9.1
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

然后打开 http://127.0.0.1:8000 就可以看到 Grafana 的界面了,剩下的事情自己摸索。
数据埋点
gem install influxdb
或 Gemfile 加入 influxdb
Rails 项目 config/initializers/influxdb.rb

然后数据就会慢慢的写入到 InfluxDB 的 rails_app 会有新表 process_action.action_controller 你可以回到 InfluxDb Admin 里面查询看看
select * from process_action.action_controller;
或者用 list series 查看所有的表
list series;
其它的选择
除了用 Grafana 来展示统计的数据外,你还可以用 facette,它也是支持 InfluxDB 的,也是一个 Go 写的 Web Server,包含 Web 界面,可以自由配置(目前看起来可用性没有 Grafana 好)。
http://facette.io
点击在新窗口中浏览此图片

2016 更新,用了 Grafana 3.0.0
收集系统数据用 Telegraf
点击在新窗口中浏览此图片

如何将influxdb的数据配置进grafana:
https://www.rittmanmead.com/blog/2015/02/obiee-monitoring-and-diagnostics-with-influxdb-and-grafana/
Dec 21
Nginx支持单IP多域名SSL证书需要OpenSSL支持,由于CentOS5.X系统自带的OpenSSL版本太低不支持,所以首先需要编译安装一个高版本的openssl,CentOS 6.X的系统自带的openssl版本大于0.98以上,一般编译好的nginx都是支持的。

检查nginx是否支持TLS SNI support:
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.10.2
TLS SNI support disabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

TLS SNI support disabled 这样是不支持的。

查看openssl的版本:


下面开始升级openssl:
wget ftp://ftp.openssl.org/source/openssl-1.0.2h.tar.gz
tar xzvf openssl-1.0.2h.tar.gz
cd openssl-1.0.2h
./config --prefix=/usr/local/openssl/ enable-shared enable-tlsext
make && make install

检查openssl的版本:


编译nginx:


检查现在是否支持TLS SNI support:


TLS SNI support enabled 现在已经支持了,再添加几个https的站点都正常了。

Tags: , ,
Dec 19
软件版本:OpenSSL 1.0.2h  nginx/1.10.2
错误信息:

make -f objs/Makefile
make[1]: Entering directory `/data/2016/openresty-1.11.2.2/bundle/nginx-1.10.2'
cd /usr/local/openssl \
        && if [ -f Makefile ]; then make clean; fi \
        && ./config --prefix=/usr/local/openssl/.openssl no-shared  \
        && make \
        && make install_sw LIBDIR=lib
/bin/sh: line 2: ./config: No such file or directory
make[1]: *** [/usr/local/openssl/.openssl/include/openssl/ssl.h] Error 127
make[1]: Leaving directory `/data/2016/openresty-1.11.2.2/bundle/nginx-1.10.2'
make: *** [build] Error 2

其实/usr/local/openssl/目录下面根本没有.openssl这个目录,找不到相关文件肯定会报错的了。
解决方法也很简单:

vi auto/lib/openssl/conf

     31             CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
     32             CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
     33             CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
     34             CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"

把31行到34行中的.openssl删除

     31             CORE_INCS="$CORE_INCS $OPENSSL/include"
     32             CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
     33             CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
     34             CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"

保存之后,再make就编译通过了。
Tags: , , ,
Sep 9
【注】官方已经更新了依赖的第三方包的版本,最新获取的文件编译安装会遇到之前没有遇到的问题,下面是用全新最小化安装的CentOS 6.7 来编译安装的,更新系统后是CentOS 6.8了。

CentOS 6 全新最小化安装的操作系统:
yum install -y patch make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel kernel-headers libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel libidn libidn-devel openssl openssl-devel vim-minimal nano fonts-chinese gettext gettext-devel gmp-devel unzip automake libxslt libxslt-devel wget tar libcurl libcurl-devel libcap diffutils ca-certificates net-tools libc-client-devel psmisc libXpm-devel git git-core c-ares-devel libicu-devel libzip libzip-devel perl perl-devel python python-devel


#更新系统
yum update

#相关依赖的包
yum install -y readline readline-devel libstdc++-static glibc-static perl-Module-Install.noarch

一:获取源码:
git clone --recursive https://github.com/tencent-wechat/phxsql.git (--recursive参数可以同时获得所依赖的第三方库colib,glog,leveldb,protobuf源码,和依赖库phxpaxos,phxrpc)

1.1:升级相关依赖的库及工具。
1.1.1:autoconf
下载地址:http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar xzvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/usr/local/autoconf-2.69
make && make install

mv /usr/bin/autoconf /usr/bin/bak_autoconf
mv /usr/bin/autoheader /usr/bin/bak_autoheader
mv /usr/bin/autom4te /usr/bin/bak_autom4te
mv /usr/bin/autoreconf /usr/bin/bak_autoreconf
mv /usr/bin/autoscan /usr/bin/bak_autoscan
mv /usr/bin/autoupdate /usr/bin/bak_autoupdate  
ln -sf /usr/local/autoconf-2.69/bin/autoconf /usr/bin/autoconf
ln -sf /usr/local/autoconf-2.69/bin/autoheader /usr/bin/autoheader
ln -sf /usr/local/autoconf-2.69/bin/autom4te /usr/bin/autom4te
ln -sf /usr/local/autoconf-2.69/bin/autoreconf /usr/bin/autoreconf
ln -sf /usr/local/autoconf-2.69/bin/autoscan /usr/bin/autoscan
ln -sf /usr/local/autoconf-2.69/bin/autoupdate /usr/bin/autoupdate

1.1.2:automake
下载地址:http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz
tar xzvf automake-1.14.tar.gz
cd automake-1.14
./configure --prefix=/usr/local/automake-1.14
make && make install

ln -sf /usr/local/automake-1.14/bin/aclocal-1.14 /usr/bin/aclocal-1.14
ln -sf /usr/local/automake-1.14/bin/automake-1.14 /usr/bin/automake-1.14
ln -sf /usr/local/automake-1.14/bin/aclocal-1.14 /usr/bin/aclocal-1.14
mkdir /usr/share/automake-1.14
ln -sf /usr/local/automake-1.14/share/automake-1.14/test-driver  /usr/share/automake-1.14/test-driver

1.1.3:cmake
下载地址:https://cmake.org/files/v3.6/cmake-3.6.1.tar.gz
tar xzvf cmake-3.6.1.tar.gz
cd cmake-3.6.1
./configure
make && make install

1.1.4:python
下载地址:https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
tar xzvf Python-2.7.12.tgz
cd Python-2.7.12
./configure --prefix=/usr/local/python27
make && make install

1.1.5:gcc
下载地址:http://ftp.gnu.org/gnu/gcc/gcc-6.2.0/gcc-6.2.0.tar.gz
tar xzvf gcc-6.2.0.tar.gz
cd gcc-6.2.0/
./contrib/download_prerequisites
cd ..
mkdir gcc-build-6.2.0
cd gcc-build-6.2.0/
../gcc-6.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4 (-j4参数根据自己的cpu核心数来设置,这样编译的速度会快点,其实加了编译的时间也很长的)
make install

ls /usr/local/bin | grep gcc
update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-pc-linux-gnu-gcc-6.2.0 40 (优先使用6.2.0版本的gcc)
执行以上操作之后使用 gcc --version 就可以看见当前使用的gcc版本是gcc (GCC) 6.2.0的新版本了。

cp ./x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 /usr/lib64/
删除原来低版本的软链:rm -rf /usr/lib64/libstdc++.so.6
创建新版本的软链:ln -sf /usr/lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6

二、编译相关依赖
2.1:colib
cd /home/phxsql/third_party/colib
make

2.2:glog
cd /home/phxsql/third_party/glog
./configure CXXFLAGS=-fPIC --prefix=/home/phxsql/third_party/glog
make
make install

2.3:leveldb
/home/phxsql/third_party/leveldb
make
mkdir lib
cp libleveldb.* ./lib

2.4:protobuf
cd /home/phxsql/third_party/protobuf
./autogen.sh
./configure CXXFLAGS=-fPIC --prefix=/home/phxsql/third_party/protobuf
make
make install

#执行autogen.sh的时候curl报超时的问题:
autogen.sh 文件的第34行gmock的下载地址是https://googlemock.googlecode.com/files/gmock-1.7.0.zip,这个地址在国内正常是访问不了的,所以在执行./autogen.sh的时候会报curl超时,翻出墙外之后这个地址也不能下载,404,应该不会是忘了上传了吧。

解决办法1:
修改autogen.sh文件第34行的下载地址,把https://googlemock.googlecode.com/files/gmock-1.7.0.zip 改为wget http://www.zhanghaijun.com/soft/gmock-1.7.0.zip,这个我已经把两个包都下载了,打包好了。

解决办法2:
项目地址:https://github.com/google/googlemock
项目地址:https://github.com/google/googletest
wget https://github.com/google/googlemock/archive/release-1.7.0.zip
unzip -q release-1.7.0.zip
rm release-1.7.0.zip
mv googlemock-release-1.7.0 gmock

wget https://github.com/google/googletest/archive/release-1.7.0.zip
unzip -q release-1.7.0.zip
rm release-1.7.0.zip
mv googletest-release-1.7.0 gmock/gtest

解决办法三:
wget http://www.zhanghaijun.com/soft/gmock-1.7.0.zip
unzip gmock-1.7.0.zip
mv gmock-1.7.0 gmock


2.5:phxrpc
cd /home/phxsql/third_party/phxrpc
mv third_party/protobuf third_party/bak_protobuf
ln -sf /home/phxsql/third_party/protobuf /home/phxsql/third_party/phxrpc/third_party/protobuf
make

2.6:phxpaxos
cd /home/phxsql/third_party/phxpaxos
mv third_party/protobuf third_party/bak_protobuf
mv third_party/leveldb third_party/bak_leveldb
mv third_party/glog third_party/bak_glog
ln -sf /home/phxsql/third_party/protobuf /home/phxsql/third_party/phxpaxos/third_party/protobuf
ln -sf /home/phxsql/third_party/leveldb /home/phxsql/third_party/phxpaxos/third_party/leveldb
ln -sf /home/phxsql/third_party/glog /home/phxsql/third_party/phxpaxos/third_party/glog

./autoinstall.sh
make
make install
cd plugin
make
make install

三、编译安装PHXSQL
cd /home/phxsql
wget https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.31-77.0/source/tarball/percona-server-5.6.31-77.0.tar.gz
tar xzvf percona-server-5.6.31-77.0.tar.gz
mv percona-server-5.6.31-77.0 percona
sh autoinstall.sh
make
make install

3.1:生成安装包
[root@localhost phxsql]# make package
creating package phxsql-0.8.0.tar.gz...

生成的压缩包名称为:phxsql-0.8.0.tar.gz,把它拷贝到其他机器上就可以部署了。


四、部署测试
把安装包拷贝到其他测试的机器上,解压,本文目录为/home/phxsql
创建mysql用户
useradd -d /home/datacenter -s /sbin/nologin mysql
mkdir /home/phxsql/etc
cd /home/phxsql/tools
把director_operator.py文件第26行中的chown user:mysql 修改为chown mysql:mysql

#因为前面测试的时候已经用三台虚拟机搭过一个集群了,这次就把这台机器加入到之前部署的集群中
[root@localhost sbin]# ./phxbinlogsvr_tools_phxrpc -f AddMember -h192.168.1.241 -p17000 -m 192.168.1.243
get master 192.168.1.241 expire time 1473413135
AddMember 192.168.1.243 done

#初始化PhxSQL
mkdir /home/datacenter
/usr/local/python27/bin/python2.7 install.py -i"192.168.1.243" -p 54321 -g 6000 -y 11111 -P 17000 -a 8001 -f /home/datacenter/

#备份集群中其他机器的percona数据
/home/phxsql/percona.src/bin/mysqldump --set-gtid-purged=off -h 192.168.1.186 -P11111 -u root --all-databases >/home/all.sql

#kill掉新加入机器的phxbinlogsvr进程
ps axf|grep phxbinlogsvr|grep -v grep|awk '{print $1}'|xargs kill

#通过本地端口登录新加机器的percona
/home/phxsql/percona.src/bin/mysql -h 127.0.0.1 -P11111 -u root

#登录之后执行以下操作
set GLOBAL super_read_only = 0; set GLOBAL read_only = 0;

#导入其他机器备份出的percona数据
/home/phxsql/percona.src/bin/mysql -h 127.0.0.1 -P11111 -u root < /home/all.sql

#启动phxbinlogsvr
nohup /home/phxsql/sbin/phxbinlogsvr_phxrpc &

之前的测试的集群由3台变成4台了
[root@localhost sbin]# ./phxbinlogsvr_tools_phxrpc -f GetMemberList -h"192.168.1.186" -p 17000
get master 192.168.1.241 expire time 1473416759
ip 192.168.1.186 port 17000
ip 192.168.1.180 port 17000
ip 192.168.1.241 port 17000
ip 192.168.1.243 port 17000

#查看复制状态,如果都是YES就可以测试了。
/home/phxsql/percona.src/bin/mysql -h 127.0.0.1 -P11111 -u root -e "show slave status\G;"
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

#测试
./test_phxsql.sh 54321 192.168.1.186 192.168.1.180 192.168.1.241 192.168.1.243
点击在新窗口中浏览此图片

【附】:已编译版本下载:http://pan.baidu.com/s/1c1PgDQK 提取密码: dhxm,MD5:ffcebea7eebf51b2b9bcd52696bd2b1f
Tags: , ,
Sep 8
官方更新了第三方库的版本之后,编译方法和可能遇到的错误和本文部分内容不一样了,全新安装的朋友请看【CentOS下PhxSQL编译安装第2版】

注:仅测试在CentOS release 6.7 和 CentOS Linux release 7.2.1511下编译通过,本文以用户使用较多的CentOS 6 操作系统为例,centos 7 的差别是不需要升级autoconf、automake、gcc和python的版本,其他操作系统的用户请参考官方提供的中文详细编译手册:https://github.com/tencent-wechat/phxsql/wiki/%E4%B8%AD%E6%96%87%E8%AF%A6%E7%BB%86%E7%BC%96%E8%AF%91%E6%89%8B%E5%86%8C

一、准备工作
1.1:相关项目地址:
https://github.com/tencent-wechat/phxsql
https://github.com/google/glog
https://github.com/google/googlemock
https://github.com/google/leveldb
https://github.com/tencent-wechat/phxpaxos
https://github.com/tencent-wechat/phxrpc
https://github.com/tencent-wechat/libco
https://github.com/google/protobuf

1.2:获取源码:
git clone --recursive https://github.com/tencent-wechat/phxsql.git (--recursive参数可以同时获得所依赖的第三方库colib,glog,leveldb,protobuf源码,和依赖库phxpaxos,phxrpc)

1.3:编译前的准备工作,由于centos自带或者使用yum安装的工具软件版本都比较低,所以要升级相关依赖的库及工具。
1.3.1:
yum install readline readline-devel libstdc++-static glibc-static perl-Module-Install.noarch -y

1.3.2:autoconf
下载地址:http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar xzvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/usr/local/autoconf-2.69
make && make install

mv /usr/bin/autoconf /usr/bin/bak_autoconf
mv /usr/bin/autoheader /usr/bin/bak_autoheader
mv /usr/bin/autom4te /usr/bin/bak_autom4te
mv /usr/bin/autoreconf /usr/bin/bak_autoreconf
mv /usr/bin/autoscan /usr/bin/bak_autoscan
mv /usr/bin/autoupdate /usr/bin/bak_autoupdate  
ln -sf /usr/local/autoconf-2.69/bin/autoconf /usr/bin/autoconf
ln -sf /usr/local/autoconf-2.69/bin/autoheader /usr/bin/autoheader
ln -sf /usr/local/autoconf-2.69/bin/autom4te /usr/bin/autom4te
ln -sf /usr/local/autoconf-2.69/bin/autoreconf /usr/bin/autoreconf
ln -sf /usr/local/autoconf-2.69/bin/autoscan /usr/bin/autoscan
ln -sf /usr/local/autoconf-2.69/bin/autoupdate /usr/bin/autoupdate


1.3.3:automake
下载地址:http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz
tar xzvf automake-1.14.tar.gz
cd automake-1.14
./configure --prefix=/usr/local/automake-1.14
make && make install

ln -sf /usr/local/automake-1.14/bin/aclocal-1.14 /usr/bin/aclocal-1.14
ln -sf /usr/local/automake-1.14/bin/automake-1.14 /usr/bin/automake-1.14
ln -sf /usr/local/automake-1.14/bin/aclocal-1.14 /usr/bin/aclocal-1.14
mkdir /usr/share/automake-1.14
ln -sf /usr/local/automake-1.14/share/automake-1.14/test-driver  /usr/share/automake-1.14/test-driver


1.3.4:cmake
下载地址:https://cmake.org/files/v3.6/cmake-3.6.1.tar.gz
tar xzvf cmake-3.6.1.tar.gz
cd cmake-3.6.1
./configure
make && make install


1.3.5:python
下载地址:https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
tar xzvf Python-2.7.12.tgz
cd Python-2.7.12
./configure --prefix=/usr/local/python27
make && make install


1.3.6:gcc
下载地址:http://ftp.gnu.org/gnu/gcc/gcc-4.9.4/gcc-4.9.4.tar.gz
tar xzvf gcc-4.9.4.tar.gz
cd gcc-4.9.4
./contrib/download_prerequisites
cd ..
mkdir gcc-build-4.9.4
cd gcc-build-4.9.4
../gcc-4.9.4/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4 (-j4参数根据自己的cpu核心数来设置,这样编译的速度会快点,其实加了编译的时间也很长的)
make install
ls /usr/local/bin | grep gcc
update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.9.4 40 (优先使用4.9.4版本的gcc)
使用 gcc --version 就可以看见当前使用的gcc版本是刚才编译的新版本了。
cp gcc-build-4.9.4/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.20 /usr/lib64/
删除原来低版本的软链:rm -rf /usr/lib64/libstdc++.so.6
创建新版本的软链:ln -sf /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6


####################################################################
1.3.7:boost   (此步可忽略)
官网:http://www.boost.org/
下载地址:https://sourceforge.net/projects/boost/files/boost/1.61.0/
tar xzvf boost_1_61_0.tar.gz
cd boost_1_61_0
./bootstrap.sh --prefix=/usr/local/boost
./b2
./b2 install

echo /usr/local/boost/lib >/etc/ld.so.conf.d/boost.conf
ldconfig
####################################################################

二、编译相关依赖
2.1:colib
cd /home/phxsql/third_party/colib
make

2.2:glog
cd /home/phxsql/third_party/glog
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. -DCMAKE_INSTALL_PREFIX=/home/phxsql/third_party/glog && make VERBOSE=1
make
make install

2.3:leveldb
/home/phxsql/third_party/leveldb
make
mkdir lib
cp -ar out-shared lib/
cp -ar out-static lib/

2.4:protobuf
cd /home/phxsql/third_party/protobuf
./autogen.sh
./configure CXXFLAGS=-fPIC --prefix=/home/phxsql/third_party/protobuf
make
make install

2.5:phxrpc
cd /home/phxsql/third_party/phxrpc
mv third_party/protobuf third_party/bak_protobuf
ln -sf /home/phxsql/third_party/protobuf /home/phxsql/third_party/phxrpc/third_party/protobuf
ln -sf /usr/local/boost/include/boost /home/phxsql/third_party/phxrpc/boost
make
make boost  (如果前面boost忽略,此步略过)

2.6:phxpaxos
cd /home/phxsql/third_party/phxpaxos
mv third_party/protobuf third_party/bak_protobuf
mv third_party/leveldb third_party/bak_leveldb
mv third_party/glog third_party/bak_glog
ln -sf /home/phxsql/third_party/protobuf /home/phxsql/third_party/phxpaxos/third_party/protobuf
ln -sf /home/phxsql/third_party/leveldb /home/phxsql/third_party/phxpaxos/third_party/leveldb
ln -sf /home/phxsql/third_party/glog /home/phxsql/third_party/phxpaxos/third_party/glog

./autoinstall.sh
make
make install
cd plugin
make
make install


三、编译安装PHXSQL
cd /home/phxsql
wget https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.31-77.0/source/tarball/percona-server-5.6.31-77.0.tar.gz
tar xzvf percona-server-5.6.31-77.0.tar.gz
mv percona-server-5.6.31-77.0 percona
sh autoinstall.sh
make
make install

3.1:生成安装包
make package
生成的压缩包名称为:phxsql-0.8.0.tar.gz


四、部署测试
把安装包拷贝到其他测试的机器上,解压,本文目录全部为/home/phxsql
创建mysql用户
useradd -d /home/datacenter -s /sbin/nologin mysql
mkdir /home/phxsql/etc
cd /home/phxsql/tools
把director_operator.py文件第26行中的chown user:mysql 修改为chown mysql:mysql
把binary_installer.py文件第35行中的 cd %s/percona.src; ./scripts/mysql_install_db --defaults-file=%s/etc/my.cnf 修改为:cd %spercona.src; ./scripts/mysql_install_db --defaults-file=%setc/my.cnf

测试部署是用的三台虚拟机:
python install.py -i"192.168.1.186" -p 54321 -g 6000 -y 11111 -P 17000 -a 8001 -f /home/datacenter/
python install.py -i"192.168.1.180" -p 54321 -g 6000 -y 11111 -P 17000 -a 8001 -f /home/datacenter/
/usr/local/python27/bin/python2.7 install.py -i"192.168.1.241" -p 54321 -g 6000 -y 11111 -P 17000 -a 8001 -f /home/datacenter/

在任意一台机器上执行
cd /home/phxsql/sbin/
./phxbinlogsvr_tools_phxrpc -f InitBinlogSvrMaster -h"192.168.1.186,192.168.1.180,192.168.1.241" -p 17000 (集群初始化完成之后就可以使用了。)


./phxbinlogsvr_tools_phxrpc -f GetMemberList -h"192.168.1.186" -p 17000
get master 192.168.1.241 expire time 1473313474
ip 192.168.1.186 port 17000
ip 192.168.1.180 port 17000
ip 192.168.1.241 port 17000

登录数据库:
/home/phxsql/percona.src/bin/mysql -uroot -h"192.168.1.186" -P54321

#获取master信息:
./phxbinlogsvr_tools_phxrpc -f GetMasterInfoFromGlobal -h 192.168.1.186 -p 17000
get master 192.168.1.241 expire time 1473314016

修改管理帐号及密码:
./phxbinlogsvr_tools_phxrpc -f SetMySqlAdminInfo -h 192.168.1.180 -p 17000 -u root -d "" -U zhj -D zhj2016  
get master 192.168.1.241 expire time 1473313844
SetMySqlAdminInfo admin username root -> new admin username zhj

用官方提供的测试工具测试:
cd /home/phxsql/tools/
chmod +x test_phxsql.sh
./test_phxsql.sh 54321 192.168.1.186 192.168.1.180 192.168.1.241
点击在新窗口中浏览此图片

sysbench 简单测试:
点击在新窗口中浏览此图片
Tags: ,
分页: 2/196 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]