XL-LightHouse
新一代实时计算底座

一键部署

作者:admin
最后编辑:2024-12-22 15:12:39

系统环境

  • 部署脚本支持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路径下;
  • 上传部署包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个或以上节点即为集群模式。

配置./bin/config/deploy.json

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

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

deploy.json文件配置说明:

  • 正式环境部署务必修改其中的密码相关参数,防止数据泄露风险;
  • 集群模式部署,对应cluster-deploy.json配置文件。
  • 单机模式部署,对应standalone-deploy.json配置文件。
  • 该文件中的deploy_user参数表示将当前服务部署在该系统账号下,默认为:work账号,此处不能配置root账号,系统禁止部署在root账号下。部署完成后如需要进行重启、停止、数据备份等操作需要使用该系统账号执行。
  • 集群模式支持使用nodes_size或nodes_ips两种配置方法指定各依赖组件的集群规模和部署节点,系统默认使用node_size的配置方式,如果使用nodes_size即按照nodelist节点顺序至上而下选择指定数量的节点部署该组件。如果使用nodes_ips为指定相应的ip,多个ip之间使用分号分割。

配置./bin/config/config.json

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

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

config.json文件配置说明:

执行部署命令

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

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

# 重复部署时,执行以下命令
/usr/soft/lighthouse-x.x.x/bin/easy-deploy.sh --force

脚本参数:
--force,重复执行部署脚本时使用,会强制删除之前的部署文件后再进行部署。

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

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

部署验证

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

访问Web服务的ip地址,初始账号/密码为:admin/123456,建议您使用chrome浏览器访问。

Web系统访问地址如下:

# 请替换为您的Web服务地址ip(默认为集群第一个节点),端口为8181
http://10.206.0.31:8181

公网环境下无法访问的问题

部署完成后默认使用内网地址访问,如果您使用公网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
}

演示项目

系统部署操作和升级操作使用root账号执行,部署完成后,重启、停止、数据备份等操作均使用deploy_user账号执行(参考deploy.json中的配置,默认为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端口。

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