在bin/hadoop 这个脚本中,有如下片段:
# figure out which class to run
if [ "$COMMAND" = "namenode" ] ; then
CLASS='org.apache.hadoop.hdfs.server.namenode.NameNode'
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_NAMENODE_OPTS"
elif [ "$COMMAND" = "secondarynamenode" ] ; then
CLASS='org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode'
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_SECONDARYNAMENODE_OPTS"
elif [ "$COMMAND" = "datanode" ] ; then
CLASS='org.apache.hadoop.hdfs.server.datanode.DataNode'
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_DATANODE_OPTS"
elif [ "$COMMAND" = "fs" ] ; then
CLASS=org.apache.hadoop.fs.FsShell
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "dfs" ] ; then
CLASS=org.apache.hadoop.fs.FsShell
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "dfsadmin" ] ; then
CLASS=org.apache.hadoop.hdfs.tools.DFSAdmin
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "mradmin" ] ; then
CLASS=org.apache.hadoop.mapred.tools.MRAdmin
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "fsck" ] ; then
CLASS=org.apache.hadoop.hdfs.tools.DFSck
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "balancer" ] ; then
CLASS=org.apache.hadoop.hdfs.server.balancer.Balancer
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_BALANCER_OPTS"
elif [ "$COMMAND" = "jobtracker" ] ; then
CLASS=org.apache.hadoop.mapred.JobTracker
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_JOBTRACKER_OPTS"
elif [ "$COMMAND" = "tasktracker" ] ; then
CLASS=org.apache.hadoop.mapred.TaskTracker
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_TASKTRACKER_OPTS"
elif [ "$COMMAND" = "job" ] ; then
CLASS=org.apache.hadoop.mapred.JobClient
elif [ "$COMMAND" = "queue" ] ; then
CLASS=org.apache.hadoop.mapred.JobQueueClient
elif [ "$COMMAND" = "pipes" ] ; then
CLASS=org.apache.hadoop.mapred.pipes.Submitter
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "version" ] ; then
CLASS=org.apache.hadoop.util.VersionInfo
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "jar" ] ; then
CLASS=org.apache.hadoop.util.RunJar
elif [ "$COMMAND" = "distcp" ] ; then
CLASS=org.apache.hadoop.tools.DistCp
CLASSPATH=${CLASSPATH}:${TOOL_PATH}
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "daemonlog" ] ; then
CLASS=org.apache.hadoop.log.LogLevel
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "archive" ] ; then
CLASS=org.apache.hadoop.tools.HadoopArchives
CLASSPATH=${CLASSPATH}:${TOOL_PATH}
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "sampler" ] ; then
CLASS=org.apache.hadoop.mapred.lib.InputSampler
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
else
CLASS=$COMMAND
fi
而这些类,正是带有main方法的可执行类。
分享到:
相关推荐
这一步是为了确保脚本能自动化地执行安装流程,避免手动操作的繁琐。 在"标签"中提到的"Hadoop脚本",通常指的是bash脚本,它会包含一系列Linux命令,用于执行上述的安装任务。脚本可能会包含以下操作: 1. 检查...
【Hadoop环境部署自动化Shell脚本】是一种高效的方法,用于快速搭建Hadoop集群,无论是用于学习还是开发。本文档提供了一个详细的脚本,涵盖了从Java环境配置到Hadoop集群的完全分布式安装的所有步骤,旨在降低...
1. `priority`:可能是一个用于设置脚本执行顺序的文件,例如,定义哪些脚本先执行,哪些后执行。 2. `READ_ME.txt`:通常这是一个说明文档,包含了如何使用这些脚本的详细步骤和注意事项。 3. `hosts`:这是一个...
4. **执行脚本**:运行脚本,它会自动处理大部分配置工作,如安装Apache Hadoop,配置环境变量,创建Hadoop用户,设置SSH无密码登录等。 5. **配置Hadoop**:虽然脚本可能已经自动配置了一些基础设置,但根据实际...
我们还提供了镜像的启动脚本,用于启动不同的Hadoop组件。通过本文,你可以了解如何将Hadoop部署到Kubernetes平台上,并解决Hadoop在Kubernetes上的部署问题。 关键点: * Hadoop在Kubernetes上的部署需要深入了解...
Hadoop的目录结构包括 `$HADOOP_HOME/bin`,其中包含了各种命令行工具,如启动和停止Hadoop服务的脚本;`$HADOOP_HOME/conf` 存放所有配置文件,如`hadoop-env.sh`、`core-site.xml`、`mapred-site.xml` 和 `hdfs-...
4. **启动Hadoop**:执行Hadoop的启动脚本,如`start-dfs.sh`和`start-yarn.sh`,启动HDFS和YARN服务。 5. **测试运行**:通过`hadoop fs -ls`命令检查HDFS是否正常工作,运行MapReduce示例程序如WordCount,验证伪...
059 MR作业运行流程整体分析 060 MapReduce执行流程之Shuffle和排序流程以及Map端分析 061 MapReduce执行流程之Reduce端分析 062 MapReduce Shuffle过程讲解和Map Shuffle Phase讲解 063 Reduce Shuffle Phase讲解 ...
在IT行业中,尤其是在大数据处理领域,Hadoop...通过这些方法,你可以深入理解Hadoop作业的执行流程,找出并修复问题,提升作业的性能和稳定性。在实际操作中,不断实践和学习,你的Hadoop开发和调试技能将会日益精进。
1. `bin`: 包含Hadoop的可执行脚本,如启动和停止Hadoop服务的命令。 2. `sbin`: 存放管理脚本,用于管理Hadoop集群。 3. `lib`: Hadoop的库文件,包含了运行Hadoop所需的各种依赖。 4. `etc/hadoop`: 配置文件目录...
通常,这些脚本用于启动和停止Hadoop服务,如`start-dfs.sh`和`stop-dfs.sh`用于启动和停止HDFS,`start-yarn.sh`和`stop-yarn.sh`用于启动和停止YARN。 最后,启动Hadoop服务,你可以使用`sbin/start-all.sh`命令...
6. 启动Hbase:在Hadoop启动并运行正常后,Hbase才能被启动和使用。 7. HbaseShell:使用命令行接口与Hbase数据库交互,包括创建表、扫描表内容、获取一行数据、删除表以及关闭shell。 8. JavaAPIHbase:这部分...
Hadoop可以在Linux系统上直接安装,但也有针对Windows平台的解决方案,例如Hadoop4Win,它实际上是将Linux环境与Hadoop打包在一起的安装包,以简化安装流程。 **Hadoop4Win安装步骤**: 1. **选择语言**:安装程序...
当使用脚本化方法操作 Hadoop 文件系统时,Spring Hadoop 提供了一种机制来管理脚本的生命周期,这有助于更好地控制脚本的执行流程。 ##### 3.5 使用 Scripting Tasklet `ScriptingTasklet` 是一种特殊的 Tasklet,...
1. **bin**: 包含Hadoop的可执行脚本,如启动和停止Hadoop服务的命令。 2. **conf**: 存放默认配置文件,如core-site.xml、hdfs-site.xml和yarn-site.xml,它们定义了Hadoop集群的行为。 3. **lib**: Hadoop运行时所...
7. **启动Hadoop服务**: 使用`start-dfs.bat`和`start-yarn.bat`脚本启动HDFS和YARN服务。然后可以通过Web UI(默认端口分别为50070和8088)监控集群状态。 8. **验证安装**: 执行`hadoop fs -ls /`命令,如果返回...
通过Hadoop的API或命令行工具,Shell脚本可以启动MapReduce作业,进一步处理数据,例如进行聚合、分类、关联分析等。 此外,Shell脚本还可以实现流程控制,如循环、条件判断,使得ETL过程更加灵活。通过编写脚本,...