您的位置:首页 > 数据库 > Redis

redis 集群安装配置

2016-02-05 17:49 706 查看
转自朋友手稿~~

一、安装目标:

假设2台物理服务器的内存各只有256G,而redis集群要求最少3个主节点。

仅有主节点。规划为每台服务器上装2个redis节点,每个节点最大支持96G,2台机共4个redis主节点,

合计384G内存。因内存较少,规划没有配置从节点。4个redis节点,每个节点使用单独的文件系统(每个150G),存储序列化的数据和日志。

该方案可最大限度使用内存,但没有使用主备模式,如果有一个节点故障,该节点的数据将无法读取。

二、准备

每个物理服务器挂载2个文件系统:/opt/redis1 和/opt/redis2,空间各有150G。

1、切换到root用户

2、执行:

zypper se gcc

//检查最新的gcc

3、安装gcc

zypper in gcc49

4、拷贝redis-3.0.6安装包到/opt/redis_install下。

5、编译redis

cd /opt/redis_install

tar xzvf redis-3.0.6.tar.gz

cd redis-3.0.6

make

(如果报错,则运行 make MALLOC=libc )

6、查看是否安装ruby、gem、zlib

zypper se ruby

zypper se gem

7、安装ruby/gem,根据需要安装zlib:

下载最近的ruby和zlib.

进入安装目录,依次运行:

./configure

make

sudo make install

8、安装ruby接口

gem instill -l ./redis-3.0.6.gem

9、新建目录,并把属主修改为appuser

mkdir /opt/redis1

chmod 755 /opt/

chown appuser:appuser opt/redis1

mkdir /opt/redis2

chmod 755 /opt/redis2

chown appuser:appuser opt/redis2

10、切换用户appuser

二、安装

1、生成redis配置文件目录和数据目录。

//第一台缓存服务器(redis1监听22400,redis2监听22401)

mkdir -p /opt/redis1/bin

mkdir -p /opt/redis1/conf

mkdir -p /opt/redis1/data (目录将来做数据目录和工作目录)

mkdir -p /opt/redis1/log

mkdir -p /opt/redis2/bin

mkdir -p /opt/redis2/conf

mkdir -p /opt/redis2/data

mkdir -p /opt/redis2/log

//第二台缓存服务器(redis3监听22400,redis4监听22401)

mkdir -p /opt/redis3/bin

mkdir -p /opt/redis3/conf

mkdir -p /opt/redis3/data

mkdir -p /opt/redis4/bin

mkdir -p /opt/redis4/conf

mkdir -p /opt/redis4/data

2、拷贝配置文件模板到"/opt/redis<n>/conf/"目录,并用端口号命名。

//第一台缓存服务器

cp redis.conf /opt/redis1/conf/22400.conf

cp redis.conf /opt/redis2/conf/22401.conf

//第一台缓存服务器分别拷贝到redis3和redis4

3、编辑配置文件,改动如下:

Set daemonize to yes (by default it is set to no).

Set the pidfile to /var/run/redis_22400.pid (根据需要修改端口号).

Change the port accordingly.

Set your preferred loglevel.

Set the logfile to /opt/redis1/log/redis.log

Set maxmemory 96GB

取消注释:cluster-enabled yes

set cluster-config-file /opt/redis1/datla/nodes.conf

Set the dir to /opt/redis1/data (very important step!)

(对redis2、redis3、redis4做相同的操作。)

4、拷贝启动脚本到"/etc/init.d"目录,要求脚本名字以redis实例的端口来命名。

//第一台缓存服务器

sudo cp utils/redis_init_script /etc/init.d/redis1

sudo cp utils/redis_init_script /etc/init.d/redis2

//第二台缓存服务器进行相同操作。

5、编辑启动脚本。

//第一台缓存服务器

sudo vi /etc/init.d/redis1

sudo vi /etc/init.d/redis2

(确保根据你在使用的端口来修改REDISPORT,pid文件和配置文件名都依赖端口号。)

//第二台缓存服务器进行相同操作。

6、最后把脚本添加到默认运行级别,参考如下命令:

//--------ubuntu------------

sudo update-rc.d redis1 defaults

sudo update-rc.d redis2 defaults

//--------Suse/Centos(注1)

chkconfig --level 345 --add redis1

chkconfig --level 345 --add redis2

7、运行下面命令创建集群。:

./redis-trib.rb create 21.2.2.77:22400 21.2.2.77:22401 21.2.2.78:22400 21.2.2.78:22401

(./redis-trib.rb create --replicas 1 127.0.0.1:22400 127.0.0.1:22401 <another IP>:22400 <another IP>:22401)

8、Now you can try running your instance with:

/etc/init.d/redis_22400 start

注1:

1)添加启动项:

chmod +x /etc/init.d/zookeeper1

chkconfig --level 345 --add zookeeper1 //在3、4、5运行模式下自动启动zookeeper1脚本

2)取消启动项:

chkconfig zookeeper off

2)删除启动项:

chkconfig --del zookeeper1

注2:参考资料
http://www.cnblogs.com/liuling/p/2014-4-19-02.html http://wenku.baidu.com/link?url=ZlF-u63f07c02JhcorObx4pb_coy6s36XtpS-ENFWQffPvWVPbVFe-3ms_tcRAkpqdZFMx2o8aCUXRlWRdm6kqTc1Ptw4KA91kgOd--MtVW
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: