coldsmog运维笔记
Linux 中间件部署
升级MySQL至最新版本
Zabbix与Zabbix-agent2部署
Galera-Cluster-MySQL 部署
JDK8 部署
FastDFS 部署
MySQL 主从备搭建
RabbitMQ 部署
Redis 部署
Nginx 部署
Gitlab + Jenkins + Sonarqube 部署
Docker 部署
keepalive的安装
Gitlab-ce 部署
Graalvm 部署
Nacos 部署
Kafka 部署
PostgreSQL 部署
MongoDB 部署
Fizz网关搭建
Vue项目部署(Nginx)
CentOS 运维笔记
centos 添加自定义服务
Linux 系统挂载
MySQL命令行
故障排查
Docker 运维笔记
keepalived 配置笔记
win 编辑EFI
win 安装 openclaw
本站点使用 MrDoc 构建
-
+
Redis 部署
## 下载Redis Redis下载网址 - http://www.redis.cn/download.html 图形管理界面下载网址 - QuickRedis https://gitee.com/quick123official/quick_redis_blog/releases/ - RedisView https://github.com/cc20110101/RedisView/releases ## docker安装redis 编写docker-compose.yml ``` version: '3' services: redis: image: 'redis:6.0' restart: always container_name: redis environment: - TZ=Asia/Shanghai command: redis-server --requirepass yourPassword --appendonly yes ports: - "6379:6379" volumes: - ./data:/data ``` `docker-compose up -d` 启动 ## yum安装Redis 配置文件`/etc/redis`, 启动文件`/usr/bin/redis-server` ``` yum install redis -y systemctl start redis systemctl enable redis ``` ## 编译安装Redis 1. Redis需要gcc环境(如果已经有该环境跳过此步骤) ` yum install gcc-c++` 2. 在/usr/local下创建redis文件夹 ``` mkdir -p /usr/local/redis ``` 3. 下载、解压、编译Redis: ``` cd /usr/local/src wget http://download.redis.io/releases/redis-5.0.4.tar.gz tar xzf redis-5.0.4.tar.gz cd redis-5.0.4 # 指定内存池类型,提高性能 make MALLOC=libc cd src make PREFIX=/usr/local/redis install ``` 4. 拷贝redis.conf配置文件到特定目录,单台环境下用此区分集群; ``` mkdir -p /usr/local/redis/6379 cp redis.conf /usr/local/redis/6379/ ``` 5. 添加redis到命令到全局变量,方便在任何目录执行; ``` vi /etc/profile # 在最后行添加: export PATH="$PATH:/usr/local/redis/bin" ``` 6. 将 redis-trib.rb 复制到 /usr/local/bin 目录下 ``` cd src cp redis-trib.rb /usr/local/redis/bin/ ``` 7. 对redis.conf文件修改如下 ``` #设置占用最大内存 数字为bytes 该值为0.75G maxmemory 751619276 # redis 内存回收机制 默认noeviction:拒绝更多内存,当前为回收已经过期的key,并且优先回收存活时间(TTL)较短的键 maxmemory-policy volatile-ttl # 开启AOF持久化 appendonly yes # AOF追写策略 appendfsync everyse #是否同步重写问件 yes性能更好,有概率丢失文件 no-appendfsync-on-rewrite no # 设置AOF增长比例和最小触发文件大小,即至(64*100% + 64)mb时触发重写文件 auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb # 注释掉RDB持久化参数 #save 900 1 #save 300 10 #save 60 10000 # 删除目录下的dump.rdb rm -rf dump.rdb # 手动重写AOF 执行 bgrewriteaof ``` 8. 启动验证redis ``` /usr/local/redis/bin/redis-server /usr/local/redis/bin/6379/redis.conf ``` 9. 性能测试 ``` # 启动5个连接,发起100000个请求,每个请求的大小为10bytes bin/redis-benchmark -t get -h localhost -p 6379 -c 5 -n 100000 -d 10 ``` 10. 设置开机自启 编写脚本 ``` vi /lib/systemd/system/redis.service # 填入以下内容 [Unit] Description=Redis persistent key-value database After=network.target After=network-online.target Wants=network-online.target [Service] ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/6379/redis.conf --supervised systemd Type=notify User=redis Group=redis RuntimeDirectory=redis RuntimeDirectoryMode=0755 [Install] WantedBy=multi-user.target ``` 启动&自启 ``` systemctl start redis systemctl enable redis ``` ## 集群化 - 在redis文件夹下创建redis-cluster,并且在redis-cluster文件夹下创建7004 7005 7006文件夹 - 将redis5.0.4的文件夹下redis.conf文件复制到刚刚创建的7004 7005 7006文件夹下 ``` cp redis.conf /usr/local/redis/redis-cluster/7004 cp redis.conf /usr/local/redis/redis-cluster/7005 cp redis.conf /usr/local/redis/redis-cluster/7006 ``` - 修改刚刚复制的三个配置文件redis.conf ``` port 7000 //端口7000,7002,7003 bind 本机ip //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群 daemonize yes //redis后台运行 pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001,7002 cluster-enabled yes //开启集群 把注释#去掉 cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002 把注释#去掉 cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置 把注释#去掉 appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志 ``` - 在/usr/local/redis/bin目录下启动各个节点 ``` ./redis-server /usr/local/redis/redis-cluster/7004/redis.conf ./redis-server /usr/local/redis/redis-cluster/7005/redis.conf ./redis-server /usr/local/redis/redis-cluster/7006/redis.conf ``` - 检查redis启动情况 ``` ps -ef | grep redis //查看redis启动情况 netstat -tnlp | grep redis//查看redis端口开启情况 ``` 另一个服务器也执行相同操作,分别创建7001 7002 7003节点 ### 创建集群 ``` ./redis-cli --cluster create --cluster-replicas 1 10.104.132.37:7001 10.104.132.37:7002 10.104.132.37:7003 10.104.132.52:7004 10.104.132.52:7005 10.104.132.52:7006 ``` 其中,前三个 ip:port 为第一台机器的节点,剩下三个为第二台机器 ### 验证集群 在第一台机器上连接集群的7001端口的节点,在另外一台连接7005节点,连接方式为 ``` ./redis-cli -h 10.104.132.37 -c -p 7001 ./redis-cli -h 10.104.132.52 -c -p 7005 ``` ### Redis集群操作命令 关闭所有节点 ``` pkill -9 redis ```
寒烟濡雨
2021年9月22日 12:34
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码