如果linux系统是最小化安装,最好首先
yum -y install gcc automake autoconf libtool make net-tools openssh-clients wget openssh-server binutils glibc-kernheaders glibc-common glibc-devel
1、安装tcl ,redis安装后,不需要安装tcl8.5也是可以使用的
但是要使用Redis的测试用例也就是tests目录下面用的是tcl脚本,就需要安装tcl8.5 or newer
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar -xzvf tcl8.6.1-src.tar.gz
cd /usr/local/tcl8.6.1/unix/
./configure
make && make install
2、使用redis-4.0.6.tar.gz(截止2018年1月的最新稳定版)
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
tar -zxvf redis-4.0.6.tar.gz
cd redis-4.0.6
make && make test && make install
把redis作为一个系统的daemon进程去运行的,每次系统启动,redis进程一起启动
(1)redis utils目录下,有个redis_init_script脚本
(2)将redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号
(3)修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)
(4)创建两个目录:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)
(5)修改redis配置文件(默认在根目录下,redis.conf),拷贝到/etc/redis目录中,修改名称为6379.conf
(6)修改redis.conf中的部分配置为生产环境
daemonize yes 让redis以daemon进程运行
pidfile /var/run/redis_6379.pid 设置redis的pid文件位置
port 6379 设置redis的监听端口号
dir /var/redis/6379 设置持久化文件的存储位置
(7)启动redis,执行cd /etc/init.d, chmod 777 redis_6379,./redis_6379 start
(8)确认redis进程是否启动,ps -ef | grep redis
(9)让redis跟随系统启动自动启动
在redis_6379脚本中,最上面,加入两行注释
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
chkconfig redis_6379 on
3、redis cli的使用
redis-cli SHUTDOWN,连接本机的6379端口停止redis进程
redis-cli -h 127.0.0.1 -p 6379 SHUTDOWN,制定要连接的ip和端口号
redis-cli PING,ping redis的端口,看是否正常
redis-cli,进入交互式命令行
SET k1 v1
GET k1
4、创建集群
从节点上需要修改redis.conf中的
# slaveof <masterip> <masterport> #这个配置默认是关闭的,配置成类似于slaveof 192.168.1.1 6379的形式
slave-read-only yes #这个配置默认就是开着的,意思是从节点只读不写
最后登录主节点redis-cli -h ipaddr
查看集群状态info replication
如果不加集群安全认证,现在就已经搭建好了集群,如果需要集群认证,就需要
集群认证
1、修改主节点的redis.conf文件中的# requirepass foobared
,这个设置默认是关闭的,需要自己开启,例如requirepass yourpwd
。
2、修改从节点redis.conf文件中的masterauth yourpwd
,(这个配置项默认是关闭的)这个值要和主节点中requirepass的值一样
这里取yourpwd
如果设置了集群安全认证,那么登录的时候需要加上密码参数,如下
redis-cli -h 172.17.0.6 -a yourpwd
,否则会提示(error) NOAUTH Authentication required.
3、在搭建生产环境的集群的时候,不要忘记修改一个配置,bind
bind 127.0.0.1 -> 本地的开发调试的模式,就只能127.0.0.1本地才能访问到6379的端口,需要改成bind ip,这里的ip是当前机器的IP地址
4、全部修改完毕之后,首先启动master,在启动slave,可以使用info replication查看集群状态。
5.主节点设置cluster-enable yes
,从节点上不要设置,否则会报错slaveof directive not allowed in cluster mode