下载hadoop并解压

配置hdfs

修改配置文件etc/hadoop/hadoop-env.sh

JAVA_HOME=/home/middleware/jdk

修改配置文件etc/hadoop/core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://XXXXXX:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/middleware/hadoop/tmp</value>    
	</property>
    <property>
        <name>fs.trash.interval</name>
        <value>1440</value>
    </property>
</configuration>

修改配置文件etc/hadoop/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

启动hdfs

格式化namenode

# bin/hdfs namenode -format

启动hdfs

# sbin/hadoop-daemon.sh start namenode
# sbin/hadoop-daemon.sh start datanode

启动后通过访问http://yourIp:50070/判断是否启动成功

如图,hdfs启动成功

启动Yarn

修改配置文件etc/hadoop/mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

修改配置文件etc/hadoop/yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

启动Yarn集群

# $ sbin/start-yarn.sh

访问http://yourIp:8088/

如图,Yarn启动成功

配置启动historyserver(JobHistoryServer)

yarn-site.xml增加如下配置,不需要重启hadoop

mapreduce.jobhistory.address yourIp:10020 mapreduce.jobhistory.webapp.address yourIp:19888

启动historyserver

sbin/mr-jobhistory-daemon.sh start historyserver

备注:阿里云主机内不显示公网,外网环境访问阿里云主机上的hdfs时需要通过域名访问,添加如下代码实现

//通过域名访问hdfs
conf.set("dfs.client.use.datanode.hostname", "true");

hdfs的地址填写域名即可。

拓展

hadoop集群(非HA模式)启动命令

1.启动namenode、datanode集群

在部署namenode的机器上执行

# sbin/start-dfs.sh

2.启动ResourceManager、NodeManager集群

在部署resourceManager的机器上执行

# sbin/start-yarn.sh

测试hdfs和yarn是否可用

# hadoop jar ~/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount hdfs://hadoop1/input hdfs://hadoop1/output