集群模式一键部署


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


1. 系统环境

  • 部署脚本支持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和外网访问权限;
  • 集群至少需要3个节点,单节点最低运行配置为:CPU-Cores>=4,Memory>=16G,建议单节点配置:CPU-Cores>=16,Memory>=64G;
  • 集群内各节点的系统发行版、系统版本号、节点内存和CPU、磁盘容量建议保持一致。
  • 集群各节点时区保持一致,请配置时间服务器,不同节点的hostname不可相同,提前关闭系统防火墙。

2. 源码编译

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

2.1. 下载源码

请使用JDK11编译,选择releases最新分支,不要使用main开发分支。

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

2.2. 源码编译

执行命令如下,此外涉及前端模块编译,耗时较长,请耐心等待!

mvn clean install -P release

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

3. 集群部署

3.1. 部署准备

  • 选择集群中的一台服务器作为部署操作节点,【以下操作只需要在该节点执行即可】;
  • 使用root账号登录操作节点,创建部署路径(务必选择磁盘空间最大的分区),本文档默认将集群部署在/usr/soft路径下;
  • 上传lighthouse-x.x.x.tar.gz到操作节点部署路径下并解压文件;

3.2. 配置/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.new文件只包括节点IP信息,如果担心root密码泄漏,可在部署完成后将nodelist文件删除.

3.3. 配置/bin/config/deploy.json

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

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

deploy.json文件配置说明:

  • 正式环境部署务必修改其中的密码相关参数,防止数据泄露风险;
  • 可以使用nodes_size或nodes_ips两种配置方法指定各组件的集群规模和部署节点。 如果使用nodes_size即按照nodelist节点顺序至上而下选择指定数量的节点部署该组件。 如果使用nodes_ips为指定相应的ip,多个ip之间使用分号分割。
  • hadoop、hbase、spark三个组件的部署节点需要保持一致(自定义存储引擎请忽略)。

3.4. 配置/bin/config/config.json

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

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

config.json文件配置说明:

  • 如果您对大数据集群调优缺乏相关经验,可以直接复制本文档 config.json配置参考的配置即可。

3.5. 执行部署命令

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

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

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

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

4. 部署验证

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

4.1. Web服务验证

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

部署完成后默认使用内网地址访问,如果您是使用公网IP访问,出现远程连接异常时,可以配置一下安装目录./light-webapps/build/config.js中的REACT_APP_BASE_URL参数的IP地址,将其修改为web服务的公网IP即可!

http://10.206.0.7:8181

4.2. Task运算模块监控地址

Tasks运算服务监控,请使用Spark集群首个节点IP访问(默认为集群第一个节点),端口为4040。

  • 集群部署完成后,Tasks服务仍需要两三分钟左右的启动时间,可以查看相关日志信息。
  • 如果出现HTTP ERROR 401 Authentication required,需要在url后面加上user.name=ldp再访问。
  • 通过IP访问时,会自动重定向到hostname访问地址,如果出现"页面无法访问",可能是本机没有配置hosts的原因,可将服务器hosts文件内容添加到本地电脑即可。
http://10.206.0.7:4040?user.name=ldp

4.3. 其他组件监控页面

# spark集群监控页面
http://10.206.0.7:8081?user.name=ldp 

# 任务运行监控
http://10.206.0.7:4040?user.name=ldp

# 如果使用自定义存储引擎请忽略。
hadoop集群监控页面:http://10.206.0.7:9870?user.name=ldp
hadoop集群Yarn任务页面:http://10.206.0.7:9399/cluster?user.name=ldp
hbase集群监控页面:http://10.206.0.7:16010?user.name=ldp

5. 集群性能优化

集群部署完成后,如需对运行期的参数(主要为各组件的内存、任务并行度等配置参数)进行进一步优化,请您修改config.json配置文件,修改完成后使用部署账号(默认为:work登录系统)执行./restart-all.sh重启系统即可。

6. 其他事项

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 ""