一键部署


本部署集群模式默认使用HBase作为存储引擎,使用Zeroc-ICE作为RPC服务,单机模式默认使用Mysql作为存储引擎,如需自定义相关配置,请参考: 自定义存储引擎 以及 自定义RPC组件

nodelist文件中配置一个节点,即为部署单机模式;配置三个或以上节点即为部署集群模式!



  • 1、如果您想试用本项目,开发者可以免费帮您部署服务(单机模式请提供一台4c8g或以上配置的服务器,集群模式提供三台8c16g或以上配置的服务器,服务器需要有外网权限和root密码,请务必确保您的服务器上没有任何业务数据,部署完成后您再修改root密码即可)。
  • 2、如果您想试用XL-LightHouse商业付费版本,请联系开发者为您提供商业付费版本演示服务,并可以为您提供付费版本安装包和为期两个月的试用序列号(请勿破解商业付费版本)。

系统环境

  • 部署脚本支持Rocky、AlmaLinux、CentOS、RHEL、Ubuntu、Debian等操作系统,已测试过的系统版本有Rocky(8.5 , 8.6 , 9.0 , 9.1 , 9.2)、AlmaLinux(8.5 , 8.6 , 9.1 , 9.2)、CentOS(7.4 , 7.9 , 8.4)、RHEL(8.6)、Ubuntu(18.04 , 20.04 , 22.04)、Debian(10.2 ,10.12 , 11.1 , 12.4),建议您优先选择以上系统发行版;
  • 系统必须为64bit,CPU选择Intel型号;
  • 执行部署脚本需要使用root账号,并且服务器需要有外网访问权限(外网权限仅用于yum/apt安装依赖包),部署完成后不再需要root和外网访问权限;
  • 单机模式最低配置为:CPU-Cores>=4,Memory>=8G;集群模式至少需要3个节点,单节点最低运行配置为:CPU-Cores>=4,Memory>=16G;
  • 各节点的系统发行版、系统版本号、节点内存大小和CPU型号、磁盘容量建议保持一致。
  • 各节点时区保持一致,请配置时间服务器,不同节点的hostname不可相同,提前关闭系统防火墙。

源码编译

您可以直接下载Releases发布包下载地址或选择自己编译。

下载源码

请选择releases最新分支,不要使用master开发分支(开发分支会随时提交未严格测试的代码,不保证可用)。

git clone -b releases-x.x.x https://github.com/xl-xueling/xl-lighthouse.git
或 
git clone -b releases-x.x.x https://gitee.com/xl-xueling/xl-lighthouse.git

源码编译

请使用JDK11编译,编译服务器内存不能小于4G,执行命令如下,该步骤涉及前端模块编译,耗时较长,请耐心等待,编译过程中有个别告警信息不影响程序运行!

mvn clean install -P release

编译完成后,在lighthouse-assembly/target目录下生成的lighthouse-x.x.x.tar.gz即为系统部署文件。

服务部署

部署准备

  • 选择集群中的一台服务器作为部署操作节点,【以下操作只需要在该节点执行即可】;
  • 使用root账号登录操作节点,创建部署路径(务必选择磁盘空间最大的分区,并且不要部署到/root路径下,可能会有操作权限限制),本文档默认将集群部署在/usr/soft路径下;
  • 部署操作需要使用root账号执行,部署脚本将本服务部署到deploy.json配置文件的[deploy_user]账号下(deploy_user不能为root),如果[deploy_user]账号不存在,则为自动创建出该账号。部署完成后,系统的运维管理等操作均使用deploy_user账号执行;
  • 上传lighthouse-x.x.x.tar.gz到操作节点部署路径下并解压文件;

配置/bin/config/nodelist

10.206.0.7;NodeA123456(重要:第一个节点必须为当前部署操作节点,单机模式只需要配置当前节点即可)
10.206.0.9;NodeB123456
10.206.0.17;NodeC123456

nodelist文件配置说明:

  • nodelist为集群节点信息,包含集群节点的内网IP和节点对应的root账号的密码,使用分号分割,配置格式为: ip;password。
  • nodelist的第一行配置必须为当前执行部署操作的节点。
  • nodelist文件中配置一个节点,即为单机模式,配置3个或以上节点即为集群模式。
  • 部署脚本执行时会根据该文件生成nodelist.new文件只包括节点IP信息,如果担心root密码泄漏,可在部署完成后将nodelist文件删除。

配置/bin/config/deploy.json

非必要步骤,如果您希望快速的初步体验XL-LightHouse,该文件直接使用默认配置即可。

deploy.json文件包括各组件集群规划配置和相关密码设置等配置信息(修改该文件中的参数,重启服务不会生效,必须重新部署才能生效)。

deploy.json文件配置说明:

  • 正式环境部署务必修改其中的密码相关参数,防止数据泄露风险;
  • 可以使用nodes_size或nodes_ips两种配置方法指定各组件的集群规模和部署节点,系统默认使用node_size方式, 如果使用nodes_size即按照nodelist节点顺序至上而下选择指定数量的节点部署该组件。 如果使用nodes_ips为指定相应的ip,多个ip之间使用分号分割。

  • 集群模式部署,对应cluster-deploy.json配置文件。

  • 单机模式部署,对应standalone-deploy.json配置文件。

配置/bin/config/config.json

非必要步骤,如果您希望快速的初步体验XL-LightHouse,该文件直接使用默认配置即可。

config.json文件主要包括各组件内存参数相关配置(修改该文件中的参数,执行restart-all.sh重启服务即可生效)。

config.json文件配置说明:

执行部署命令

系统在部署过程中出现个别告警信息,不需要处理,不会影响正常运行!

# 执行一键部署命令
/usr/soft/lighthouse-x.x.x/bin/easy-deploy.sh

脚本参数:
--force,重复执行部署脚本时使用,会强制删除之前的部署文件后再进行部署(会导致原先的数据丢失)。

输出日志:
/usr/soft/lighthouse-x.x.x/bin/log/log.txt

部署脚本自动下载所依赖组件安装包,具体下载时间取决于您的服务器网络状况,如果服务器网速较差,出现下载超时等情况,请首先删除./packages目录下的已下载文件,然后重新部署即可!

部署验证

部署脚本输出日志“XL-LightHouse installed successfully!”表示部署完成!

Web服务验证

使用Web模块部署IP访问(默认为集群第一个节点),端口为8181,初始账号/密码为:admin/123456,建议您使用chrome浏览器访问。

部署完成后默认使用内网地址访问,如果您使用公网IP访问,出现远程连接异常时,可以配置一下安装目录./light-webapps/build/config.json中的REACT_APP_BASE_URL参数的IP地址,将其修改为web服务的公网IP,同时确保您的服务器已对公网放开9089端口(后端接口服务)和8181端口(Web服务)!

修改config.json中的ip地址为您的公网ip,注意端口号不要修改,9089是后端接口服务的端口

{
    "REACT_APP_BASE_URL":"http://10.206.6.31:9089",
    "AXIOS_TIMEOUT":60000
}

Web系统访问地址如下,端口号为8181

http://10.206.0.31:8181

演示项目

使用部署账号(默认为:work登录操作系统),然后执行项目路径下:./bin/tools/examples/start_example.sh,自动创建出演示项目,可用于初步体验XL-LightHouse或测试服务部署是否正常,系统正式上线后可执行stop_example.sh将演示项目停止,避免不必要的资源占用。

部署出现失败的一些情况

1、如果服务器网速很慢的情况下,可能会有ice安装失败的情况,具体表象是部署日志出现:icegridadmin命令不存在,这种情况重新部署即可!
2、部署脚本远程操作ssh相关命令默认使用22端口,如果您的服务器ssh端口非默认端口,会提示不能远程连接,可进行以下操作:
手动修改集群每台服务器的/etc/ssh/ssh_config文件,将其中的Port改为您自己的端口,并将注释符号去掉,然后重新执行即可。务必注意:是修改ssh_config文件而不是sshd_config文件。

ssh_config文件中的Port只是对应在当前服务器上执行ssh命令远程连接其他服务器时,所使用的默认端口号,所以修改此端口不会改变您登录当前服务器的端口。
sshd_config文件中的Port是对应当前服务器sshd服务的端口号,修改此文件后,您再次使用ssh客户端登录当前服务器,必须修改ssh端口。

如果您编译或部署过程中出现任何问题,请您及时联系开发者~

results matching ""

    No results matching ""