1.Hadoop部署包下载(apache社区版)

0.0 安装说明

0.1 部署准备

linux(centos7+jdk1.8+ssh免密登入)+hadoop-3.1.3.tar.gz

0.2 安装模式

1.单机模式:不能使用HDFS,只能使用MapReduce,所以单机模式最主要的目的是在本机调试mapreduce代码
2.伪分布式模式:用多个线程模拟多台真实机器,即模拟真实的分布式环境。
3.完全分布式模式:用多台机器(或启动多个虚拟机)来完成部署集群。

0.3 安装包目录说明

bin目录:命令脚本

etc/hadoop:存放hadoop的配置文件

lib目录:hadoop运行的依赖jar包

sbin目录:启动和关闭hadoop等命令都在这里

libexec目录:存放的也是hadoop命令,但一般不常用

 

1.1下载地址

http://www.apache.org/dyn/closer.cgi/hadoop/common/

hadoop伪分布式进程 hadoop伪分布式部署_hdfs

 

 1.2下载注意(稳定版下载)

hadoop伪分布式进程 hadoop伪分布式部署_hadoop_02


 

 2.查看部署包内安装手册

2.1解压部署包后,用浏览器打开(hadoop-3.1.3\share\doc\hadoop\index.html)


 

3.准备安装环境

3.1 支撑平台(linux-centos7)

3.2  环境设置

  1.配置免密登入

  2.关闭防火墙

3.2 所需软件

3.2.1 安装jdk

1.版本兼容性 请查看:https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions

2.解压jdk+配置环境变量

3.2.2  安装ssh、pdsh

$ sudo apt-get install ssh
  $ sudo apt-get install pdsh

 

4.上传、解压hadoop安装包

tar -xvf  hadoop-3.1.3.tar.gz

 

5.修改相关配置文件

5.1 配置 etc/hadoop/hadoop-env.sh

#指定jdk路径
export JAVA_HOME=/home/software/jdk1.8
source /etc/hadoop/hadoop-env.sh

5.2 配置 etc/hadoop/core-site.xml

<!--指定namenode地址-->
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

5.3 配置 etc/hadoop/hdfs-site.xml

<!--指定hdfs保存数据副本的数量,默认为3,伪分布式模式设置为1-->
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

6.格式化namenode

$ bin/hdfs namenode -format

 

7.启动hdfs

7.1启动命令

$ sbin/start-dfs.sh

7.2如果启动失败时报错(but there is no HDFS_NAMENOD_USER defined...)

1.需要在start-dfs.sh和stop-dfs.sh文件中添加下列参数:

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

7.3 测试hdfs命令

1.创建目录
bin/hdfs dfs -mkdir /user

2.上传文件
bin/hdfs dfs -put 文件名称 /user

7.4 登入Namenode管理界面

默认地址与端口:http:// localhost:9870 / (确保防火墙关闭或端口开放)

7.5 查看hdfs相关进程

hadoop伪分布式进程 hadoop伪分布式部署_hdfs_03


 

8.停止hdfs

$ sbin/stop-dfs.sh

 

9.开启yarn(如果不开启,mr在本地运行)

9.1 配置 etc/hadoop/mapred-site.xml

<!--指定mr运行在yarn上 -->
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>

9.2 配置 etc/hadoop/yarn-site.xml

<!--NodeManager获取数据的方式 -->
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

9.3 启动yarn

$ sbin/start-yarn.sh

9.4 启动报错(but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation)

#对于start-yarn.sh和stop-yarn.sh文件,添加下列参数:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

9.5 登入yarn管理界面

默认地址 ResourceManager - http://localhost:8088/ (确保防火墙关闭或端口开放)

9.6 查看yarn相关进程

hadoop伪分布式进程 hadoop伪分布式部署_hdfs_04