热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iServer集成HadoopYARN集群,详细操作指南解析分布式分析

HadoopYARN集群是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度。其核心是通过一个全局的资源管理器来实现分离资源管理与作业调度监控。Hadoop

       Hadoop YARN集群是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度。其核心是通过一个全局的资源管理器来实现分离资源管理与作业调度/监控。Hadoop YARN具有更高的可靠性,通过结合Zookeeper技术,可以实现分布式计算集群的高可用。同时,Hadoop YARN支持动态的资源调度,当没有新的分析作业时,会自动释放占用的计算资源,更节省计算资源。
       本操作说明将带领您实现在iServer中集成Hadoop YARN集群并进行分布式分析。本操作说明包括以下两部分:
       第一部分为搭建开启认证的YARN集群和开启认证的Hadoop集群,文中将为您介绍如何启动YARN集群和Hadoop集群,以及kerberos配置
       第二部分为iServer使用YARN集群和Hadoop集群前所需配置。包括在iServer所在的服务器中配置Kerberos客户端,启动iServer内置的Spark集群,配置UGO等。

目录

  • 1 搭建Hadoop YARN集群
    • 1.1.准备
      • 1.1.1.软件准备
      • 1.1.2.主机准备
    • 1.2.创建用户和用户组
    • 1.3.配置免密登录
    • 1.4.安装jdk
    • 1.5.安装jsvc
    • 1.6.Kerberos服务安装与配置
    • 1.7.修改Hadoop集群配置
    • 1.8.启动集群
    • 1.9.验证集群是否可用
  • 2 iServer所在服务器的相关配置
    • 2.1.安装Kerberos客户端
    • 2.2.配置Kerberos客户端
    • 2.3.启动iServer内置的Spark
    • 2.4.配置UGO
    • 2.5.在iServer中配置YARN集群


1 搭建Hadoop YARN集群

1.1.准备


1.1.1.软件准备

本说明以虚拟机centos7系统为例,您需要准备以下安装包:
Hadoop安装包:Hadoop-2.7.3.tar.gz,下载后的存放路径:/home/iserver
JDK安装包:jdk-8u131-linux-x64.tar.gz:
Jsvc安装包:commons-daemon-1.0.15-src.tar.gz
Kerberos客户端安装包(windows): kfw-4.1-amd64.msi

1.1.2.主机准备

在这里插入图片描述

1.2.创建用户和用户组

在Master与各个节点分别创建以下用户组和用户,具体步骤如下:

  1. 新建用户组,命令如下:
    groupadd Hadoop
  2. 新建用户hdfs、yarn&#xff0c;其中需设定userID<1000&#xff0c;命令如下&#xff1a;
    useradd -u 501 hdfs -g hadoop
    useradd -u 502 yarn -g Hadoop
    并使用passwd命令为新建用户设置密码&#xff1a;
    passwd hdfs 输入新密码
    passwd yarn 输入新密码
  3. 用户建好后&#xff0c;用id user命令查看用户信息如图1-1所示&#xff1a;
    在这里插入图片描述
  4. 配置DNS和网关。如果是虚拟机&#xff0c;DNS和网关需与实体机相同。
  5. 将Master节点对应的IP添加到DNS服务中&#xff0c;并设置域名。如master162.ispeco.com

1.3.配置免密登录

为各节点间root、HDFS、YARN用户配置免密登录&#xff0c;具体步骤如下&#xff1a;

  1. 以HDFS用户为例&#xff0c;配置免密登录&#xff1a;
    1). 分别在Master和Worker上执行ssh-keygen -t rsa -P’’(-P表示密码&#xff0c;可以忽略&#xff0c;默认需要三次回车)执行完命令后&#xff0c;在/home/hdfs/.ssh目录下生成如下两个文件&#xff0c;如图1-2所示&#xff1a;
    在这里插入图片描述
    其中id_rsa为私钥文件&#xff0c;id_rsa.pub为公钥文件。
    2). 分别在Master和worker上执行以下命令&#xff1a;
    ssh-copy-id -i /home/hdfs/.ssh/id_rsa.pub ip
    当在Master上执行时&#xff0c;写Worker节点对应的IP。
    3). 在Master和Worker上执行ssh worker/master&#xff0c;验证是否配置成功。
  2. root、YARN用户配置免密登录的操作同上。

1.4.安装jdk

解压jdk-8u131-linux-x64.tar.gz&#xff0c;并将其路径设置到环境变量中。

1.5.安装jsvc

安装jsvc的步骤如下&#xff1a;

  1. 解压文件commons-daemon-1.0.15-src.tar.gz
  2. 在commons-daemon-1.0.15-src/src/native/unix目录下依次执行&#xff1a;
    support/buildconf.sh
    ./configure
    make
  3. 开始编译&#xff0c;成功后可在commons-daemon-1.0.15-src/src/native/unix目录下看到jsvc文件&#xff0c;并将其复制到【Hadoop-2.7.3安装包】/libexec目录下。
    注意&#xff1a;
    如果commons-daemon-1.0.15-src.tar.gz中已自带jsvc&#xff0c;则无需执行1、2&#xff0c;直接执行3即可。

1.6.Kerberos服务安装与配置


  1. Master节点需安装Kerberos的客户端及服务、Worker仅安装Kerberos的客户端即可。
    yum install krb5-server &#xff08;服务&#xff09;
    yum install krb5-workstation krb5-libs krb5-auth-dialog(客户端)
  2. 配置Kerberos服务相关文件
    配置etc/krb5.conf。修改其中的realm&#xff0c;把默认的EXAMPLE.COM修改为自己要定义的值&#xff0c;如&#xff1a;SUPERMP.COM。其中&#xff0c;需要修改以下参数&#xff1a;
    default_realm&#xff1a;默认的realm。设置为realm。如SUERMAP.COM
    kdc&#xff1a;代表要kdc的位置。添加格式是机器名
    admin_server:代表admin的位置。格式是机器名
    default_domain&#xff1a;代表默认的域名。&#xff08;设置Master主机所对应的域名&#xff0c;如master162.ispeco.com&#xff09;
    注意&#xff1a;
    /etc/krb5.conf (Master、Worker节点均需配置&#xff0c;且文件内容必须相同)
    修改后的文件如图1-3所示&#xff1a;
    在这里插入图片描述
    1). vi /var/kerberos/krb5kdc/kdc.conf (仅配置Master节点&#xff0c;如果没有&#xff0c;需自建)&#xff0c;如图1-4所示。
    在这里插入图片描述
                                                         图 1-4 配置vi /var/kerberos/krb5kdc/kdc.conf
    2). 配置vi /var/kerberos/krb5kdc/kadm5.acl (仅配置Master节点&#xff0c;如果没有&#xff0c;需自建)&#xff0c;如图1-5。
    在这里插入图片描述
  3. 创建 Kerberos数据库
    创建Kerberos数据库&#xff0c;需要设置管理员密码&#xff0c;创建成功后会在/var/Kerberos/krb5kdc/下生成一系列文件&#xff0c;如果重新创建&#xff0c;需要先删除/var/kerberos/krb5kdc下面principal相关文件。
    需在Master节点的root用户下执行以下命令&#xff1a;
    kdb5_util create -s -r SUPERMAP.COM
    执行成功后如图1-6所示&#xff1a;
    在这里插入图片描述
    注意&#xff1a;
    数据库创建成功后&#xff0c;需重启krb5服务&#xff1a;
    krb5kdc restart
  4. 创建 kerberos的管理员
    在Master节点的root用户下分别执行以下命令&#xff1a;
    kadmin.local
    addprinc admin/admin&#64;SUPERMAP1.COM
    如图1-7所示&#xff1a;
    在这里插入图片描述
  5. 创建 kerberos的普通用户及密钥文件&#xff0c;为配置时&#xff0c;各节点可以相互访问用。
    1). 在Master节点的root用户下分别执行以下命令&#xff1a;
    kadmin.local
    #创建用户
    addprinc -randkey yarn/master162.ispeco.com&#64;SUPERMAP.COM
    addprinc -randkey yarn/worker163&#64;SUPERMAP.COM
    addprinc -randkey hdfs/master162.ispeco.com&#64;SUPERMAP.COM
    addprinc -randkey hdfs/worker163&#64;SUPERMAP.COM
    #生成密钥文件&#xff08;生成到当前路径下&#xff09;
    xst -k yarn.keytab yarn/master162.ispeco.com&#64;SUPERMAP.COM
    xst -k yarn.keytab yarn/worker163&#64;SUPERMAP.COM
    xst -k hdfs.keytab hdfs/master162.ispeco.com&#64;SUPERMAP.COM
    xst -k hdfs.keytab hdfs/worker163&#64;SUPERMAP.COM
    2). 将yarn.keytab &#xff08;yarn:hadoop 400&#xff09;和 hdfs.keytab (hdfs:hadoop 400)文件到Master和Worker节点的/var/kerberos/krb5kdc/ 目录&#xff0c;并设置相应的组&#xff0c;并将权限为400。如图1-8所示&#xff1a;
    在这里插入图片描述

1.7.修改Hadoop集群配置

进入{HADOOP_HOME}/etc/hadoop目录&#xff0c;进行如下配置。

  1. core-site.xml文件内容如下&#xff1a;
    在这里插入图片描述
  2. yarn-site.xml文件内容如下&#xff1a;
    在这里插入图片描述
    在这里插入图片描述
  3. Hdfs-site.xml文件内容如下&#xff1a;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. container-executor.cfg文件内容如下&#xff1a;
    在这里插入图片描述
  5. hadoop-env.sh文件添加&#xff1a;
    export JAVA_HOME&#61;/home/supermap/java/jdk1.8.0_131
    export JSVC_HOME&#61;/home/supermap/hadoop/hadoop-2.7.3/libexec
    如果需要调试&#xff0c;则添加&#xff1a;
    export HADOOP_OPTS&#61;"$HADOOP_OPTS -Dsun.security.krb5.debug&#61;true"
  6. yarn-env.sh文件添加&#xff1a;
    export JAVA_HOME&#61;/home/supermap/java/jdk1.8.0_131
  7. masters文件添加&#xff1a;
    master&#xff08;Master所在主机名&#xff09;
  8. slaves文件添加&#xff1a;
    worker&#xff08;Worker所在主机名&#xff09;
  9. 将已配置的Hadoop安装包复制到Worker节点&#xff0c;放于与Master节点相同路径下。
  10. 权限设置&#xff08;Master、Worker节点都需设置&#xff09;
    Hadoop安装包放于所属root并且是权限是755的目录下。
    以下文件需要单独配置相应的权限与用户组&#xff1a;
    在这里插入图片描述

1.8.启动集群

启动开启Kerberos认证的YARN 集群和开启Kerberos认证的Hadoop集群的步骤如下。
在Master节点下的HADOOP安装目录下执行以下命令&#xff1a;

  1. 使用root用户启动Kerberos服务
    krb5kdc start
  2. 在用户HDFS下的格式化集群&#xff08;仅第一次安装时或者修改了Hadoop相关设置后需要执行该步骤&#xff09;
    [hdfs&#64;master bin]$ ./hadoop namenode –format
  3. 启动集群
    [hdfs&#64;master sbin]$ ./start-dfs.sh
    [root&#64;master sbin]# ./start-secure-dns.sh
    [yarn&#64;master sbin]$ ./start-yarn.sh
  4. 如需停止集群
    [yarn&#64;master sbin]$ ./stop-yarn.sh
    [root&#64;master sbin]# ./stop-secure-dns.sh
    [hdfs&#64;master sbin]$ ./stop-dfs.sh

1.9.验证集群是否可用

通过以下操作来验证YARN 集群和Hadoop集群是否成功启动&#xff1a;
YARN 集群&#xff1a;访问Master节点IP:8088
Hadoop集群: 访问Master节点IP:50070

2 iServer所在服务器的相关配置

2.1.安装Kerberos客户端

安装时&#xff0c;请确认客户端所在机器时间与服务器系统时间差不能超过5分钟。

2.2.配置Kerberos客户端

iServer安装在Windows系统上时&#xff0c;需修改C:\ProgramData\MIT\Kerberos5\krb5.ini文件&#xff0c;所设定Kerberos信息必须与Kerberos服务配置&#xff08;krb5.conf&#xff09;相同。具体内容如下所示&#xff1a;
[libdefaults]
default_realm &#61; SUPERMAP.COM
[realms]
SUPERMAP.COM &#61; {
kdc &#61; 192.168.112.162
admin_server &#61; 192.168.112.162
}
iServer服务在Linux 上&#xff0c;则需修改etc/krb5.conf。内容与Kerberos服务配置&#xff08;krb5.conf&#xff09;相同。

2.3.启动iServer内置的Spark

在【iServer安装路径】\support\ spark下的spark-default.conf中增加如下参数&#xff1a;
spark.yarn.am.memory 4g
此参数代表application master的内存大小&#xff0c;如果不设置&#xff0c;默认是512M。为了确保iServer分布式分析服务能够正常使用&#xff0c;修改为4G。用户可以根据自己的机器的内存合理分配。
使用Windows版本的iServer&#xff0c;需要另外增加如下配置&#xff1a;
spark.hadoop.yarn.resourcemanager.hostname hostname
更多的配置参见&#xff1a;http://spark.apache.org/docs/latest/running-on-yarn.html

2.4.配置UGO

在YARN集群的各个子节点下需要配置UGO&#xff0c;910及其以后版本的组件支持以下两种方式进行配置&#xff1a;

  1. 可直接将UGO的包解压将Bin目录放在固定目录/opt/SuperMap/iobjects/910/下
  2. 可以在/etc/profile文件中增加UGO_HOME&#xff0c;如下所示&#xff1a;
    export LD_LIBRARY_PATH&#61;/home/supermap/
    【iServer安装包】 /support/objectsjava/bin:$LD_LIBRARY_PATH

2.5.在iServer中配置YARN集群

在iServer设置前需进行以下操作&#xff1a;

  1. 从YARN集群主节点上复制{HADOOP_HOME}/etc/hadoop目录到iServer服务所在计算机上的位置&#xff08;随意&#xff09;
  2. 在YARN集群Master节点的root用户下分别执行以下命令&#xff1a;
    kadmin.local
    #创建用户
    addprinc -randkey iserver &#64;SUPERMAP.COM
    #生成密钥文件&#xff08;生成到当前路径下&#xff09;
    xst -k yarn.keytab iserver&#64;SUPERMAP.COM
  3. 在iServer服务的配置集群页面进行配置。具体如图2-1所示&#xff1a;
    在这里插入图片描述
    YARN集群配置目录&#xff1a;从YARN集群主节点上复制{HADOOP_HOME}/etc/hadoop目录到iServer服务所在计算机&#xff0c;目录位置可任意指定。
    选择YARN集群是否已开启Kerberos认证&#xff1a;
    主体名称&#xff1a;用户名&#64;域。例如&#xff1a;iserver&#64;SUPERMAP1.COM
    用户名&#xff1a;必须是YARN集群Mater节点的一个系统用户
    域&#xff1a;Kerberos服务设定的域。&#xff08;必须与YARN集群所在的域相同&#xff09;
    密钥文件路径&#xff1a;第2步生的密钥文件拷贝到iServer服务所在机器的文件位置
    配置文件位置&#xff1a;iServer服务所在机器的Kerberos客户端配置文件所在文件位置
  4. 在iServer服务进行数据注册。具体配置如图2-2所示&#xff1a;
    在这里插入图片描述
    勾选HDFS集群是否已开启Kerberos认证&#xff1a;
    主体名称&#xff1a;用户名&#64;域。例如&#xff1a;iserver&#64;SUPERMAP1.COM
    用户名&#xff1a;必须是YARN集群Mater节点的一个系统用户
    域&#xff1a;Kerberos服务设定的域。&#xff08;必须与YARN集群所在的域相同&#xff09;
    密钥文件路径&#xff1a;第2步生的密钥文件拷贝到iServer服务所在机器的文件位置
    配置文件位置&#xff1a;iServer服务所在机器的Kerberos客户端配置文件所在文件位置

推荐阅读
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 优化使用Apache + Memcached-Session-Manager + Tomcat集群方案
    本文探讨了使用Apache、Memcached-Session-Manager和Tomcat集群构建高性能Web应用过程中遇到的问题及解决方案。通过重新设计物理架构,解决了单虚拟机环境无法真实模拟分布式环境的问题,并详细记录了性能测试结果。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 深入解析BookKeeper的设计与应用场景
    本文介绍了由Yahoo在2009年开发并于2011年开源的BookKeeper技术。BookKeeper是一种高效且可靠的日志流存储解决方案,广泛应用于需要高性能和强数据持久性的场景。 ... [详细]
  • 本文详细介绍了使用ZooKeeper构建高可用集群的方法,包括必要的软件环境准备、配置文件调整及集群启动等关键步骤。通常,一个ZooKeeper集群由奇数个节点组成,以确保Leader选举的有效性。 ... [详细]
  • 58同城的Elasticsearch应用与平台构建实践
    本文由58同城高级架构师于伯伟分享,由陈树昌编辑整理,内容源自DataFunTalk。文章探讨了Elasticsearch作为分布式搜索和分析引擎的应用,特别是在58同城的实施案例,包括集群优化、典型应用实例及自动化平台建设等方面。 ... [详细]
  • 本文探讨了在Cloudera Distribution Including Apache Hadoop (CDH) 中添加位于新网络段的新节点后,如何解决Impala查询失败的问题。通过分析错误日志和网络配置,提供了详细的解决方案。 ... [详细]
  • 深入解析:主流开源分布式文件系统综述
    本文详细探讨了几款主流的开源分布式文件系统,包括HDFS、MooseFS、Lustre、GlusterFS和CephFS,重点分析了它们的元数据管理和数据一致性机制,旨在为读者提供深入的技术见解。 ... [详细]
  • 构建Filebeat-Kafka-Logstash-ElasticSearch-Kibana日志收集体系
    本文介绍了如何使用Filebeat、Kafka、Logstash、ElasticSearch和Kibana构建一个高效、可扩展的日志收集与分析系统。各组件分别承担不同的职责,确保日志数据能够被有效收集、处理、存储及可视化。 ... [详细]
author-avatar
手机用户2502905891
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有