Ubuntu下Hadoop任务调度的实现步骤
1. 准备Hadoop运行环境
在Ubuntu上调度Hadoop任务前,需完成Hadoop基础环境的配置。主要包括:安装Java(sudo apt install openjdk-11-jdk)、创建Hadoop专用用户(sudo useradd -m hadoop -s /bin/bash)、配置SSH免密登录(ssh-keygen -t rsa并分发公钥至本机)、下载并解压Hadoop(如tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/)。这些步骤是Hadoop正常运行的前提。
2. 配置Hadoop核心参数
Hadoop的任务调度依赖核心配置文件的正确设置,需修改以下文件:
- core-site.xml:设置HDFS的默认文件系统地址,例如
;fs.defaultFS hdfs://localhost:9000 - hdfs-site.xml:配置HDFS的副本数(测试环境设为1)及数据存储目录,例如
、dfs.replication 1 ;dfs.namenode.name.dir /usr/local/hadoop/data/namenode - mapred-site.xml:指定MapReduce框架为YARN(需将模板文件重命名为
mapred-site.xml后编辑),例如;mapreduce.framework.name yarn - yarn-site.xml:配置YARN的资源管理器主机及Shuffle服务,例如
、yarn.resourcemanager.hostname localhost 。yarn.nodemanager.aux-services mapreduce.shuffle
3. 启动Hadoop集群
配置完成后,启动Hadoop服务以激活资源管理与任务调度:
- 启动HDFS:执行
start-dfs.sh,启动NameNode(管理HDFS元数据)和DataNode(存储数据); - 启动YARN:执行
start-yarn.sh,启动ResourceManager(全局资源管理)和NodeManager(节点资源管理); - 验证进程:通过
jps命令查看是否包含NameNode、DataNode、ResourceManager、NodeManager等进程,确保集群正常运行。
4. 使用YARN内置调度器
YARN是Hadoop 2.0+的默认资源管理框架,提供三种内置调度器,可根据场景选择:
- FIFO Scheduler(先进先出):按作业提交顺序调度,简单但无法共享资源,适合单用户或对实时性要求低的场景;
- Capacity Scheduler(容量调度):支持多队列(如
default、high_priority),每个队列分配固定资源比例(如yarn.scheduler.capacity.root.default.capacity=50),确保队列间资源隔离,适合多用户共享集群; - Fair Scheduler(公平调度):动态分配资源,使所有作业公平共享集群资源(如小作业快速完成),适合多作业并行且需要公平性的场景。
调度器配置需修改yarn-site.xml中的yarn.scheduler.type属性(如)。yarn.scheduler.type fair
5. 提交与监控Hadoop任务
- 提交任务:使用
hadoop jar命令提交MapReduce作业,例如hadoop jar /path/to/your-job.jar com.example.YourJobClass input_path output_path(input_path为HDFS输入目录,output_path为HDFS输出目录,需提前创建且不存在); - 监控任务:
- Web界面:通过ResourceManager的Web界面(默认
http://localhost:8088)查看任务状态、资源使用情况及日志; - 命令行:使用
yarn application -list查看所有运行中的任务,yarn application -status查看特定任务的详细信息。
- Web界面:通过ResourceManager的Web界面(默认
6. 高级调度:集成Oozie或Airflow
对于复杂任务(如多步骤ETL、周期性任务),可使用Apache Oozie或Apache Airflow等调度工具:
- Oozie:配置Oozie的
oozie-site.xml文件(设置数据库连接、ResourceManager地址),启动Oozie服务(sudo service oozie start),通过命令行或Web界面提交Workflow(定义任务流程的XML文件); - Airflow:安装Airflow(
pip install apache-airflow),编写DAG(有向无环图)文件(Python脚本,定义任务依赖与调度时间),通过Airflow的Web界面(默认http://localhost:8080)管理任务调度。
以上就是关于“Ubuntu Hadoop 任务怎么调度”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm