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,rm2YARN HA的名称 --> 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运行模式。
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.
关键代码如下所示: 在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
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等)。
作业的方式有多种,前面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
作业的方式有多种,前面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
这里修改为 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
Secondary NameNode (2NN): 在非HA模式下辅助 NameNode,定期合并 FsImage 和 EditLog,减少 NameNode 启动时间。...使用 RDD(弹性分布式数据集)或 DataFrame/Dataset API 编程。...敏感配置加密: 使用 Hadoop Credential Provider API 加密存储在配置文件中的密码(如数据库连接密码)。...常见故障排查 NameNode 无法启动: 检查端口是否被占用。 检查 hdfs-site.xml 中 dfs.namenode.name.dir 配置的目录权限是否正确。...DataNode 无法连接 NameNode: 检查网络连通性 (Ping, Telnet 端口)。
解决方法: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聚合函数 解决方法
架构精髓:元数据与数据的分离 NameNode:集群的“大脑”,单点管理文件系统树、块映射表等元数据(后期引入 HA 机制解决单点故障); DataNode:数据真实存储节点,执行数据块的读写请求,定期向...集群全局的资源管理和调度器。负责接收应用提交请求、调度资源、启动/监控 ApplicationMaster。 NodeManager (NM):Slave节点。单节点的资源管理和任务执行代理。...虽然独立于 Hadoop,但常与 Hadoop (HDFS, YARN) 集成使用。...核心优势: 内存计算(大幅减少磁盘 I/O)、DAG 执行引擎(更高效的任务调度)、丰富的 API(Scala, Java, Python, R)、支持多种工作负载(批处理 Spark SQL, 流处理...是保证 Hadoop 高可用性(HA)的基础(如 HDFS HA 的 Active/Standby NameNode 切换依赖 ZK)。
解决方法: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
我们平常接触比较多的也是 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引擎执行任务。