文章目录
- 2.x 和 3.x 的区别
- Java最小支持版本
- 常用的端口号
- 配置文件
- Classpath隔离
- NodeManager重连
- 进入官网自行查阅
2.x 和 3.x 的区别
Java最小支持版本
- Hadoop 2.x:2.7 版本需要 Java 7,2.6 以及更早期版本支持 Java 6
- Hadoop 3.x:最低要求 Java 8,并且所有 Hadoop JAR 都已针对 Java 8的运行时版本编译。这意味着用户需要升级到 Java 8 或更高版本才能运行Hadoop 3.x。
常用的端口号
- NameNode (NN) 端口:
- 在Hadoop 2.x中,NameNode的默认HTTP UI端口是50070,内部通常端口是8020/9000。
- 在Hadoop 3.x中,这个端口被改为9870,内部通常端口是8020/9000/9820。
- DataNode (DN) 端口:
- Hadoop 2.x中,DataNode的默认HTTP UI端口是50075。
- 在Hadoop 3.x中,该端口变更为9864。
- YARN ResourceManager (RM) 端口:
- Hadoop 2.x中的ResourceManager HTTP UI端口通常是8088。
- 这个端口在Hadoop 3.x中保持不变,仍为8088。
配置文件
- datanode节点信息配置文件名不同
- hadoop2.x:slaves
- hadoop3.x:workers
- 其余四个文件
- core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml 文件名相同
- 其中 yarn-site.xml 需要文件添加环境变量的继承
<!-- 环境变量的继承 -->
<property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
Classpath隔离
在Hadoop 3.x中,通过改进类路径隔离来防止不同版本jar包之间的冲突,这在使用Hadoop、HBase和Spark等混合环境时特别有用。
NodeManager重连
Hadoop 2.x: NodeManager不会自动重连到ResourceManager。
Hadoop 3.x: NodeManager可以自动重连到ResourceManager。
在搭建和部署时,务必参考相应版本的官方文档,以确保按照最新的指南进行操作。这样可以确保系统能够充分利用新特性并保持最佳的性能和稳定性。
进入官网自行查阅
具体内容可以去 Index of /docs (apache.org) 中找对应版本的文档
HDFS 的 Shell 命令在这里 Apache Hadoop 3.3.1 – Overview
Java API 文档在最下面 Overview (Apache Hadoop Main 3.3.1 API)
再下面就是各个配置文件,里面有所有参数的名称所对应的值,以及它的解释