redis3.0.0 集群安装详细步骤及jedis连接redis集群代码实现

10 篇文章 0 订阅
1 篇文章 0 订阅

redis集群安装:

安装http://blog.csdn.net/zhu_tianwei/article/details/44928779

安装http://blog.csdn.net/xu470438000/article/details/42971091

jedis坑http://blog.csdn.net/myrainblues/article/details/25881535/





使用淘宝的一个镜像就可以安装redis了
gem sources -a https://ruby.taobao.org/
sudo gem install redis


make时cc: command not found
yum  install  gcc
再次报错
1、make的时候注意:
如果make的时候提示如下错误:
cc: error: ../deps/hiredis/libhiredis.a: No such file or directory
cc: error: ../deps/lua/src/liblua.a: No such file or directory
cc: error: ../deps/jemalloc/lib/libjemalloc.a: No such file or directory
make: *** [redis-server] Error 1
则进入redis下的deps下的运行如下命令,就OK了。
  make lua hiredis linenoise


2、make test的时候注意:
[root@openstack-control redis-3.0.2]# make test
cd src && make test
make[1]: Entering directory `/root/redis-3.0.2/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/root/redis-3.0.2/src'
make: *** [test] Error 2


则yum install tcl即可。


3、make PREFIX=/usr/local/redis install


4、 make: *** No rule to make target
删掉redis-x.x.x目录重新解压


#如果没有开发所配置的端口,那么打开端口
#我们除了看到 配置文件中设置的端口700X   还有700X+10000  (1700X), 前者是客户端访问的, 后者是集群内部节点之间访问的.
iptables -A INPUT -p tcp --dport 700X -j ACCEPT
iptables -A INPUT -p tcp --dport 1700X -j ACCEPT



我的安装过程

cd /usr/local/
mkdir cluster
cd cluster/
mkdir 7000 7001 7002 7003 7004 7005
cd ../redis3.0/
cp -r * ../cluster/7000
cp -r * ../cluster/7001
cp -r * ../cluster/7002
cp -r * ../cluster/7003
cp -r * ../cluster/7004
cp -r * ../cluster/7005
cd ../cluster/
ll
cd 7000
ll
#修改端口,cp到其他目录依次修改对应的端口
vi redis.conf 
ll
cd src
ll
#启动redis
redis-server ../redis.conf 
#查看启动结果
ps aux | grep redis
cd /usr/local/cluster/
7001/src/redis-server 7001/redis.conf 
cd 7001/src
ll
redis-server ../redis.conf 
cd ../../7002/src
redis-server ../redis.conf 
cd ../../7003/src
redis-server ../redis.conf 
cd ../../7004/src
redis-server ../redis.conf 
cd ../../7005/src
redis-server ../redis.conf 
ps aux | grep redis
cd /usr/local/redis3.0/
cd src/
#创建集群
./redis-trib.rb  create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
ll
./redis-trib.rb  create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
ll
#如果缺少ruby库,安装
yum install ruby
yum install rubygems
./redis-trib.rb  create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
#可能会没有执行权限,授权
chmod 777 redis-trib.rb
./redis-trib.rb  create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
#登陆集群
redis-cli -c -p 7000

redis3.0集群密码设置

1.使用redis-trib.rb构建集群  完成前不要配置密码
2.集群构建完再通过config set + config rewrite命令逐个实例设置密码
3.对集群设置密码,requirepass和masterauth都需要设置
4.各个节点密码都必须一致,否则Redirected就会失败
-----------------------------------------
config set masterauth   aaaaaa
config set requirepass   aaaaaa
config rewrite 
 
设置密码后,redis-trib.rb check 192.168.0.107:6379  报错连接不上实例,解决方法:
vim /usr/lib/ruby/gems/1.8/gems/redis-3.3.0/lib/redis/client.rb
class Redis
  class Client
    DEFAULTS = {
      :url => lambda { ENV["REDIS_URL"] },
      :scheme => "redis",
      :host => "127.0.0.1",
      :port => 6379,
      :path => nil,
      :timeout => 5.0,
      :password => "aaaaaa",
      :db => 0,
      :driver => nil,
      :id => nil,
      :tcp_keepalive => 0,
      :reconnect_attempts => 1,
      :inherit_socket => false
    }
修改下默认密码就可以了

猜测:这里之所以要创建集群后再设置密码,应该是因为创建的时候,需要访问没个redis,如果带有密码,将无法访问呢

jedis连接redis集群

无密码版旧版jedis

redis集群环境搭建以及java中jedis客户端集群代码实现

 

有密码版新版jedis2.9

redis学习笔记(二)JedisCluster + redis 3.2.5集群http://blog.csdn.net/liubenlong007/article/details/53689306


在jedis连接redis集群过程中出现异常

redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

但是使用客户端是可以连接,后来打印了一下System.out.println(jedisCluster.getClusterNodes());发现结果是

{127.0.0.1:7005=redis.clients.jedis.JedisPool@3904e3f1, 127.0.0.1:7004=redis.clients.jedis.JedisPool@70110075, 127.0.0.1:7003=redis.clients.jedis.JedisPool@6c353acd, 127.0.0.1:7002=redis.clients.jedis.JedisPool@1aa7a03b, 127.0.0.1:7001=redis.clients.jedis.JedisPool@73088f28, 127.0.0.1:7000=redis.clients.jedis.JedisPool@36eec618}

这明显是创建集群的时候写的单个redis的地址是127.0.0.1。然后我在创建集群的时候写成内网ip./redis-trib.rb  create --replicas 1 192.168.1.80:7000 192.168.1.80:7001 192.168.1.80:7002 192.168.1.80:7003 192.168.1.80:7004 192.168.1.80:7005

再通过jedis进行连接之后就没有问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值