下载hadoop后,解压到相应的路径
#解压到/usr/local中,注意Hadoop版本
sudo tar -zxf ~/下载/hadoop-3.1.3.tar.gz -C /usr/local
将文件夹名改为hadoop
#进入到/usr/local中
cd /usr/local/
sudo mv ./hadoop-3.1.3/ ./hadoop
修改文件/etc/profile,配置环境变量
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
刷新profile
source /etc/profile
进入安装目录下的etc/hadoop,修改以下配置文件
hadoop-env.sh
mapred-env.sh
yarn-env.sh
export JAVA_HOME=/usr/local/jdk #jdk路径
修改配置文件core-site.xml,插入如下内容
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://centos01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///usr/local/hadoop/tmp</value>
</property>
</configuration>
说明:
fs.defaultFS:HDFS的默认访问路径,也是NameNode的访问地址。
hadoop.tmp.dir:Hadoop数据文件的存放目录。该参数如果不配置默认指向/tmp目录,而/tmp目录在系统重启后会自动清空,从而导致Hadoop的文件系统数据丢失。
修改配置文件hdfs-site.xml,插入如下内容
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permission.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
说明:
dfs.replication:文件在HDFS系统中的副本数。
dfs.permission.enabled:是否检查用户权限。
dfs.namenode.name.dir:NameNode节点数据在本地文件系统的存放位置。
dfs.datanode.data.dir:DataNode节点数据在本地文件系统的存放位置。
修改配置文件yarn-site.xml,插入如下内容
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>centos01:8032</value>
</property>
</configuration>
说明:
yarn.nodemanager.aux-services:NodeManager上运行的附属服务,需配置成mapreduce_shuffle才可运行Mapreduce程序。YARN提供了该配置项用于在NodeManager上扩展自定义服务,Mapreduce的Shuffle功能正是一种扩展服务。
yarn.resourcemanager.address:指定ResourceManager所在的节点与访问端口,如果不添加,ResourceManager则默认执行在YARN启动命令的节点上启动。
修改配置文件mapred-site.xml,插入如下内容
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
说明:
mapreduce.framework.name:指定 Mapreduce 程序运行在 YARN上
修改workers文件(2.0版本为slaves文件),加入集群的主机名或ID
centos01
centos02
centos03
复制hadoop安装文件到其他主机,使用如下命令,复制hadoop到其他节点
scp -r hadoop/ hadoop@centos02:/usr/local/
scp -r hadoop/ hadoop@centos03:/usr/local/
格式化NameNode
hdfs namenode -format
启动Hadoop
start-all.sh
查看各节点启动进程
jps
centos01节点包含NameNode,SecondaryNameNode, ResourceManager,Jps,DataNode,NodeManager
centos02节点和centos03节点包含DataNode,NodeManager,Jps