运行在Yarn上的Java Demo 程序

RunAPPOnYarn

gitee地址
github地址
本项目的是 写一个可以运行在 Hadoop Yarn 的 APP ;
须知:在 编写 APPMaster 程序的时候 参考了 Hadoop YARN权威指南 的书籍和代码;参考代码地址

Start

APP

APP 是 主运行程序 ,如果网络条件和配置文件(需要配置文件放在 resources 目录下)允许的情况下可以在本地调试。
APP 程序主要是 获取到 yarnClient ,通过 yarnClient 再获取到 NewApplicationResponse 和 ApplicationSubmissionContext 和 YarnClusterMetrics
YarnClusterMetrics 里面会有 Yarn 集群的 NumNodeManagers等信息;
NewApplicationResponse 里面可以获取到 Yarn 集群的 一些资源信息,比如 memory和virtualCores;
ApplicationSubmissionContext 则可以 设置 ApplicationName、Queue、Resource(Memory And VirtualCores)、AMContainerSpec、MaxAppAttempts;
AMContainerSpec 里面是 需要设置 启动 APPMaster 的 运行资源:包含 classpath,启动命令和LocalResources;
最后 yarnClient 提交 这个 ApplicationSubmissionContext 对象。

APPMaster

RMCallbackHandler

AM ResourceManager 异步 回调 Handler

NMCallbackHandler

NodeManager 异步 回调 Handler

LaunchContainerRunnable

专门的 Container 启动 线程

1. 安装Jupyter Notebook 首先需要安装Jupyter Notebook,可以使用以下命令安装: ``` pip install jupyter ``` 2. 安装PySpark 然后需要安装PySpark,可以使用以下命令安装: ``` pip install pyspark ``` 3. 配置环境变量 在使用PySpark前,需要配置环境变量,将Spark的bin目录添加到PATH中。例如: ``` export PATH=$PATH:/path/to/spark/bin ``` 4. 启动Jupyter Notebook 使用以下命令启动Jupyter Notebook: ``` jupyter notebook ``` 5. 创建PySpark Notebook 在浏览器中打开Jupyter Notebook,点击右上角的“New”按钮,选择“Python 3”或“PySpark”即可创建一个新的Notebook。 6. 编写PySpark程序 在Notebook中,可以使用PySpark API来编写Spark程序。例如: ``` from pyspark import SparkContext sc = SparkContext(appName="MyApp") rdd = sc.parallelize([1, 2, 3, 4, 5]) sum = rdd.reduce(lambda x, y: x + y) print(sum) ``` 7. 运行PySpark程序 在Notebook中,可以直接运行PySpark程序。点击“Run”按钮即可运行程序,并在Notebook中输出结果。 8. 配置运行环境 如果需要将PySpark程序运行YARN上,需要配置运行环境。可以在Notebook中使用以下代码: ``` from pyspark import SparkConf, SparkContext conf = SparkConf().setAppName("MyApp").setMaster("yarn") sc = SparkContext(conf=conf) rdd = sc.parallelize([1, 2, 3, 4, 5]) sum = rdd.reduce(lambda x, y: x + y) print(sum) ``` 在运行程序前,需要先启动YARN集群。可以使用以下命令启动YARN: ``` start-yarn.sh ``` 然后就可以在Notebook中运行PySpark程序,并将程序提交到YARN集群上运行了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值