hadoop伪分布模式安装
1 配置核心组件文件
Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。
通常情况下,Hadoop集群中需要配置的文件主要包括四个,分别是core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml,这四个文件分别是对不同组件的配置参数。
序号 | 配置文件名 | 配置对象 | 主要内容 |
1 | core-site.xml | 集群全局参数 | 用于定义系统级别的参数,如HDFS URL、Hadoop的临时目录等。 |
2 | hdfs-site.xml | HDFS参数 | 名称节点和数据节点的存放位置、文件副本的个数、文件读取权限等。 |
3 | mapred-site.xml | Mapreduce参数 | 包括JobHistory Server和应用程序参数两部分,如reduce任务的默认个数、任务所能够使用内存的默认上下限等。 |
4 | yarn-site.xml | 集群资源管理系统参数 | 配置 ResourceManager,NodeManager 的通信端口,web监控端口等。 |
(1)配置Hadoop 的核心组件文件是 core-site.xml
Hadoop配置文件的根元素configuration,一般只包含子元素property。每一个property元素就是一个配置项,配置文件不支持分层或分级。
每个配置项一般包括配置属性名称name、值value和一个关于配置项的描述description。元素final和Java中的关键字final类似,意味着这个配置项是“固定不变的”。final一般不出现,但在合并资源的时候,可以防止配置项的值被覆盖。
在configuration中每个属性都是String类型的,值类型可能是以下多种类型包括Java中的基本类型,如Boolean、Int、Long、Float也可以是其他类型,如String、File、数组等。以上面的配置文件为例,定义了三个集群的参数,分别是集群主机和端口、临时文件存放位置,两个配置项是字符串型。
<configuration>
<!-- 指定hadoop数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop/data</value>
</property>
<!-- 指定NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
</configuration>
(2) Hadoop 的文件系统配置文件 hdfs-site.xml
<configuration>
<!-- 设置HDFS中的副本数量为1--> <property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(3)配置Yarn的站点配置文件yarn-site.xml
<configuration>
<!-- 指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<!-- 指定MR走shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(4)配置MapReduce配置文件mapred-site.xml
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2 在环境变量中添加下面的配置
vi /etc/profile
然后向里面加入如下的内容
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
输入如下命令使改动生效
source /etc/profile
3 配置hadoop-env.sh
修改JAVA_HOME的路径
export JAVA_HOME=/opt/module/jdk1.8.0_212
4配置完成后,执行 NameNode 的格式化:
hdfs namenode -format
成功的话,会看到 “successfully formatted” 的提示