Hadoop 基础搭建教程

1. 相关依赖与版本说明

  • JDK8
  • SSH

Hadoop版本为2.8.5
官方建议为hadoop新建用户组与用户,方便后续权限控制。
个人学习可以忽略。

2. Hadoop服务安装

从官网下载压缩包,进行解压,根据需要配置软连接。最终结果如下:

《Hadoop 基础搭建教程》

基于上述软连接,配置当前用户的.bashrc文件或者/etc/profile

#hadoop
export HADOOP_HOME=$HOME/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

配置完成后记得source /etc/profile 使其生效。
生效后在任何地方执行:

hadoop version

如果成功就说明下载的hadoop是可用的。
接下来通过修改hadoop配置达到单机伪分布式[1]启动。

3. Hadoop伪分布式配置

Hadoop 的配置文件位于 */hadoop/etc/hadoop/中
伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml

  • core-site
<configuration>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://localhost:9000</value>
</property>
<property>
  <name>hadoop.tmp.dir</name>
  <value>file:/home/edwin/hadoop/hadoop/tmp</value>
</property>
</configuration>
  • hdfi-site
<configuration>
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/home/edwin/hadoop/hadoop/tmp/dfs/name</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/home/edwin/hadoop/hadoop/tmp/dfs/data</value>
</property>
</configuration>

4. Hadoop结点初始化

执行:

hdfs namenode -format

看到 “Exitting with status 0” 说明初始化成功。

《Hadoop 基础搭建教程》

5. 启动Hadoop服务

执行

start-dfs.sh

如果Hadoop安装完后,启动时报Error: JAVA_HOME is not set and could not be found.
而我们之前已经通过java -version 确定Java已经安装
且通过export 查看到JAVA_HOME
那么需要修改hadoop-env.sh,更加明显的声明以此JAVA_HOME:

...
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/home/edwin/java/jdk
...

声明一下,我这里的jdk是个软连接
jdk -> /home/edwin/java/jdk1.8.0_191/

查看java进程,可以看到启动了三个服务:

《Hadoop 基础搭建教程》

需要关闭时执行:

stop-dfs.sh

6. 使用YARN

MapReduce是一种编程模型也是一种编程方法和抽象理论
在2.X中,MapReduce由YARN进行支持。

上述通过 /sbin/start-dfs.sh 启动 Hadoop,仅仅是启动了 MapReduce 环境,我们可以启动YARN ,让 YARN 来负责资源管理与任务调度。

修改配置文件,部分配置文件只有一个template,可以cp一份进行修改。

  • mapred-site.xml
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
  • yarn-site.xml
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
./sbin/start-dfs.sh # 启动MapReduce
./sbin/start-yarn.sh # 启动YARN
./sbin/mr-jobhistory-daemon.sh start historyserver #开启历史服务器,才能在Web中查看任务运行情况

《Hadoop 基础搭建教程》

  1. 伪分布式:在单机上以分离的java进程运行,节点同时扮演NameNode和DataNode,读取的是HDFS中的文件。

    原文作者:edwin1993
    原文地址: https://www.jianshu.com/p/a93e3fff09b3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞