redis 集群安装配置

转自朋友手稿~~


一、安装目标:
假设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/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 :22400 :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

你可能感兴趣的:(BigData&Cloud,linux)