1. 简介
Hadoop有三种运行模式。 HDFS包含一个NameNode,充当集群协调者的角色,是一个或多个用于存储数据的DataNode的管理者。
Hadoop有3种模式部署组件。
- 本地独立模式
默认工作模式。Hadoop组件都运行在同一个Java进程中。 - 伪分布式模式
Hadoop的各个组件都拥有一个单独的Java虚拟机,通过网络套接字通信。使得在一台主机上有效地产生一个完整功能的微型集群 - 完全分布式
Hadoop分布在多台主机上,一些是通用的工作机,其余是组件的专用主机,比如NameNode.
2. 配置
环境:Ubuntu; Hadoop-3.1.1
步骤:
(1)修改 core-site.xml, hdfs-site.xml,mapred-site.xml文件
core-site.xml
配置为:
fs.defaultFS 保存NameNode的位置,HDFS和MapReduce组件需要它。9000,9001是Hadoop常用端口。
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/data/hadoop/var/lib/hadoop</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml
配置:
dfs.replication 指定每个HDFS数据块的复制次数。HDFS确保每个数据块被复制到多台不同主机(通常3台,用于处理故障),但在伪分布式只有一台主机。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/data/hadoop/var/lib/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/data/hadoop/var/lib/hadoop/dfs/data</value>
</property>
</configuration>
mapred-site.xml
配置:
在Hadoop版本2及以上,不需要配置。
Hadoop 版本1 需要设置 JobTracker的位置:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
(2)格式化NameNode
在这,确保 Hadoop路径添加到/home/.bashrc文件中:
export HADOOP_HOME=/data/anonym2/data/hadoop
export PATH=$HADOOP_HOME/bin:${PATH}
HDFS是一个文件系统,首次启动Hadoop之前,需要格式化。
hadoop namenode -format
格式化操作会不可恢复得删除HDFS上的所有数据!
(3)启动Hadoop
$sbin/start-dfs.sh
$sbin/start-yarn.sh
$jps
运行结果:
16224 Master
22321 Jps
20230 SecondaryNameNode
19932 DataNode
21932 NodeManager
19757 NameNode
21661 ResourceManager
16430 Worker
参考: