结构部署图
部署条件
三台CentOS6.6服务器,ip分别是10.5.1.61、10.5.1.62、10.5.1.73,其中73主要是对外提供服务使用,需要绑定固定IP和映射域名;
特别注意:服务器时间一点要调整一致,相差60秒内,因为时间不一致,很可能导致做数据库集群的时候,备份服务器不能访问主服务器的问题,或者其它一些原因;
一、安装部署需要的软件
需要安装的软件如上图中所提到的,包括redis,mysql,mongo,zookeeper,ActiveMQ,Tomcat,JDK等;1. 在61和62上,分别安装redis:
1.1. 下载安装包并上传至服务器/usr/local/目录下,下载网址: http://redis.io/download1.2. 解压Redis 安装包;
#tar -zxvf redis-2.8.19.tar.gz
1.3. 进入解压出来的文件件;
#cd redis-2.8.19
1.4. 编译
#make
#make install编译的时候可能会出现缺少gcc 包的问题:
解决办法:使用yum安装gcc ;#yum install gcc#yum install gcc-c++
1.5. 为了方便我们自己操作,我们可以创建一个简单的目录,目的是为了方便我们记忆和使用;
创建一个简单的文件目录,根据自己的需求来,在这里我在/urs/local/下创建redis文件夹,并在redis 下创建bin、etc文件夹,bin用来存放redis批处理命令,etc存放配置文件;#mkdir /usr/local/redis/bin#mkdir /usr/local/redis/etc
1.6. 将/redis-2.8.19/src下,带有可执行权限的批处理命令移动到自己新建的/redis/bin目录下,一般带执行权限的批处理命令为绿色;
# mv mkreleasehdr.sh redis-benchmark redis-check-dump redis-cli redis-server redis-check-aof /usr/local/redis/bin1.7. 将 /redis-2.8.19目录下 配置文件redis.conf移动到自己新建的/redis/etc目录下
#mv /usr/local/redis-2.8.19/redis.conf /usrl/local/redis/etc1.8. 配置redis:
1.8.1. 内存分配,redis可以使用本机的物理内存大小:
# echo "vm.overcommit_memory=1" >> /etc/sysctl.conf执行sysctl -p命令试配置生效:#sysctl -p1.8.2. 不使用透明内存
#echo never > /sys/kernel/mm/transparent_hugepage/enabled1.8.3. 修改系统端口最大监听队列的长度,默认值为128,我们修改为具体信息为511;
# echo 511 > /proc/sys/net/core/somaxconn1.8.4. 修改允许redis 后台运行,将redis.config的 daemonize配置 修改为yes;
#vim /usr/local/redis/etc/redis.conf1.8.5. 网络优化,在 sysctl.conf中添加如下配置:net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1运行命令#sysctl -p 使配置生效。1.9. 启动redis ,指定配置文件redis.conf,
#/usr/local/redis/bin/redis-server /use/local/redis/etc/redis.conf
1.10. 检查是否启动,redis 默认的端口号是6379,查看该端口是否启动监听
#netstat -na|grep 6379看到如下信息,证明启动成功;![]()
也可以使用 netstat -tunpl | grep 6379命令查看;![]()
1.11. 进入redis客户端 :
#/usr/local/redis/bin/redis-cli![]()
1.12. 添加一条数据测试:
![]()
1.13. 添加redis启动/停止脚本
#vim /etc/init.d/redis
添加一下内容:
# chkconfig: 2345 90 10
# description: Start and Stop redis
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/etc/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed."
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE exists, process is not running."
else
PID=$(cat $PIDFILE)
echo "Stopping..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x $PIDFILE ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
1.13. 给redis脚本添加执行权限
#chmod +x /etc/init.d/redis
1.14. 测试启动,停止redis服务命令:
#service redis start#service redis stop
1.15. 设置开机自启:
#chkconfig redis on1.16. 查看启动项chkconfig --list | grep redis
![]()
1.27. 编辑防火墙,开放6379端口2. redis 集群
2.1. 前提条件:
按上述步骤,分在61 和 62 上安装服务器分别安装redis,并保证redis端口号已经开放;61为主节点master,62是备份节点slave;2.2. 修改slave节点 redis 配置文件redis.conf,添加配置项:slaveof 10.5.1.61 63792.3. 重新启动slave,在master 添加测试数据test,在slave节点读mater:![]()
slave:![]()
恭喜您集群配置成功。
3. 在61和62上,分别上安装Mysql:
3.1. 首先检查mysql 是否自带myql
#rpm -qa|grep mysql
3.2 如果有,先卸载
#rpm remove mysql
3.3. 下载mysql 安装文件,二进制包下载网址: ftp://mirror.switch.ch/software/applications/mysql/Downloads/MySQL-5.6/3.4. mysql 共三个包,我下载的是:MySQL-client-5.6.25-1.el6.x86_64.rpm、MySQL-devel-5.6.25-1.el6.x86_64.rpm、MySQL-server-5.6.24-1.el6.x86_64.rpm
# rpm -ivh MySQL-client-5.6.25-1.el6.x86_64.rpm
# rpm -ivh MySQL-devel-5.6.25-1.el6.x86_64.rpm
![]()
#rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
安装过程出现的问题:错误信息: file /usr/share/mysql/charsets/latin2.xml from install of MySQL-server-5.6.24-1.el6.x86_64 conflicts with file from package mariadb-libs-1:5.5.41-2.el7_0.x86_64看到“conflicts”,是产生冲突了,文件“/usr/share/mysql/charsets/*”需要MySQL-server- 5.6.19-1.linux_glibc2.5.x86_64版本的,而系统已经存在mysql-libs-5.1.71-1.el6.x86_64版本的!解决办法:
执行以下命令,删除mysql-libs-5.1.71-1.el6.x86_64:
yum -y remove mysql-libs-5.1.71*
再执行以下命令安装MySQL:
rpm -ivh MySQL-server-5.6.19-1.linux_glibc2.5.x86_64.rpm
3.5. 安装完成之后,测试启动mysql服务,启动和停止mysql命令如下:
#/etc/init.d/mysql start查看mysql 端口号,netstat -tunpl|grep 3306;![]()
如果出现上图中信息,证明启动成功。3.6. 停止sql服务,修改root账户密码