目录
安装redis需要gcc环境,先查看系统是否安装gcc(gcc --version),若未安装gcc,则需要先安装。
Xshell里命令行切换到/usr 目录:
cd /usr
创建soft文件夹:
mkdir soft
上传依赖包:
将gcc依赖包中的rpm文件上传到 /usr/soft
用Xftp软件连接登录服务器,进行依赖包的上传,接口服务器目录打开/usr
将rpm文件拖动到soft文件夹中;
Xshell命令行切换到/usr/soft:
cd /usr/soft
执行以下命令,统一安装rpm文件:
rpm -Uvh *.rpm --nodeps --force
也可通过 rpm -ivh 包名 命令单独安装。
执行以下命令,检查是否安装成功:
rpm -qa|grep gcc
Xshell里命令行切换到/usr 目录:
cd /usr
创建soft文件夹:
mkdir soft
上传安装包:
将redis-5.0.4.tar.gz上传到 /usr/soft
用Xftp软件连接登录服务器,进行安装包的上传,接口服务器目录打开/usr
将安装包redis-5.0.4.tar.gz拖动到soft文件夹中;
Xshell命令行切换到/usr/soft:
cd /usr/soft
解压:
tar -zxvf redis-5.0.4.tar.gz
解压完毕可使用ll命令查看,生成文件夹redis-5.0.4;
执行make 对Redis解压后文件进行编译。
编译成功后,进入src文件夹,执行make install进行Redis安装。
安装过程可能出现的问题:
1、make时报如下错误:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2
原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。解决办法:make时添加参数。
make MALLOC=libc
启动Redis
进入src目录下查看redis是否安装成,运行./redis-server,启动Redis 服务。
指定配置文件启动:./redis-server 配置文件路径
后台启动:./redis-server &
启动方式:https://blog.csdn.net/m0_54853420/article/details/123680931
开启远程链接
#redis默认只允许本地登录 若需要远程访问。需要在69行将bind 127.0.0.1配置注释。重启即可
后台运行模式
修改redis.conf 配置文件223行左右位置 daemonize默认为no、修改为yes即可守护进程模式后台启动
daemonize yes
修改密码
密码默认为空、若要设置密码、可以通过789行位置放开注释# requirepass foobared
requirepass 密码
后台启动redis服务
设置在后台运行redis,打开并编辑redis.conf,把daemonize设置为yes 设置好后保存并退出(:wq)
vim redis.conf
redis.conf配置文件中daemonize守护线程,默认是NO,daemonize是用来指定redis是否要用守护线程的方式启动daemonize yes : redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
daemonize no :当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
执行后台启动命令
./redis-server redis.conf
执行以下命令查看redis是否启动成功
ps -ef|grep redis
报错:redis服务器启动时遇到的问题WARNING Your kernel has a bug that could lead to data corruption during background save
(arm操作系统)解决方法:取消这最后一行的注释ignore-warnings ARM64-COW-BUG
redis.config配置图
Redis.conf配置
protected-mode no #关闭保护模式
daemonize yes #守护进程模式开启(可以后台运行)
requirepass TmHvEFfmaIpA43EDL#& #可以修改密码,requirepass 后边添加redis密码
port 6379 #可以修改端口号,默认是6379
#bind 127.0.0.1 #注释掉,监听所有的IP地址
5.1、redis节点
1、创建节点
测试我们选择2台服务器,分别为:192.168.1.237,192.168.1.238.每分服务器有3个节点。
我先在192.168.1.237创建3个节点:
cd /usr/local/
mkdir redis_cluster //创建集群目录
mkdir 7000 7001 7002 //分别代表三个节点 其对应端口 7000 7001 7002
//创建7000节点为例,拷贝到7000目录
cp /usr/soft/redis-5.0.4/redis.conf ./redis_cluster/7000/
//拷贝到7001目录
cp /usr/soft/redis-5.0.4/redis.conf ./redis_cluster/7001/
//拷贝到7002目录
cp /usrsoft/redis-5.0.4/redis.conf ./redis_cluster/7002/
//拷贝redis-server到redis_cluster 目录
cp /usr/soft/redis-5.0.4/src/redis-server ./redis_cluster
2、配置节点
分别对7001,7002、7003文件夹中的3个文件修改对应的配置:
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7002,7003
port 7000 //端口7000,7002,7003
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 5000 //请求超时 设置5秒够了
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
将bind 172.0.0.1 修改成192.168.1.237。
3、开通端口
redis集群不仅需要开通redis客户端连接的端口,而且需要开通集群总线端口
集群总线端口为redis客户端连接的端口 + 10000(7001,17001)
iptables -I INPUT -ptcp --dport 端口号 -j ACCEPT
4、启动节点服务
cd /usr/soft
./redis-server redis_cluster/7000/redis.conf
./redis-server redis_cluster/7001/redis.conf
./redis-server redis_cluster/7002/redis.conf
./redis-server redis_cluster/7003/redis.conf
./redis-server redis_cluster/7004/redis.conf
./redis-server redis_cluster/7005/redis.conf
5、查看服务
ps -ef | grep redis #查看是否启动成功
netstat -tnlp | grep redis #可以看到redis监听端口
5.2、创建集群
1、需要安装ruby,下载ruby、rubygems、ruby-devel、ruby-libs的rpm包安装。
2、//拷贝redis-trib.rb到redis_cluster 目录
cp /usr/soft/redis-5.0.4/src/redis-trib.rb ./redis_cluster
- 进入redis_cluster目录执行 redis-cli --cluster create 192.168.0.2:7001 192.168.0.2:7002 192.168.0.2:7003 192.168.0.2:7004 192.168.0.2:7005 192.168.0.2:7006 --cluster-replicas 1
运行中,提示Can I set the above configuration? (type 'yes' to accept): yes //输入yes
访问节点redis-cli -h IP -p 端口号
来源地址:https://blog.csdn.net/qq_35377292/article/details/126244440