[HD] Hadoop开源环境搭建(集群模式):9.Redis

常用的华为FusionInsight C60U10中各组件的版本,以此作为兼容参考:

HDFS:2.7.2
Hive:1.3.0
HBase:1.0.2
Spark:1.5.1
Solr:5.3.1
Flume:1.6.0
Kafka:2.10-0.10.0.0
Storm:0.10.0
Hue:3.9.0
Redis:3.0.5

本文配置:Redhat6.5、JDK-jdk1.7.0_79 、Redis 3.2.7(Redis3.0开始支持cluster模式)

三节点配置和名称(主 6C18G、子4C16G):

192.168.111.140	HMASTER
192.168.111.141	HDATA01
192.168.111.142	HDATA02

计划的redis主从关系,示例图:

详细步骤如下

 

一、环境配置

1.下载安装包,http://download.redis.io/releases/redis-3.2.7.tar.gz  (所有机器,应用用户hadoop即可)

安装包路径:   /home/hadoop/BigData/redis-3.2.7

$ scp /home/hadoop/BigData/redis-3.2.7.tar.gz hadoop@HData01:/home/hadoop/BigData/
$ scp /home/hadoop/BigData/redis-3.2.7.tar.gz hadoop@HData02:/home/hadoop/BigData/

 

2.编译和安装(所有机器,root) 目标路径默认: /usr/local/

$ cd  /home/hadoop/BigData/redis-3.2.7
$ make 
$ make install

 

二、配置各节点

3.登录所有机器,创建目录 (所有机器,建议root)

#step3.1 创建集群的目录和实例端口文件夹
mkdir -p /home/hadoop/BigData/redis_cluster/22400
mkdir -p /home/hadoop/BigData/redis_cluster/22401
mkdir -p /home/hadoop/BigData/redis_cluster/22402
mkdir -p /home/hadoop/BigData/redis_cluster/22403

#step3.2 移动配置文件
cp /home/hadoop/BigData/redis-3.2.7/redis.conf /home/hadoop/BigData/redis_cluster/22400
cp /home/hadoop/BigData/redis-3.2.7/redis.conf /home/hadoop/BigData/redis_cluster/22401
cp /home/hadoop/BigData/redis-3.2.7/redis.conf /home/hadoop/BigData/redis_cluster/22402
cp /home/hadoop/BigData/redis-3.2.7/redis.conf /home/hadoop/BigData/redis_cluster/22403

##step3.3 修改配置文件,以redis_cluster/22400参考如下:
bond  192.168.111.140  #物理IP
port  22400
pidfile /home/hadoop/BigData/redis_cluster/redis_22400.pid
daemonize    yes  	#redis后台模式运行
cluster-enabled yes
cluster-config-file nodes-22400.conf


 

4.启动redis instance(所有机器,应用用户hadoop),脚本/home/hadoop/redis_cluster/redis_start_node1.sh

#/home/hadoop/redis_cluster/redis_start_node1.sh 启动脚本
redis-server /home/hadoop/BigData/redis_cluster/22400/redis.conf
redis-server /home/hadoop/BigData/redis_cluster/22401/redis.conf
redis-server /home/hadoop/BigData/redis_cluster/22402/redis.conf
redis-server /home/hadoop/BigData/redis_cluster/22403/redis.conf

#/home/hadoop/redis_cluster/redis_kill.sh 停止脚本(如果想删除集群加上删除conf文件)
ps -ef|grep redis-server|grep -v grep|cut -c 9-15|xargs kill -9 
cd /home/hadoop/BigData/redis_cluster
rm -f *conf

 

三、配置集群(只需要AP1即可,应用用户hadoop)

5.安装gem的ruby工具包   说明:安装ruby、rubygem有问题请看  [Linux] redhat安装ruby和gem详解

$ gem install redis

 

6.创建集群

$ /home/hadoop/BigData/redis-3.2.7/src/redis-trib.rb create --replicas 1 127.0.0.1:22400 192.168.111.140:22401 192.168.111.140:22402 192.168.111.140:22403 192.168.111.141:22400 192.168.111.141:22401 192.168.111.141:22402 192.168.111.141:22403 192.168.111.142:22400 192.168.111.142:22401 192.168.111.142:22402 192.168.111.142:22403

说明:replicas  1  表示 自动为每一个master节点分配一个slave节点    上面12个节点,会按照一定规则生成 6master 6slave

然后提示:Can I set the above configuration? (type ‘yes’ to accept): 输入 yes

之后等待即可,如下图会自动分配主从关系以及集群通讯

 

7.测试和验证集群

方法就是插入数据,然后看数据是否均匀分布了。这里登录 一个redis实例然后插入3条数据

统计各redis示例的keys数量,可发现是均匀分布了

这里得强调下redis是以哈希槽的概念来进行均匀分布的。

 

 

 

 

报错和问题解决:

1.安装redis在make的时候报错: undefined reference to `clock_gettime’

原因:clock_gettime在实时库(real time)里面,由于链接的时候没有链接这个库导致报错。

解决:打开/home/hadoop/BigData/redis-3.2.7/src/MakeFile,添加红线部分

 

2.redis-trib.rb create创建集群的时候,报错访问不到子节点端口、或者一直停留在waiting for sending message

需要对端口开放防火墙,我是直接关了

1.查看防火墙状态:
/etc/init.d/iptables status
2.暂时关闭防火墙:
/etc/init.d/iptables stop
3.禁止防火墙在系统启动时启动
/sbin/chkconfig --level 2345 iptables off
4.重启iptables:
/etc/init.d/iptables restart
5.开放端口:
修改/etc/sysconfig/iptables文件,增加如下一行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22400 -j ACCEPT
然后重启防火墙:
# service iptables restart

分类上一篇:     分类下一篇:无,已是最新文章

Leave a Reply