我们已经搭建好了HIVE,这一节我们来搭建Redis cluster集群吧,现在都是环境搭建,后续的我们有了实际数据后会在这个集群上来进行数据分析,让我们一步一步的向钱推进吧?!
redis5.0.2集群搭建(两台服务器6节点)
我在集群中选两个节点(node1:192.168.30.101 node2:192.168.30.102)
- redis下载地址:下载地址
- 在linux下安装gcc
yum install gcc
- 在soft目录下创建文件并解压
mkdir -p /root/soft/
tar -zxvf redis-5.0.2.tar.gz
- 进入redis目录下,编译安装
make & make install
- 启动redis-server
src/redis-server redis.conf
在另一台机上重复以上步骤
开始集群搭建
要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,搭建集群的步骤如下:
- 在两个节点上创建集群目录:
mkdir -p /root/soft/redis-cluster
在redis-cluster下分别创建7001,7002,7003 // 7004,7005,7006目录
cd /root/soft/redis-cluster
mkdir 7001 7002 7003 // mkdir 7004 7005 7006
- 将原有的的redis.conf拷贝至7001目录
cp /root/soft/redis/redis.conf /root/soft/redis-cluster/7001/
- 修改以下内容
1)daemonize yes
2)port 8001(分别对每个机器的端口号进行设置)
3)dir /root/soft/redis-cluster/8001/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)
4)cluster-enabled yes(启动集群模式)
5)cluster-config-file nodes-8001.conf(集群节点信息文件,这里800x最好和port对应上)
6)cluster-node-timeout 5000 - bind 192.168.30.101 127.0.0.1
- protected-mode no (关闭保护模式)
9)appendonly yes
在这里,这个文件内容较多,找起来vi下超麻烦,推荐模糊查找。先vi进入文件后,按esc键,然后输入 / 后面加上你想找的内容。 - 将修改好的配置文件分别拷贝至7002-7006,修改响应的端口,文件名
cp /root/soft/redis-cluster/7001/redis.conf /root/soft/redis-cluster/7002/
cp /root/soft/redis-cluster/7001/redis.conf /root/soft/redis-cluster/7003/
scp /root/soft/redis-cluster/7001/redis.conf root@192.168.1.22:/root/soft/redis-cluster/7004/
scp /root/soft/redis-cluster/7001/redis.conf root@192.168.1.22:/root/soft/redis-cluster/7005/
scp /root/soft/redis-cluster/7001/redis.conf root@192.168.1.22:/root/soft/redis-cluster/7006/
- 分别启动6个端口的redis实例
/root/soft/redis/src/redis-server /root/soft/redis-cluster/7001/redis.conf
/root/soft/redis/src/redis-server /root/soft/redis-cluster/7002/redis.conf
/root/soft/redis/src/redis-server /root/soft/redis-cluster/7003/redis.conf
/root/soft/redis/src/redis-server /root/soft/redis-cluster/7004/redis.conf
/root/soft/redis/src/redis-server /root/soft/redis-cluster/7005/redis.conf
/root/soft/redis/src/redis-server /root/soft/redis-cluster/7006/redis.conf
- 建立集群
/root/soft/redis/src/redis-cli --cluster create --cluster-replicas 1 192.168.30.101:8001 192.168.30.101:8002 192.168.30.101:8003 192.168.30.102:8004 192.168.30.102:8005 192.168.30.102:8006
- 连接任意一个节点
集群搭建成功!
redis集群压测
Redis自带一个叫redis-benchmark的工具来模拟N个客户端同时发出M个请求。实验进行了如下对比测试:
redis 性能测试工具可选参数如下所示:
-h 指定服务器主机名 127.0.0.1
-p 指定服务器端口 6379
-s 指定服务器 socket
-c 指定并发连接数 50
-n 指定请求数 10000
-d 以字节的形式指定 SET/GET 值的数据大小 2
-k 1=keep alive 0=reconnect 1
-r SET/GET/INCR 使用随机 key, SADD 使用随机值
-P 通过管道传输 请求 1
-q 强制退出 redis。仅显示 query/sec 值
–csv 以 CSV 格式输出
-l 生成循环,永久执行测试
-t 仅运行以逗号分隔的测试命令列表。
-I Idle 模式。仅打开 N 个 idle 连接并等待。
实例
以下实例同时执行 10000 个请求来检测性能:
redis-benchmark -n 10000 -q
PING_INLINE: 141043.72 requests per second
PING_BULK: 142857.14 requests per second
SET: 141442.72 requests per second
GET: 145348.83 requests per second
INCR: 137362.64 requests per second
LPUSH: 145348.83 requests per second
LPOP: 146198.83 requests per second
SADD: 146198.83 requests per second
SPOP: 149253.73 requests per second
LPUSH (needed to benchmark LRANGE): 148588.42 requests per second
LRANGE_100 (first 100 elements): 58411.21 requests per second
LRANGE_300 (first 300 elements): 21195.42 requests per second
LRANGE_500 (first 450 elements): 14539.11 requests per second
LRANGE_600 (first 600 elements): 10504.20 requests per second
MSET (10 keys): 93283.58 requests per second
(1) PING_INLINE
(2) PING_BULK
(3) SET:将字符串值value关联到key;
(4) GET:返回key所关联的字符串值,如果key存储的值不是字符串类型,返回一个错误;
(5) INCR:将key中存储的数字值增一。不能转换为数字则报错;
(6) LPUSH:将一个或多个值value插入到列表key的表头;
(7) RPUSH:将一个或多个值value插入到列表key的表尾;
(8) LPOP:移除并返回列表key的头元素;
(9) RPOP:移除并返回列表key的尾元素;
(10) SADD:将一个或多个member元素加入到集合set当中,已经存在于集合的member元素将被忽略;
(11) SPOP:移除并返回集合中的一个随机元素;
(12) LPUSH:将一个或多个value插入到列表key的表头;
(13) LRANGE_100:返回列表key中指定区间内的元素,前100条元素;
(14) LRANGE_300:返回列表key中指定区间内的元素,前300条元素;
(15) LRANGE_500:返回列表key中指定区间内的元素,前500条元素;
(16) LRANGE_600:返回列表key中指定区间内的元素,前600条元素;
(17) MSET:同时设置一个或多个key-value对,value为字符串。