由于redis对linux平台支持比较丰富,目前linux版本已经更新到5.0.7,但windows版本仍处在3.2.100,且启动redis集群时需要借助ruby环境。为方便用户在windows平台操作redis集群,添加了和linux平台中同名同功能的脚本,来提高用户体验。
UXDB for Windows版本需要以管理员身份运行各可执行文件。
双击安装包rubyinstaller-2.2.4-x64.exe,请联系优炫相关技术人员获取本安装包;
语言默认选择English,单击“OK”;
选择“I accept the license”,单击“NEXT”;
选择安装路径,并勾选“Install Tcl/Tk support”、“Add Ruby executables to your PATH”、“Associate .rb and .rbw files with this Ruby installation”,单击“Intall”;
单击“Finish”;
查看是否安装成功。打开DOS窗口执行“ruby –v”,查看返回结果。
UXDB默认安装路径为C:\Program Files (x86)\UXDB,本示例将UXDB安装在E:\Program Files (x86)\UXDB路径下。
在UXBD安装目录下:E:\Program Files (x86)\UXDB\uxfs\redis打开命令行,执行“gem install --local redis-3.2.2.gem”加载redis驱动。
启动默认redis节点:进入UXDB安装路径下redis所在目录:E:\Program Files (x86)\UXDB\uxfs\redis,执行start-all.bat。Win+R输入“services.msc”,查看系统服务是否新增默认的6个redis服务;
创建默认redis集群,执行create-cluster.bat,输入yes。
本节以3台机器(192.168.0.122、192.168.0.123、192.168.0.124)6个redis节点(3主3从)为例讲解多台机器redis的配置及启动。
分别在3台机器上进入E:\Program Files (x86)\UXDB\uxfs\redis\config目录,修改劝拿庞蜗菲教ㄗ⒉嵬锯2个节点的配置信息,将配置文件中“ bind 127.0.0.1 ”一行修改为“ bind 本机IP ”。以192.168.0.122,redis.windows.6379.conf,redis.windows.6380.conf为例:bind 192.168.0.122;
分别在3台机器进入E:\Program Files (x86)\UXDB\uxfs\redis目录,修改节点启动脚本start-all.bat:保留修改redis节点的信息,注释掉其他4个节点。保存后执行start-all.bat;
@redis-server --service-uninstall --service-name redis6379 >nul redis-server.exe --service-install .\config\redis.windows.6379.conf --service-name redis6379 redis-server.exe --service-start --service-name redis6379 @redis-server --service-uninstall --service-name redis6380 >nul redis-server.exe --service-install .\config\redis.windows.6380.conf --service-name redis6380 redis-server.exe --service-start --service-name redis6380 ::@redis-server --service-uninstall --service-name redis6381 >nul ::redis-server.exe --service-install .\config\redis.windows.6381.conf --service-name redis6381 ::redis-server.exe --service-start --service-name redis6381 ::@redis-server --service-uninstall --service-name redis6382 >nul ::redis-server.exe --service-install .\config\redis.windows.6382.conf --service-name redis6382 ::redis-server.exe --service-start --service-name redis6382 ::@redis-server --service-uninstall --service-name redis6383 >nul ::redis-server.exe --service-install .\config\redis.windows.6383.conf --service-name redis6383 ::redis-server.exe --service-start --service-name redis6383 ::@redis-server --service-uninstall --service-name redis6384 >nul ::redis-server.exe --service-install .\config\redis.windows.6384.conf --service-name redis6384 ::redis-server.exe --service-start --service-name redis6384
在劝拿庞蜗菲教ㄗ⒉嵬锯一台机器上修改redis集群创建脚本create-cluster.bat:添加3台机器上的6个节点。执行create-cluster.bat。
redis-trib.rb create --replicas 1 192.168.0.122:6379 192.168.0.122:6380 192.168.0.123:6379 192.168.0.123:6380 192.168.0.124:6379 192.168.0.124:6380
进入UXDB安装路径下dir、mrc、osd配置文件所在目录:E:\Program Files (x86)\uxdb\uxfs\etc\xos\uxfs_conf,可以查看或修改各模块的默认端口、UUID和路径等配置信息。各模块的默认配置如下表所示(各模块配置文件中不涉及的参数用“-”表示):
表?4.6.?默认参数配置
参数名称 | dirconfig.properties | mrcconfig.properties | osdconfig.properties |
---|---|---|---|
listen.port | 32638 | 32636 | 32640 |
http_port | 30638 | 30636 | 30640 |
listen.address | 127.0.0.1 | 127.0.0.1 | 127.0.0.1 |
babudb.baseDir | /home/uxdb/ngdb/dir/database | /home/uxdb/ngdb/mrc/database | - |
babudb.logDir | /home/uxdb/ngdb/dir/db-log | /home/uxdb/ngdb/mrc/db-log | - |
object_dir | - | - | /home/uxdb/ngdb/objs |
uuid | Default-DIR | Default-MRC | Default-OSD |
如果默认配置端口与其他程序冲突,可以进行修改,避免UXFS启动失败的情况发生。
进入UXDB安装路径下的UXFS启动脚本所在路径:E:\Program Files (x86)\uxdb\uxfs;
启动默认UXFS,双击执行start-all.bat脚本。
进入UXDB安装路径下的osd配置文件所在路径:E:\Program Files (x86)\uxdb\uxfs\etc\xos\uxfs_conf;
添加两个osd配置文件,命名与默认osd不同,例如osdconfig1.properties、osdconfig2.properties;
修改两个新增osd配置文件,修改内容请参考第?4.1.4?节;
进入UXFS启动脚本所在路径:E:\Program Files (x86)\uxdb\uxfs;
修改UXFS启动脚本,添加新加osd的启动命令;
start javaw -cp java\uxfs-servers\target\uxfs.jar org.uxfs.osd.OSD etc\xos\uxfs_conf\osdconfig1.properties start javaw -cp java\uxfs-servers\target\uxfs.jar org.uxfs.osd.OSD etc\xos\uxfs_conf\osdconfig2.properties
启动UXFS,双击执行start-all.bat脚本;
浏览器打开http://dir的listen.address:dir的http_port/可以查看存在新增的osd1和osd2。例如:http://192.168.0.123:30638/。
表?4.7.?增加osd(不同机器)举例
机器类别 | 机器IP |
---|---|
dir所在机器 | 192.168.0.123 |
新增osd11所在机器 | 192.168.0.124 |
新增osd22所在机器 | 192.168.0.125 |
进入UXDB安装路径下的osd配置文件所在路径:E:\Program Files (x86)\uxdb\uxfs\etc\xos\uxfs_conf;
在新增加的两台机器各添加一个osd配置文件,命名与默认osd不同,例如osdconfig11.properties、osdconfig22.properties;
分别修改两个新增osd配置文件中的listen.address、uuid、dir_service.host、dir_service.port参数值。
新增osd的listen.address = 新增osd所在机器的ip、uuid与其他的osd不同、dir_service.host = dir的listen.address、dir_service.port = dir的listen.port,举例如下表所示:
表?4.8.?配置文件修改参数说明
新增机器IP | ? | 192.168.0.124 | 192.168.0.125 |
---|---|---|---|
参数名称 | 默认参数值 | osdconfig11.properties | osdconfig22.properties |
listen.address | 127.0.0.1 | 192.168.0.124 | 192.168.0.125 |
uuid | Default-OSD | Default-OSD11 | Default-OSD22 |
dir_service.host | localhost | 192.168.0.123 | 192.168.0.123 |
dir_service.port | 32638 | 32638 | 32638 |
listen.address参数一行在配置文件中是被注释掉的,修改参数后应将注释“#”删除。
进入新增osd所在机器上UXFS启动脚本所在路径:E:\Program Files (x86)\uxdb\uxfs;
修改新增osd所在机器上的UXFS启动脚本,注释掉dir和mrc的启动命令,修改osd的启动命令:
::start javaw -cp java\uxfs-servers\target\uxfs.jar org.uxfs.dir.DIR etc\xos\uxfs_conf\dirconfig.properties etc\xos\uxfs_conf\redisconfig.properties %isFirst% ::start javaw -cp java\uxfs-servers\target\uxfs.jar org.uxfs.mrc.MRC etc\xos\uxfs_conf\mrcconfig.properties start javaw -cp java\uxfs-servers\target\uxfs.jar org.uxfs.osd.OSD etc\xos\uxfs_conf\osdconfig11.properties start javaw -cp java\uxfs-servers\target\uxfs.jar org.uxfs.osd.OSD etc\xos\uxfs_conf\osdconfig22.properties
进入dir所在机器UXFS启动脚本所在路径:E:\Program Files (x86)\uxdb\uxfs;
启动dir所在机器的UXFS(包含dir、mrc、osd),双击执行start-all.bat脚本;
启动新增osd,新增osd机器上双击执行start-all.bat脚本;
浏览器打开http://dir的listen.address:dir的http_port/可以查看存在新增的osd11和osd22。例如:http://192.168.0.123:30638/。
表?4.9.?dir、mrc、osd在不同机器的配置及启动举例
机器类别 | 机器IP |
---|---|
dir所在机器 | 192.168.0.123 |
mrc所在机器 | 192.168.0.124 |
osd所在机器 | 192.168.0.125 |
启动dir
进入UXDB安装路径下的dir配置文件所在路径:E:\Program Files (x86)\uxdb\uxfs\etc\xos\uxfs_conf;
修改dir配置文件,配置listen.address = 192.168.0.123(当前机器ip);
进入UXFS启动脚本所在路径:E:\Program Files (x86)\uxdb\uxfs;
修改dir所在机器上的UXFS启动脚本,注释掉osd和mrc的启动命令;
启动dir所在机器的UXFS,双击执行start-all.bat脚本;
启动mrc
进入UXDB安装路径下的mrc配置文件所在路径:E:\Program Files (x86)\uxdb\uxfs\etc\xos\uxfs_conf;
修改mrc配置文件,配置listen.address = 192.168.0.124(当前机器ip),配置dir_service.host =192.168.0.123(dir的listen.address);
进入UXFS启动脚本所在路径:E:\Program Files (x86)\uxdb\uxfs;
修改mrc所在机器上的UXFS启动脚本,注释掉osd和dir的启动命令;
启动mrc所在机器的UXFS,双击执行start-all.bat脚本;
启动osd
进入UXDB安装路径下的osd配置文件所在路径:E:\Program Files (x86)\uxdb\uxfs\etc\xos\uxfs_conf;
修改osd配置文件,配置listen.address = 192.168.0.125(当前机器ip),配置dir_service.host =192.168.0.123(dir的listen.address);
进入UXFS启动脚本所在路径:E:\Program Files (x86)\uxdb\uxfs;
修改osd所在机器上的UXFS启动脚本,注释掉mrc和dir的启动命令;
启动osd所在机器的UXFS,双击执行start-all.bat脚本;
浏览器打开http://dir的listen.address:dir的http_port/可以查看dir、mrc、osd。例如:http://192.168.0.123:30638/。
启动UXFS之后,进入UXDB安装路径的uxfs\bin路径下(E:\Program Files (x86)\uxdb\uxfs\bin),在当前路径下打开DOS窗口。
查看volumes
lsfs.uxfs localhost
创建volume
mkfs.uxfs localhost/demo
删除volume
rmfs.uxfs localhost/demo
如果dir、mrc、osd在不同机器部署,则将localhost替换为mrc所在机器的IP。