Skip to content

Package

wenchao.meng edited this page Jul 4, 2018 · 29 revisions

打包

打包命令

mvn clean install -Plocal,package -DskipTests

看到如下输出,代表打包成功:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] xpipe-parent ....................................... SUCCESS [3.613 s]
[INFO] core ............................................... SUCCESS [8.144 s]
[INFO] redis-parent ....................................... SUCCESS [0.293 s]
[INFO] redis-core ......................................... SUCCESS [4.382 s]
[INFO] redis-keeper ....................................... SUCCESS [3.646 s]
[INFO] redis-meta ......................................... SUCCESS [2.135 s]
[INFO] redis-console ...................................... SUCCESS [4.919 s]
[INFO] redis-integration-test ............................. SUCCESS [2.355 s]
[INFO] services ........................................... SUCCESS [0.346 s]
[INFO] local-service ...................................... SUCCESS [1.486 s]
[INFO] package ............................................ SUCCESS [0.908 s]
[INFO] package-redis-meta ................................. SUCCESS [3.448 s]
[INFO] redis-keeper-package ............................... SUCCESS [2.918 s]
[INFO] redis-console-package .............................. SUCCESS [2.825 s]
[INFO] ------------------------------------------------------------------------

配置

基础依赖

由于服务依赖于 Zookeeper,在每个机房需要有对应的Zookeeper集群
假设目前存在两个机房:jq、oy

Console

打包位置:redis/package/redis-console-package/target/
打包格式:zip
将此 zip 包解压缩到用户目录,假设加压缩后根目录为 console

DB 初始化脚本

Console 包解压缩之后,可以看到 console/sql 目录,目录下面存放数据库表结构初始化脚本: xpipedemodbtables.sql

DB初始化数据

Console 包解压缩之后,可以看到 console/sql 目录,目录下面存放数据库初始化脚本: init_data.sql
meta server依赖于console提供的机房meta信息,如果console初始化没数据,可能会导致meta server无法启动
建议运行此脚本,进行数据初始化操作。

基础配置文件

文件位置: console/config/xpipe.properties
重点配置项:

  • metaservers
    指定各机房 meta server 地址
  • zk.address
    Zookeeper 地址

数据源配置文件

文件位置:console/config/datasources.xml

Meta Server

打包位置:redis/package/redis-metaserver-package/target/
打包格式:zip

jq 机房配置

jq 机房服务器解压压缩包:

文件位置: console/config/xpipe.properties
重点配置项:

  • datacenter
    配置当前数据中心名字
  • metaserver.id
    当前 meta server 的 id,支持一个数据中心多个 meta server,不同 meta server 需要对应不同 id
  • zk.address
    当前数据中心 Zookeeper 地址
  • zk.namespace
    Zookeeper 命名空间
  • console.address
    console 地址
  • dcinfos
    各数据中心 meta server 地址

oy 机房配置

oy 机房服务器解压压缩包,基础配置项和 jq 机房类似
注意: 机房名字需要改成特定机房, 如果共享 Zookeeper,zk.namespace 需要有不同的配置。

Keeper Container

打包位置:redis/package/redis-keeper-package/target/ 打包格式:zip

支持一个数据中心多个 keeper container 服务器,只要按照如下配置方式配置好即可。

配置文件

文件位置: console/config/xpipe.properties
重点配置项:

  • datacenter
    当前数据中心名
  • meta.server.url
    当前数据中心 meta server 地址
  • zk.address
    Zookeeper server 地址,此处 Zookeeper 地址需要和对应机房 meta server 配置的地址相同
  • zk.namespace
    Zookeeper 命名空间 此处命名空间需要和对应机房 meta server 配置的命名空间相同
  • replication.store.dir
    本地数据文件保存位置

启动

启动 Zookeeper

请在 https://zookeeper.apache.org / 下载 zookeeper 3.4.8 版本
每个数据中心需要对应一个单独的Zookeeper集群

启动 Console

进入解压缩后的目录,运行 scripts/startup.sh 脚本

启动 Meta Server

进入解压缩后的目录,运行 scripts/startup.sh 脚本

启动 Keeper Container

进入解压缩后的目录,运行 scripts/startup.sh 脚本

单机启动注意

单机启动时,默认Console、Meta Server、Keeper端口会有冲突,需要将不同服务启动在不同端口。
将服务启动在特定端口方法如下:

  1. 建立文件夹,文件夹名格式“服务名_端口”,例如:"metaserver_9747"
  2. 将对应压缩包解压到上面建立的文件夹
  3. 运行scripts/startup.sh脚本,此脚本自动会获取路径中的端口信息,在上面的例子中为"9747"

启动后,应该能看到下面图片中红框部分,代表设置启动端口为"9747":

真正运行时,可以建立下面几个文件夹,并且将压缩包拷贝到对应目录:

  • console
  • metaserver_9747
    • 对应dc1 metaserver
  • metaserver_9748
    • 对应dc2 metaserver
  • keeper_7080
    • 对应dc1 keepercontainer
  • keeper_7081
    • 对应dc1 keepercontainer
  • keeper_7180
    • 对应dc2 keepercontainer
  • keeper_7181
    • 对应dc2 keepercontainer
Clone this wiki locally