首先严重吐槽 在使用Coids遇到无数坑 坑 坑 ... 首先对于不熟悉linux系统的同学也是一大坑爹的货各种命令不知道边使用边查询 好吧对于熟悉同学先绕道 对于Codis的性能和高可用性在日后测试过程中在分享。
下面是搭建环境由于没有linux机器就是有vm搭建软件版本:VMware-workstation-full-10.0.7-2844087 、CentOS6.6 、ZooInspector(zk查看工具)、xshell win(64) 、安装系统是Win8.1
第一、安装VM这个大家自行安装灰常简单
第二、VM下安装CentOS6.6 (安装vm来自网络)
在桌面上双击VMware Workstation图标后启动虚拟机,鼠标单击文件,选择新的虚拟机;
2、单击“next”按钮,选择“典型(推荐)”安装或者“自定义(高级)”安装。这里选择“典型(推荐)”安装,如图所示。
3、选择“我以后再安装操作系统”,点击“next”按钮,如图所示:
4、选择要安装的操作系统类型,如Linux→CentOS,如图所示:
5、为虚拟机命名,指定它的存放位置,如图2-5所示。注意,应根据所安装操作系统的要求在硬盘上预留足够空间。
6、设置虚拟机磁盘容量,如图所示。定义磁盘大小;
7、显示将要创建的虚拟机信息,单击“finish”完成安装,如图所示:
8、单击“编辑虚拟机设置”
9、在Hardware下选中cd/dvd,选中“使用ISO映像文件”,点击“浏览”,找到之前下载的“CentOS-6.4-i386-bin-DVD1.iso”,点击“确定”
10、打开虚拟机电源,鼠标点击进入Linux,按enter键进入下一步;
11、接下来的页面选择“skip”按enter键跳过,如图所示:
12、按需求选择语言及键盘,如图所示:
13、选择“基本存储设备"点击"下一步",如图所示:
14、询问是否忽略所有数据,新电脑安装系统选择"是,忽略所有数据",如图所示:
15、 Hostname填写格式“英文名.姓” ,如图所示:(配置网络一定要记得!!!否则在连网是找不到eth0)
16、网络设置按照下面图示点击就可以了,如图所示:
17、 时区可以在地图上点击,选择“shanghai”并取消“系统时钟使用 UTC时间”前面的对勾,如图所示:
18、设置root的密码,如图所示:
19、硬盘分区,一定要按照图示点选
20、重点:调整分区,必须要有/home这个分区,如果没有这个分区,安装部分软件会出现不能安装的问题(注意在增加/home分区前,要先从root拿出点空间来)
21、 询问是否格式化分区
22、将更改写入到硬盘,如图所示:
23、引导程序安装位置,如图所示:
24、重点:最重要的一步,按图示顺序点击
25、 对桌面进行如下设置
输入法中仅保留ibus-pinyin-1.3.8-1.el6.x86_64,其他的全部取消
26、选中Languages,并选中右侧的Chinese Support然后点击红色区域:
27、调整完成后如下图所示
28、至此,一个最精简的桌面环境就设置完成了,如图所示:
29、安装完成,重启,如图所示:
20141213221206106.jpg (25.6 KB, 下载次数: 1)
到此vmware10安装linuxCentOS 6完成了
第三:搭建Codis环境
1.安装Golang 环境
参考帖子:http://jingyan.baidu.com/album/90895e0ffb4f1764ec6b0baa.html?picindex=7
2.安装官方步骤(确保go环境安装完成)
- 根据教程正确设置$GOPATH环境变量。注意$GOPATH是本机所有go项目(包括项目依赖的第三方库)的所在目录,而非单纯codis的所在目录。
- 将$GOPATH/bin设为$PATH的其中一个目录,例如直接PATH=$GOPATH/bin:$PATH,方便执行通过go get安装的命令
- 执行
go get -u -d github.com/wandoulabs/codis
下载codis代码 - 切换到
$GOPATH/src/github.com/wandoulabs/codis
目录执行make
命令编译代码,并执行make gotest
来跑测试
启动部署步骤如下
首先到 [root@centos02 codis]# 下
1.启动 dashboard
执行 bin/codis-config dashboard, 该命令会启动 dashboard
2.初始化 slots
执行 bin/codis-config slot init,该命令会在zookeeper上创建slot相关信息
3.启动 Codis Redis(在codisserver目录下新建两个redis conf文件并命名为6379.conf、6380.conf,目录可以自己指定)
3.1启动两个codis server实例
src/github.com/wandoulabs/codis/bin/codis-server codisserver/6379.conf
src/github.com/wandoulabs/codis/bin/codis-server codisserver/6380.conf
4.添加 Redis Server Group
bin/codis-config server add 1 192.168.3.253:6379 master
5.设置 server group 服务的 slot 范围 注意:这里分片0 1023 其他分配有错误 我是这样的 需要其他分片可以在网页上进行分配
bin/codis-config slot range-set 0 1023 1 online
6.启动代理 注意:下面的ip地址为codis服务ip地址
bin/codis-proxy -c config.ini -L ./log/proxy.log --cpu=8 --addr=192.168.3.253:19000 --http-addr=192.168.3.253:11000
7. 设置代理对外服务
bin/codis-config -c config.ini proxy online proxy_1 <---- proxy的id, 如 proxy_1 //上线proxy项目
8.浏览器:http://192.168.3.253:18087/admin 注意:页面上功能还没研究请求!_ !
以上顺便并非绝对!!! 到此基本可以运行起来 下面附件是我使用过程常用命令 总结 有点乱将就看!
最后连接测试 (可以整合spring-data-redis)
Jedis jedis = new Jedis("192.168.3.253",1900); //代理地址和端口
String retStr = jedis.set("test123", "222");
System.out.println(retStr);
相关推荐
Codis官方使用文档 pdf版 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, ...
启动Codis FE,使用的配置文件为codis.json。启动命令为nohup ./bin/codis-fe --ncpu=4 --log=./logs/fe.log --log-level=WARN --dashboard-list=./conf/codis.json --listen=192.168.10.60:18090 &。 四、...
Codis使用一致性哈希算法进行数据分片,确保数据在Redis实例间的均匀分布。当添加或删除Redis实例时,数据迁移对客户端透明,减少了服务中断的影响。 3. **动态扩展** Codis允许在运行时动态添加或移除Redis实例...
Codis Ansible Playbook 是一个自动化部署工具,用于简化 Codis 的集群安装和管理过程。...了解 Codis 的架构、数据管理和故障转移机制以及 Ansible 的核心概念和用法,对于成功使用这个 Playbook 至关重要。
Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的...
**目的:** Codis使用Zookeeper作为分布式协调服务。 **步骤:** 1. **创建数据和日志目录:** ```shell mkdir /opt/zookeeper-3.4.6/data mkdir /opt/zookeeper-3.4.6/logs ``` 2. **配置Zookeeper:** ```...
Codis 是一款针对 Redis 扩展性的解决方案,它提供了分布式 Redis 服务,使得用户在使用时如同与单机 Redis 交互,但背后却可以实现水平扩展和高可用性。本文将详细介绍如何在测试环境中搭建 Codis 集群,包括其主要...
CODIS的目标是让使用MySQL的业务在不修改任何代码的情况下,平滑地使用分布式数据库服务。 **一、CODIS架构** CODIS由三部分组成:Proxy、Zookeeper和Dashboard。Proxy作为客户端与数据库之间的代理,负责数据路由...
**三、CODIS使用注意事项** 1. **扩容与缩容**:当需要增加或减少Redis实例时,必须在Dashboard中操作,避免直接对Redis实例进行手动操作,以免破坏数据一致性。 2. **Slot迁移**:在进行Slot迁移时,需确保集群...
Codis使用一致性哈希算法(Consistent Hashing)进行数据分片,保证了数据迁移时的影响范围最小。每个键被映射到特定的Redis实例,当增加或减少实例时,只需要少量键的位置发生变化。 3. 源代码学习价值: Codis...
5. **Go语言实现**:CODIS使用Go语言编写,这使得它具有天然的并发优势和较好的跨平台兼容性。Go 1.7.5版本在性能和稳定性方面都有良好的表现。 6. **轻量级代理**:CODIS代理(codis-proxy)作为客户端与Redis实例...
4. **配置数据分片**: Codis使用一致性哈希算法进行数据分片,可以根据业务需求设置分片数量。数据在各个Server间均匀分布,保证读写性能。 5. **启动与测试**:启动所有组件,验证 Codis集群的正常工作。可以通过...
**CODIS for PIKA 二进制包详解** CODIS(Cluster Of Distributed Internet Services)是阿里巴巴开源的一个分布式Redis解决方案,它允许用户在不修改任何应用代码的情况下,将单机Redis扩展到集群,提供了高可用性...
Codis使用一致性哈希算法进行数据分片,保证数据在Redis实例间的均匀分布,并且在添加或删除节点时,尽可能少地影响已分配的数据。 4. Proxy实现 Codis Proxy负责接收客户端的请求,根据路由规则将请求转发到正确...
《Redis与Codis之间的迁移工具详解》 在分布式系统中,Redis和Codis都是常见的缓存解决方案。然而,随着业务的发展,有时我们需要将数据从一个系统迁移到另一个系统,例如从Codis迁移到Redis Cluster,或者反之。...
例如,Codis建议使用Redis 3.2.8版本,因为这个版本支持更多的优化功能。 - **代码优化**:通过优化迁移相关的代码逻辑,可以减少不必要的操作,提高整体效率。例如,在处理大数据量时,可以通过增加代码行数来实现...
Go-Codis是一个使用Go语言编写的高性能、基于代理的Redis集群解决方案。它旨在提供一种灵活且可扩展的方式,以处理大规模的数据存储和检索需求,特别是在那些对数据一致性有较高要求的场景下。 Codis的核心设计目标...