redisd的基本搭建

Redis

Rhel6.5 server1.example.com 172.25.23.1

Selinux iptables disables 加解析

一.安装redis

1.tar zxf redis-3.0.2.tar.gz

2.cd redis-3.0.2

3.make && make install

注意:在安装的过程中可能要解决依赖性yum install -y gcc   yum install -y *

解决完依赖性后,需要重新解压

4.ls /usr/local/bin

redis-server: Redis 服务主程序。

redis-cli: Redis 客户端命令行工具,也可以用 telnet 来操作。

redis-benchmark: Redis 性能测试工具,用于测试读写性能。

redis-check-aof:检查 redis aof 文件完整性,aof 文件持久化记录服务器执行的所有写操作命令,用于还原数据。

redis-check-dump:检查 redis rdb 文件的完整性,rdb 就是快照存储,即按照一定的策略周期性的将数据保存到磁盘,是默认的持久化方式。

redis-sentinel:是集群管理工具,主要负责主从切换

5.cd utils

6. ./install_server.sh (一路Enter)

7.会自动启动服务

8.redis-cli

......

二.Redis 作 mysql 的缓存服务器

1.安装软件

安装 lnmp 环境,安装以下软件包:

nginx php php-fpm php-cli php-common php-gd php-mbstring php-mysql php-pdo php-devel mysql mysql-server

yum install -y mysql-server nginx-1.8.0-1.el6.ngx.x86_64.rpm php-*

2.修改配置文件

(1)修改时区 vim /etc/php.ini

(2)配置nginx

vim /etc/nginx/conf.d/default.conf

(3)导入php测试网页

cp ~/redis/test.php /usr/share/nginx/html/

cd /usr/share/nginx/html/

mv test.php index.php

3.安装 php 的 redis 扩展

unzip phpredis-master.zip

cd phpredis-master

phpize

-->  ls后可看到有configure

./configure (缺少re2c)

yum install re2c-0.13.5-1.el6.x86_64.rpm -y

./configure

make && make install

ls /root/redis/phpredis-master/modules

--> 可看到有redis.so

cd /etc/php.d------- 加载redis模块

cp mysql.ini redis.ini

vim redis.ini

4.导入数据

/etc/init.d/mysqld start

mysql_secure_installation

mysql -pwestos -e "create database test"

mysql -pwestos test < test.sql

cat test.sql

mysql -pwestos -e "grant all on test.* to [email protected] identified by ‘westos‘"

/etc/init.d/nginx start

/etc/init.d/php-fpm start

4.测试

(1) Redis-cli

(2) 访问172.25.23.1

第一次的时候获取的是redis的数据,再次刷新redis再从mysql获取数据,

       

5.在修改mysql的数据时,不能同步到redis。redis中仍然会有对应的 KEY,数据就不会更新,此时就会出现 mysql 和 redis 数据不一致的情况。

三.配置 gearman 实现数据同步

Update mysql -> gearmand (job service) -> worker ->redis

Update mysql -> trigger -> udf -> json -> plugin ->gearmand -> worker ->redis

Gearman 是一个支持分布式的任务分发框架:

Gearman Job Server:Gearman 核心程序,需要编译安装并以守护进程形式运行在后台。

Gearman Client:可以理解为任务的请求者。

Gearman Worker:任务的真正执行者,一般需要自己编写具体逻辑并通过守护进程方式运行,Gearman Worker 接收到 Gearman Client 传递的任务内容后,会按顺序处理。

大致流程:下面要编写的 mysql 触发器,就相当于 Gearman 的客户端。修改表,插入表就相当于直接下发任务。然后通过 lib_mysqludf_json UDF 库函数将关系数据映射为 JSON 格式,然后在通过 gearman-mysql-udf 插件将任务加入到 Gearman 的任务队列中,最后通过redis_worker.php,也就是 Gearman 的 worker 端来完成 redis 数据库的更新。

1.安装gearman软件包

yum installl -y gearmand-1.1.8-2.el6.x86_64.rpm

/etc/init.d/gearmand start

2.安装lib_mysqludf_json

lib_mysqludf_json UDF 库函数将关系数据映射为 JSON 格式。通常,数据库中的数据映射为格式,是通过程序来转换的。

yum install -y mysql-devel

unzip lib_mysqludf_json-master.zip

cd lib_mysqludf_json-master

cp lib_mysqludf_json.so /usr/lib64/mysql/plugin/

gcc $(mysql_config --cflags) -shared -fPIC -o lib_mysqludf_json.so lib_mysqludf_json.c

查看 mysql 的模块目录

注册 UDF 函数

3.安装gearman-mysql-udf

这个插件是用来管理调用 Gearman 的分布式的队列

tar zxf gearman-mysql-udf-0.6.tar.gz

cd gearman-mysql-udf-0.6

./configure --libdir=/usr/lib64/mysql/plugin

yum install -y gcc-c++

./configure --libdir=/usr/lib64/mysql/plugin

make && make install

注册 UDF 函数

4.安装 php 的 gearman 扩展

tar zxf gearman-1.1.2.tgz

cd gearman-1.1.2

phpize

./configure

make && make install

cd /etc/php.d/

cp mysql.ini gearman.ini

vim gearman.ini

/etc/init.d/php-fpm reload

5.导入数据库

/etc/init.d/php-fpm reload

mysql -pwestos test < test.sql

cat test.sql (mysql触发器)

指定 gearman 的服务信息

查看触发器

6.编写worker.php

cp worker.php /usr/share/nginx/html/

vim worker.php

nohup php worker.php &  ------- 打入后台运行

7.测试

更新数据

查看redis

查看浏览页

四.开启多个redis 服务

1.重新运行安装文件,改端口号

2.复制配置文件并修改

cd /etc/redis/

cp 6379.conf 6376.conf

vim 6376.conf  ---> :%s/6379/6376/g

redis-server 6376.conf# 启动服务

五.Redis 主从设置

Server1.example.com 172.25.23.1 master

Server2.example.com 172.25.23.2 slave

1.slave安装软件 ------ 过程同master端相同

2.slave修改配置文件

vim /etc/redis/6379.conf

/etc/init.d/redis_6379 restart

3.slave测试可以获取master 端的数据

4.Master

vim /etc/redis/6379.conf

# save <seconds> <changes> #指定在多长时间内,有多少次更新操作,才将数据同步到数据文件,这个选项有两个属性值,只有当两个属性值均满足时才会触

发;可以设置多种级别:

save 900 1 # 每900秒(15分钟)至少一次键值变更时被触发;

save 300 10 # 每300秒(5分钟)至少 10 次键值变更时被触发;

save 60 10000 # 每60秒至少 10000 次键值变更时被触发

/etc/init.d/redis_6379 restart

六.Redis监控端

Server1.example.com 172.25.23.1 master

Server2.example.com 172.25.23.2 slave

Server3.example.com 172.25.23.3 sentiel

1.监听端安装软件----- 同master 相同

2.将监听的配置文件拷贝到主配置目录中

cd ~/redis-3.0.2

cp sentinel.conf /etc/redis/

cd /etc/redis/

vim sentinel.conf

监听172.25.23.1 的6379端口,有一个出现故障就报告

默认的是30s 测试时,可以将时间缩短

/etc/init.d/redis_6379 restart

3.测试

(1)启动监听服务

redis-server /etc/redis/sentinel.conf --sentinel

# /etc/redis/sentinel.conf  是sentinel.conf的路径

......

(2) redis-cli -p 26379 info(不能关掉监听服务,重新打开一个bash,再次ssh 链接server3,测试)

(3) 断掉master的服务,slave会接管

在监听服务开启的页面会显示

......

......

重新开启master 的服务

仍然是slave接管,直至slave出现故障,master才会再次接管

在监听服务开启的页面会显示

......

七.性能测试

.....

......

redis-benchmark -h 172.25.23.1 -p 6379 -n 100000 -c 20

执行100000次请求,在有20个并发时的性能

......

八.集群管理

1.安装软件

yum install -y rubygems-1.3.7-5.el6.noarch.rpm

gem install redis-3.3.1.gem --local

2.创建集群

(1)

(2) 开启服务

创建集群,每一个主节点有一个从节点

......

(3) 数据去中心化(根据内部的一系列hash算法等,算出中心区域的hash槽,将数据存入该hash槽)

(4)

ps -ax | grep  cluster

当集群的数据中心节点的主从都挂掉时,整个集群也就挂掉了

时间: 2024-10-12 12:49:10

redisd的基本搭建的相关文章

搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展

上一篇:搭建LNAMP环境(四)- 源码安装PHP7 一.安装Redis 1.创建redis用户组和用户 groupadd redis useradd -r -g redis -s /sbin/nologin -M redis 2.下载redis源码包,将源码包放到/usr/local/src/目录下 下载页面:http://redis.io/download这里用的是redis-3.2.5.tar.gz下载地址:http://download.redis.io/releases/redis-3

redis集群搭建踩坑笔记

推荐参考教程:https://blog.csdn.net/pucao_cug/article/details/69250101 错误: from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/redis-3.0.6/src/redis-trib.rb:25:in `<main>' 解决: gem install redis (最新) sudo gem install

redis cluster单机伪分布式搭建--- 3主3从3哨兵集群

redis cluster单机伪分布式搭建--- 3主3从3哨兵集群 最近公司引进微服务框架,之前的一台redis的预存60G已经无法满足现在的260G业务需要,经过一番考虑搭建了这套集群 . 为了方便我就用一台服务器演示,生产环境中不建议这么做(没啥用),只为记录一下过程,至于精细化的配置需要在生产中自行研究 演示环境 [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) redi

搭建redis集群(二主二从)

环境centos 7每台虚拟机都搭建redis 1.wget http://download.redis.io/releases/redis-4.0.6.tar.gz下载安装包 2.解压tar -zxvf redis-4.0.6.tar.gz 3.安装gccyum install gcc -y 4.进入redis-4.0.6/目录编译安装make MALLOC=libc 将/usr/local/redis-4.0.6/src目录下的文件加到/usr/local/bin目录cd src &&

Redis集群搭建完整流程演示

Redis集群搭建完整流程演示 前言 ? 前面讲述了有关redis的编译安装流程以及其配置优化的部分内容,本文旨在本地模拟redis服务器集群搭建的流程演示. Redis集群的作用是什么? ? 在实验部署开始前,我们需要明白为什么需要搭建Redis集群,其解决了什么样的问题?又有哪些优势.我们可以从单一的Redis服务器来探究这个问题. 单一Redis服务器存在的问题 ? 如果部署过MySQL主从复制读写分离以及MHA高可用的话,这里就非常容易想到单一Redis服务器所存在的问题,主要有以下几点

如何使用GNS3和Cisco IOU搭建路由交换实验-IOU篇

前面介绍了GNS3的概念,安装,配置和使用,本篇将介绍怎么利用GNS3配置IOU从而实现使用GNS3和Cisco IOU搭建路由交换实验. 由于本篇篇幅较长,所以先过一下大纲: 1. IOU模拟环境介绍 2. IOU软件环境的准备 3. VMware虚拟机的安装.导入和配置 4. IOU镜像的上传 5. GNS3的配置 6. IOU模拟环境的实现 IOU模拟环境介绍 IOU即IOS running in Unix,最初是由思科内部人员开发来测试IOS的平台,后来流传到互联网经网友改进有了后来的W

一、环境搭建

1 更新到最新版本的pip(这是安装python扩展包的一个插件)命令如下: python -m pip install --upgrade pip 2 使用pip安装virtualenv,命令 pip install virtualenv  如果要指定版本号,pip install virtualenv==15.0.1(安装虚拟环境) 3 创建django虚拟环境,命令 virtualenv django_basic_venv 4 使用虚拟环境 需要进入到安装目录的Scripts文件夹下,运行

cocos Creator js 房卡麻将/血战/H5四川麻将源码下载搭建

房卡麻将/血战/H5四川麻将 源码 支持iOS/Android/H5 完整源码 1.基于NODEJS+MYSQL的服务器,成熟的技术方案,高效稳定,且方便Windows开发,Linux平台布署,节约服务器运转成本. 2.采用最新版本的cocos引擎,cocos creator开发,可快速的进行界面调整.且能够快速地发布iOS,Android版本. 3.如需H5版本,只需针对H5平台进行资源优化即可. 4.成熟可靠的房卡式设计,能满足大部分用户使用体验. 5.产品经过大量测试,可以运转稳定. 测试

Vue.js系列之项目搭建(vue2.0 + vue-cli + webpack )

1.安装node node.js环境(npm包管理器) cnpm npm的淘宝镜像 从node.js官网下载并安装node,安装过程很简单,一路"下一步"就可以了(傻瓜式安装).安装完成之后,打开命令行工具,输入 node -v,如果出现相应的版本号,则说明安装成功. npm包管理器,是集成在node中的,所以,直接输入 npm -v就会显示出npm的版本信息. 2.安装cnpm 在命令行中输入 npm install -g cnpm --registry=http://registr