更新时间:2024-11-29 GMT+08:00

安装客户端

操作场景

该操作指导安装工程师安装MRS集群所有服务(不包含Flume)的客户端。MRS针对不同服务提供了Shell脚本,供开发维护人员在不同场景下登录其对应的服务维护客户端完成对应的维护任务。

  • 通过Manager界面修改服务端配置或系统升级后,建议重新安装客户端,否则客户端与服务端版本将不一致。

前提条件

  • 客户端安装目录可以不存在,会自动创建。但如果存在,则必须为空。目录路径不能包含空格。
  • 客户端节点为集群外部服务器时,必须能够与集群业务平面网络互通,否则安装会失败。
  • 客户端必须启用NTP服务,并保持与服务端时间一致,否则安装会失败。
  • 对于下载所有组件客户端的情况,HDFS与Mapreduce是合一目录(“客户端目录/HDFS/”)。
  • 安装和使用客户端可以使用任意用户进行操作,用户名和密码请从系统管理员处获取,本章节以“user_client”进行举例。要求“user_client”用户为服务器文件目录(如“/opt/Bigdata/hadoopclient”)和客户端安装目录(如“/opt/client”)的“owner”,两个目录的权限为“755”。
  • 使用客户端需要已从系统管理员处获取“组件业务用户”(默认用户或新增用户)和“密码”。
  • 使用ommroot以外的用户安装客户端时,若“/var/tmp/patch”目录已存在,需将此目录权限修改为“777”,将此目录内的日志权限修改为“666”。

操作步骤

  1. 获取软件包。

    登录FusionInsight Manager。

    在“主页”右上方单击下载客户端,弹出“下载集群客户端”信息提示框。

    如果只需要安装集群内某个服务的客户端,也可以选择“集群 > 服务 > 服务名称 > 更多 > 下载客户端”,弹出“下载客户端”信息提示框。

  2. “选择客户端类型”中选择“完整客户端”。

    “仅配置文件”下载的客户端配置文件,适用于应用开发任务中,完整客户端已下载并安装后,系统管理员通过Manager界面修改了服务端配置,开发人员需要更新客户端配置文件的场景。

    • x86_64:可以部署在x86平台的客户端软件包。
    • aarch64:可以部署在鲲鹏服务器的客户端软件包。

    集群支持下载x86_64和aarch64两种类型客户端,但是客户端类型必须和待安装节点的架构匹配,否则客户端会安装失败。

  3. 选择客户端文件下载位置。

    客户端文件可以直接下载到待安装客户端的节点上,也可以下载到主OMS节点或者本地电脑后,复制到待安装客户端的节点上。

    • 服务器端:下载到集群的主OMS节点上。

      文件生成后默认保存在主OMS节点“/tmp/FusionInsight-Client/”路径。支持修改为其他目录且omm用户需要拥有目录的读、写与执行权限。如果路径中已存在客户端文件,会覆盖路径下已有的客户端文件。

      集群内安装的服务较多时,集群客户端文件较大,且在安装客户端过程中解压客户端文件也会占用较多磁盘空间。建议将客户端文件下载至其他磁盘空间充足的目录下,或者在安装客户端后及时删除客户端下载目录内的冗余文件,避免“/tmp”目录所在磁盘空间被占满影响集群节点的正常运行。

      等待文件生成后,可以使用omm用户或客户端安装用户将获取的下载包复制到其他目录,例如“/opt/Bigdata/hadoopclient”。

    • 浏览器:下载到本地电脑。
    • 远端节点:下载到主OMS节点外的其他节点上。选择该项还需配置以下参数:
      表1 下载到远端节点配置参数

      参数名称

      参数说明

      样例

      保存到如下路径

      客户端文件保存路径。

      仅保存到远端节点该路径下,如果存在客户端文件,会覆盖路径下已有的客户端文件。登录远端节点用户需要对下载路径具有写权限。

      /tmp/FusionInsight-Client-Remote/

      主机IP

      远端节点的IP地址。

      说明:

      远端节点的平台类型需要与所下载客户端的平台类型一致,否则可能导致安装客户端失败。

      x.x.x.x

      主机端口

      远端节点的主机端口。

      22

      登录用户名称

      登录远端节点的用户名称。

      远端节点用户需要对下载路径具有写权限。

      xxx

      登录方式

      登录方式:

      • 密码:使用密码登录。
      • SSH私钥:使用SSH私钥登录。
      • 免密:选择该方式,用户需要具有免密登录节点的功能。

      密码

      登录用户密码

      “登录方式”选择“密码”时,需要配置该参数。

      配置为登录用户的密码。

      xxx

      SSH私钥

      “登录方式”选择“SSH私钥”时,需要配置该参数。

      单击“添加文件”选择SSH私钥文件并上传。

      -

      自动部署到节点

      是否自动部署到节点。客户端类型选择“完整客户端”时,支持配置该参数。

      • 是,客户端会自动在当前节点上安装部署。
      • 否,客户端不会自动安装部署。需要在客户端下载成功后手动进行安装。

      客户端部署路径

      “自动部署到节点”选择“是”时,需要配置该参数。如果仅下载配置文件,则无该参数。

      远端节点上部署路径若已存在,该路径下不能包含任何文件。若不存在,该路径会被创建。登录远端节点用户需要对该路径具有执行和写权限。

      /opt/testclient

    以准备安装客户端的用户(例如“user_client”),将获取的软件包拷贝到待安装客户端的服务器文件目录下,例如“/tmp/FusionInsight-Client”。

    客户端软件包名称格式为:“FusionInsight_Cluster_<集群ID>_Services_Client.tar”。

    后续步骤及章节以FusionInsight_Cluster_1_Services_Client.tar进行举例。

    客户端所在主机可以是集群内节点,也可以是集群外节点。当该节点为集群外部服务器时,必须能够与集群网络互通,并启用NTP服务以保持与服务端时间一致。

    例如可以为外部服务器配置与集群一样的NTP时钟源,配置之后可以执行ntpq -np命令检查时间是否同步。
    • 如果显示结果的NTP时钟源IP地址前有“*”号,表示同步正常,如下:
      remote refid st t when poll reach delay offset jitter 
      ============================================================================== 
      *10.10.10.162 .LOCL. 1 u 1 16 377 0.270 -1.562 0.014
    • 如果显示结果的NTP时钟源IP前无“*”号,且“refid”项内容为“.INIT.”,或者回显异常,表示同步不正常,请联系技术支持。
      remote refid st t when poll reach delay offset jitter 
      ============================================================================== 
      10.10.10.162 .INIT. 1 u 1 16 377 0.270 -1.562 0.014

    也可以为外部服务器配置与集群一样的chrony时钟源,配置之后可以执行chronyc sources命令检查时间是否同步。

    • 如果显示结果的主OMS节点chrony服务IP地址前有“*”号,表示同步正常,如下:
      MS Name/IP address         Stratum Poll Reach LastRx Last sample               
      ===============================================================================
      ^* 10.10.10.162             10  10   377   626    +16us[  +15us] +/-  308us
    • 如果显示结果的主OMS节点NTP服务IP前无“*”号,且“Reach”项内容为“0”,表示同步不正常。
      MS Name/IP address         Stratum Poll Reach LastRx Last sample               
      ===============================================================================
      ^? 10.1.1.1                      0  10     0     -     +0ns[   +0ns] +/-    0ns

  4. user_client用户登录将要安装客户端的服务器。
  5. 解压软件包。

    进入安装包所在目录,例如“/tmp/FusionInsight-Client”。执行如下命令解压安装包到本地目录。

    tar -xvf FusionInsight_Cluster_1_Services_Client.tar

  6. 校验软件包。

    执行sha256sum命令校验解压得到的文件,检查回显信息与sha256文件里面的内容是否一致,例如:

    sha256sum -c FusionInsight_Cluster_1_Services_ClientConfig.tar.sha256

    FusionInsight_Cluster_1_Services_ClientConfig.tar: OK     

  7. 解压获取的安装文件。

    tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar

  8. 配置客户端网络连接。

    1. 确保客户端所在主机能与解压目录下“hosts”文件(例如“/tmp/FusionInsight-Client/FusionInsight_Cluster_<集群ID>_Services_ClientConfig/hosts”)中所列出的各主机在网络上互通。
    2. 当客户端所在主机不是集群中的节点时,需要在客户端所在节点的“/etc/hosts”文件(更改此文件需要root用户权限)中设置集群所有节点主机名和业务平面IP地址映射,主机名和IP地址请保持一一对应,可执行以下步骤在hosts文件中导入集群的域名映射关系。
      1. 切换至root用户或者其他具有修改hosts文件权限的用户。

        su - root

      2. 进入客户端解压目录。

        cd /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_ClientConfig

      3. 执行cat realm.ini >> /etc/hosts,将域名映射关系导入到hosts文件中。
    • 当客户端所在主机不是集群中的节点时,配置客户端网络连接,可避免执行客户端命令时出现错误。
    • 如果采用yarn-client模式运行Spark任务,请在“客户端安装目录/Spark/spark/conf/spark-defaults.conf”文件中添加参数“spark.driver.host”,并将参数值设置为客户端的IP地址。
    • 当采用yarn-client模式时,为了Spark WebUI能够正常显示,需要在Yarn的主备节点(即集群中的ResourceManager节点)的hosts文件中,配置客户端的IP地址及主机名对应关系。

  9. 进入安装包所在目录,执行如下命令安装客户端到指定目录(绝对路径),例如安装到“/opt/client”目录。客户端安装目录只能包含大小写字母、数字及下划线(_)。

    cd /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_ClientConfig

    执行./install.sh /opt/client命令,等待客户端安装完成(以下只显示部分屏显结果)。

    ALL component client is installed successfully
    • 如果已经安装的全部服务或某个服务的客户端使用了“/opt/hadoopclient”目录,再安装其他服务的客户端时,需要使用不同的目录。
    • 卸载客户端请删除客户端安装目录。
    • 如果要求安装后的客户端仅能被该安装用户(如“user_client”)使用,请在安装时加“-o”参数,即执行./install.sh /opt/client -o命令安装客户端。
    • 如果需要安装客户端的服务器在集群内,则无需指NTP服务器模式,即执行./install.sh /opt/client命令安装客户端。
    • 如果需要安装客户端的服务器在集群外,且NTP服务器模式为chrony,即执行./install.sh /opt/client -o chrony命令安装客户端;不指定NTP服务器模式则默认为集群中NTP服务器模式。
    • 如果安装客户端时,不校验时钟同步,即执行./install.sh /opt/client -u命令安装客户端。
    • 如果安装客户端时,不校验时钟同步,且要求安装后的客户端仅能被该安装用户(如“user_client”)使用,请在安装时加“-ou”参数,即执行./install.sh /opt/client -ou命令安装客户端。
    • 客户端节点为集群外部服务器且此节点无法与主oms节点的业务平面IP互通时或者无法访问主节点的20029端口时,客户端可以正常安装成功,但无法注册到集群中,无法在界面上进行展示。

  10. 检查客户端是否安装成功,请登录客户端。

    1. 执行cd /opt/client命令进入客户端安装目录。
    2. 执行source bigdata_env命令配置客户端环境变量。
    3. 根据集群模式执行相关命令。
      • 如果集群为普通模式,则可以直接执行组件客户端相关命令,例如hdfs
      • 如果集群为安全模式,执行以下命令,设置kinit认证,输入客户端用户登录密码;普通模式集群无需执行用户认证。

        kinit admin

        Password for xxx@HADOOP.COM: #输入admin用户登录密码(与登录集群的用户密码一致)
        输入klist命令查询并确认权限内容。
        Ticket cache: FILE:/tmp/krb5cc_0 
        Default principal: xxx@HADOOP.COM   
        
        Valid starting       Expires              Service principal 
        04/09/2021 18:22:35  04/10/2021 18:22:29  krbtgt/HADOOP.COM@HADOOP.COM
        • 使用kinit认证时,票据默认会存放到“/tmp/krb5cc_uid”目录中

          uid表示当前登录操作系统的用户id,例如root用户的uid为0,那么root用户登录系统后使用kinit认证的票据会默认存放在“/tmp/krb5cc_0”

          若当前用户对于“/tmp”目录没有读写权限,则会将票据缓存路径修改为“客户端安装目录/tmp/krb5cc_uid”,例如客户端安装目录为“/opt/hadoopclient”,则kinit认证的票据会存放在“/opt/hadoopclient/tmp/krb5cc_uid”

        • 使用kinit认证时,如果使用相同的用户登录操作系统,则存在票据相互覆盖的风险。可使用-c cache_name参数指定票据缓存位置,或者通过设置KRB5CCNAME环境变量避免该问题。

  11. 集群重装后,之前安装的客户端将不再可用,需要重新部署客户端。

    1. root用户登录客户端所在节点。
    2. 使用以下命令查看客户端所在目录(下例中“/opt/hadoopclient”为客户端所在目录)。

      ll /opt

      drwxr-x---. 6 root root       4096 Dec 11 19:00 hadoopclient 
      drwxr-xr-x. 3 root root       4096 Dec  9 02:04 godi 
      drwx------. 2 root root      16384 Nov  6 01:03 lost+found 
      drwxr-xr-x. 2 root root       4096 Nov  7 09:49 rh 
    3. 使用mv命令移除所有客户端程序所在文件夹内的文件(例如移除“/opt/client”文件夹)。

      mv /opt/client /tmp/clientbackup

    4. 重新安装客户端。