Livy是一个开源的REST 接口,用于与Spark进行交互,它同时支持提交执行代码段和完整的程序。 ? image.png Livy封装了spark-submit并支持远端执行。.../bin/livy-server 这里假设spark使用yarn模式,所以所有文件路径都默认位于HDFS中。...提交jar包 首先我们列出当前正在执行的任务: curl localhost:8998/sessions | python -m json.tool % Total % Received % Xferd...jar包,假设提交的jar包位于hdfs中,路径为/usr/lib/spark/lib/spark-examples.jar curl -X POST --data '{"file": "/user/romain.../json" localhost:8998/batches {"id":0,"state":"running","log":[]} 返回结果中包括了提交的ID,这里为0,我们可以通过下面的命令查看任务状态
、或者YARN 配置了高可用(HA)、或者YARN 配置了kerberos 将cluster元素中相关部分改为以下配置, 请根据实际情况修改。...service_name" spark.hadoop.dfs.ha.namenodes.service_name="xxx1,xxx2" spark.hadoop.dfs.namenode.rpc-address.abdt.xxx1...="org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider" spark.yarn.stagingDir...= "" #### YARN HA #### spark.hadoop.yarn.resourcemanager.ha.enabled=true spark.hadoop.yarn.resourcemanager.ha.rm-ids...SparkSubmit 进程 jps -m | grep Spark 使用moonbox-cluster命令查看集群信息 bin/moonbox-cluster workers bin
并不开放外网访问,然后通过一个gateway机器作为集群的客户端来提交作业,或者管理集群。...这篇文章列举了Hadoop生态系统下常用大数据组件的默认端口号,包括 HDFS、YARN、MapReduce、Hive、Spark、Zookeeper、Kakfa,其他的例如HBase、Sqoop等以后用到的时候再新增吧...dfs.journalnode.rpc-address 8480 dfs.journalnode.http-address 8481 dfs.journalnode.https-address 8019 dfs.ha.zkfc.port...3888 server.x leader选举时的端口 Spark 8080 spark.master.ui.port Master WebUI 8081 spark.worker.ui.port...6066 spark.master.rest.port Master REST port 4040 spark.ui.port Driver WebUI Kafka 9092 server.properties
[nameservice ID]在名称服务中每一个nameNode的唯一标识符,streamcluster为之前配置的nameservice的名称,这里配置高可用,所以配置两个NN ...streamcluster的两个NameNode共享edits文件目录时,使用的JournalNode集群信息 dfs.ha.automatic-failover.enabled...> HA下两个ResourceManager的逻辑名称 yarn.resourcemanager.ha.rm-ids rm1...查看端口是否占用 Netstat-tunlp |grep 22 查看所有端口 Netstat -anplut 十、spark搭建与参数解析 修改spark-env..sh 增加如下参数(路径根据服务器上的路径修改...=11G Spark Application在Yarn中的名字 SPARK_YARN_APP_NAME="asiainfo.Spark-1.6.0" 指定在yarn中执行,提交方式为client MASTER
注意安装hadoop的集群主机名不能有下划线!!不然会找不到主机!无法启动! 示例: ?...-- 指定两个resourcemanager的名称 --> yarn.resourcemanager.ha.rm-ids rm1,rm2 yarn.resourcemanager.cluster-id yarn-ha </...然后使用kill命令停掉spark01节点的namenode,此时发现standby的namenode变为active。证明热备成功。 ...2.测试 可以通过yarn控制台来验证。 ? 至于spark的使用,和之前都是一样的。只不过资源的分配和管理是交给yarn来控制了。
的唯一标示名称。...该名称是可以让DataNode知道每个集群的所有NameNode.当前,每个集群最多只能配置两个NameNode) dfs.ha.namenodes.cdh5cluster (这是一个描述集群中NameNode节点的URI(包括协议、主机名称\端口号—)集群里面的每一台机器都要知道NAMENODE的地址...DataNode节点会先在NAMENODE上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DATANODE交互,以取得文件的块列表。) ...:yarn中显示的spark任务名称 SPARK_YARN_QUEUE:spark任务队列 SPARK_SUBMIT_LIBRARY_PATH:spark任务执行时需要的库目录,如hadoop的native
中的集群ID一致 dfs.ha.namenodes.hdcluster:表示namenode的id,这里有两个namenode节点,因此使用nn1,nn2命名 dfs.namenode.rpc-address.hdcluster.nn1...:表示 nn1、nn2的所在节点http服务和端口 dfs.namenode.shared.edits.dir:表示namenode共享的元数据路径,在配置HA时,使用journalnode来保存元数据...此目录是spark-defaults.conf目录中配置的目录名称,命令如下: #hadoop fs -mkdir /spark_jars 进入spark安装目录的jars目录,执行: #hadoop...有些关于Spark on YARN部署的博客,实际上介绍的是Spark的 standalone运行模式。...如果启动Spark的master和worker服务,这是Spark的 standalone运行模式,不是Spark on YARN运行模式。
关键代码如下所示: 在buildTokenService中,判断如果必须使用IP(userIpForTokenService),则会对rm的域名进行解析,如果无法解析出具体的ip地址,则抛出异常;...结合实际情况来分析,由于其中一个rm出现了宕机,其域名确实无法解析出对应的ip来,因此这也就是导致任务失败的根本原因。...进程kerberos登陆使用的principal为"hadoop/spark-history.svc.cluster.local@BIGDATA.COM" 从pincipal中解析出主机名为"spark-history.svc.cluster.local...,使其成为完全合规域名,并按照该域名来解析。 而由于sparkHistory所在的容器,配置了就绪探针,容器未就绪时,无法解析出任何地址。...localdomain,因此以"spark-history.svc.cluster.local.localdomain"来解析,解析出的ip恰好就是127.0.0.1,导致了问题的出现 该节点的/etc
hdfs namenode配置 单点可以直接写namenode的ip hdfsHA需要将集群的core-site.xml和hdfs-site.xml文件拷贝到ds的conf目录下 s3配置 yarn...resourcemanager配置 yarn.application.status.address - yarn单点 yarn.resourcemanager.ha.rm.ids - yarn HA config...ds的元数据库配置,在ds-1.2.0中默认的数据库是pg,如果要使用mysql,需要将mysql的jdbc包放到lib目录下。...defaultFS,如果hdfs没有配置HA则需要在这里写上单点namenode的ip,如果HDFS是HA则需要将集群的core-site.xml文件和hdfs-site.xml文件拷贝到conf目录下...yarnHaIps,如果yarn启用了HA,配置两个resourcemanager的ip,如果是单点,配置空字符串 singleYarnIp,配置resourcemanager的ip,在yarn单点情况下
作者:谢敏灵,Cloudera资深解决方案架构师 背景 数据质量平台基于定义好的数据稽核和数据质量规则,生成Spark SQL并提交运行到HDP 3.1.5集群的Spark 2.3.2上。...从Spark 1.4.0开始,Spark SQL的一个二进制构建包可以使用下面描述的配置来查询不同版本的Hive Metastore。...可用选项: builtin:使用Spark内置的Hive jar包 maven:使用从Maven存储库下载的指定版本的Hive jar包 JVM类路径:JVM标准格式的类路径。...同时,还需要把CDH的yarn配置目录conf.cloudera.yarn整体复制到HDP Hadoop配置目录/etc/hadoop目录下: ? Spark访问外部Hive表测试验证: ?...hdfs-site.xml中,如: dfs.ha.namenodes.
作业的方式有多种,前面Fayson介绍了Livy相关的文章主要描述如何在集群外节点通过RESTful API接口向CDH集群提交Spark作业,本篇文章我们借助于oozie-client的API接口向非...Livy相关文章: 《Livy,基于Apache Spark的开源REST服务,加入Cloudera Labs》 《如何编译Livy并在非Kerberos环境的CDH集群中安装》 《如何通过Livy的RESTful...API接口向非Kerberos环境的CDH集群提交作业》 《如何在Kerberos环境的CDH集群部署Livy》 《如何通过Livy的RESTful API接口向Kerberos环境的CDH集群提交作业...Oozie-client的API接口向非Kerberos集群提交Spark作业 * creat_user: Fayson * email: htechinfo@163.com * creat_date...Spark作业 [zmn87xt5vz.jpeg] 2.登录CM进入Yarn服务的“应用程序”菜单查看 [cmvmeo1tkn.jpeg] 3.打开Yarn的8088 Web界面查看 [k62rq1vgqn.jpeg
Flink是原生的流处理系统,但也提供了批处理API,拥有基于流式计算引擎处理批量数据的计算能力,真正实现了批流统一。与Spark批处理不同的是,Flink把批处理当作流处理中的一种特殊情况。...而同类框架Spark Streaming在流式计算中无法做到低延迟保障。Apache Storm可以做到低延迟,但无法满足高吞吐的要求。...从Flink 1.6版本开始,将主节点上的进程名称改为了StandaloneSessionClusterEntrypoint,从节点的进程名称改为了TaskManagerRunner,在这里为了方便使用...该模式下,Flink会向YARN一次性申请足够多的资源,资源永久保持不变,如果资源被占满,则下一个作业无法提交,只能等其中一个作业执行完成后释放资源,如图: 拥有一个预先存在的集群可以节省大量时间申请资源和启动...作业可以使用现有资源快速执行计算是非常重要的。 Flink Single Job模式不需要提前启动Flink YARN Session集群,直接在YARN上提交Flink作业即可。
2.3.2 局限性 当下的HDFS体系结构仅允许单个NameNode维护文件系统名称空间。注意HA体系中虽然说允许多个NameNode,但是他们所维护的是同一套文件系统名称空间。...由于名称空间和存储层的紧密耦合,NameNode的替代实现很困难。这限制了其他服务直接使用块存储。唯一的NameNode成了唯一入口。 文件系统的操作还限于NameNode一次处理的任务数。...因此,群集的性能取决于NameNode吞吐量。 同样,由于使用单个名称空间,因此使用群集的占用者组织之间没有隔离。 2.3.3 HDFS Federation架构 1....MapReduce 应用程序编程接口有两套,分别是新 API(mapredue)和旧 API(mapred) , MRv2 可做到以下兼容性 :采用 MRv1 旧 API 编写的应用程序,可直接使用之前的...YARN HA 集群及其部署 ResourceManager(RM)负责管理群集中的资源和调度应用程序(如MR、Spark等)。
这里修改为 false,不进行检查,否则虚拟内存不足时,NM 启动的 Container 会被杀掉,无法运行 Spark 程序。...注意:这里不建议将 Spark 的 sbin 目录加入环境变量,因为 Spark 的启动脚本名称是 start-all,会跟很多其他组件的启动脚本名称产生冲突。...观察 hadoop100 节点上的 Spark 是否已经无法访问: 3..../spark-examples_2.12-3.2.1.jar \ 100 参数含义解析: --master:master 的地址,表示提交任务到哪里执行,如 local[2] 为提交到本地执行,spark...://host:port 为提交到 Spark 集群执行,yarn 为提交到 YARN 集群执行(local 后的数字表示用本地多少个线程来模拟集群运行,设置为 * 表示使用本地所有线程数量) --class
作业的方式有多种,前面Fayson介绍了Livy相关的文章主要描述如何在集群外节点通过RESTful API接口向CDH集群提交Spark作业以及《如何使用Oozie API接口向非Kerberos环境的...CDH集群提交Spark作业》,本篇文章主要介绍使用Oozie的API接口向Kerberos集群提交Spark作业。...Livy相关文章: 《Livy,基于Apache Spark的开源REST服务,加入Cloudera Labs》 《如何编译Livy并在非Kerberos环境的CDH集群中安装》 《如何通过Livy的RESTful...API接口向非Kerberos环境的CDH集群提交作业》 《如何在Kerberos环境的CDH集群部署Livy》 《如何通过Livy的RESTful API接口向Kerberos环境的CDH集群提交作业...Spark作业 [c3zybi2uw3.jpeg] 2.登录CM进入Yarn服务的“应用程序”菜单查看 [g0e4fmdt7z.jpeg] 3.打开Yarn的8088 Web界面查看 [vmql1ct622
解决方法:yarn-lient模式出现的异常,暂时无解 21、hadoop的文件不能下载以及YARN中Tracking UI不能访问历史日志 解决方法:windows系统不能解析域名所致,把hosts...47、Yarn的RM单点故障 解决方法:通过三节点zookeeper集群和yarn-site.xml配置文件完成Yarn HA 48、经验:kafka可通过配置文件使用自带的zookeeper集群..._790 解决方法:去除spark-defaults.conf中spark.cleaner.ttl配置 53、Yarn HA环境下,通过web访问history日志被跳转到8088而无法显示 解决方法...Marking as slave lost 解决方法:使用yarn client提交作业遇到这种情况,暂时无解 55、Using config: /work/poa/zookeeper-3.4.6/...打包scala和java的混合项目 解决方法:使用指令 mvn clean scala:compile compile package 84、sparkSQL的udf无法注册UDAF聚合函数 解决方法
我们平常接触比较多的也是 HDFS、YARN、MapReduce; 具体的场景,HDFS,比如通过客户端访问集群, YARN,MapReduce,我们看提交的任务的执行情况。 3....因为NameNode保存了整个HDFS的元数据信息,一旦NameNode挂掉,整个HDFS就无法访问,同时Hadoop生态系统中依赖于HDFS的各个组件,包括MapReduce、Hive、Pig以及HBase...等也都无法正常工作,并且重新启动NameNode和进行数据恢复的过程也会比较耗时。...这些问题在给Hadoop的使用者带来困扰的同时,也极大地限制了Hadoop的使用场景,使得Hadoop在很长的时间内仅能用作离线存储和离线计算,无法应用到对可用性和数据一致性要求很高的在线应用场景中。...Python Sql的任务,如果SQL支持Spark SQL的语法,会使用Spark引擎执行任务。
很早以前,当一台电脑无法存储这么庞大的数据时,采用的解决方案是使用NFS(网络文件系统)将数据分开存储。但是这种方法无法充分利用多台计算机同时进行分析数据。...NameNode:Master节点,在hadoop1.X中只有一个,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理客户端请求。...Spark支持Java,Python和Scala API,支持交互式的Python和Scala的shell。...与Hadoop无缝连接 Spark可以使用YARN作为它的集群管理器 读取HDFS,HBase等一切Hadoop的数据 Spark整体架构 Spark提供了多种高级工具,如: Shark SQL...GraphX 是Spark的并行图计算API 以上便是对Hadoop、Spark的一些浅显的介绍。
的名称空间和数据块映射信息,配置相关副本信息,处理客户端请求。...Hadoop 2为HDFS引入了两个重要的新功能 ——Federation和高可用(HA): Federation允许集群中出现多个NameNode,之间相互独立且不需要互相协调,各自分工,管理自己的区域...开发者可以在同一个应用程序中无缝组合使用这些库。 Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。...其他Spark的库都是构建在RDD和Spark Core之上的 Spark SQL:提供通过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。...所以在Flink中使用的类Dataframe api是被作为第一优先级来优化的。但是相对来说在spark RDD中就没有了这块的优化了。
解决方法:yarn-lient模式出现的异常,暂时无解 21、hadoop的文件不能下载以及YARN中Tracking UI不能访问历史日志 解决方法:windows系统不能解析域名所致,把hosts文件...的RM单点故障 解决方法:通过三节点zookeeper集群和yarn-site.xml配置文件完成Yarn HA 48、经验:kafka可通过配置文件使用自带的zookeeper集群 49、经验:Spark...中spark.cleaner.ttl配置 53、Yarn HA环境下,通过web访问history日志被跳转到8088而无法显示 解决方法:恢复Yarn Http默认端口8088 54、but got...Marking as slave lost 解决方法:使用yarn client提交作业遇到这种情况,暂时无解 55、Using config: /work/poa/zookeeper-3.4.6/bin...scala和java的混合项目 解决方法:使用指令 mvn clean scala:compile compile package 84、sparkSQL的udf无法注册UDAF聚合函数 解决方法:把UDAF
领取专属 10元无门槛券
手把手带您无忧上云