目录

一、Hadoop介绍

1、介绍

2、版本

3、优点

4、组成

(1)HDFS

(2)MapReduce

(3)YARN

(4)Common

5、生态体系

二、Hadoop安装

1、虚拟机准备

(1)克隆虚拟机

(2)修改IP地址

(3)关闭防火墙

(4)修改主机名

(5)配置IP映射

(6)创建用户

(7)创建文件夹

2、安装Jdk环境

3、安装Hadoop

(1)下载

(2)上传并解压

(3)配置环境变量

(4)验证

(5)目录结构

三、Hadoop的运行模式

1、本地运行模式

(1)Grep案例

(2)wordcount案例

2、伪分布式运行模式

(1)启动HDFS并运行MapReduce 程序

1)修改配置文件

2)启动集群

3)查看集群

4)操作集群

(2) YARN上运行MapReduce 程序

1)修改配置文件

2)启动集群

3)操作集群

(3)配置历史服务器

1)修改配置文件

2)启动历史服务器

3)查看是否启动

4)查看jobhistory

(4)日志的聚集

1)修改配置文件

2)关闭程序

3)重启程序

4)删除hdfs已经存在的output文件夹

5)执行WordCount程序

(5)Hadoop配置文件说明

1)默认配置文件

2)自定义配置文件

3、完全运行模式

(1)虚拟机准备

(2)编写集群分发脚本xsync

1)scp安全拷贝

2)rsync远程同步工具

3)xsync集群分发脚本

(3)集群配置

1)集群部署规划

2)修改配置文件并分发

(4)单点启动集群

1)格式化namenode

2)启动namenode

3)启动datanode

(5)SSH无密登录

1)配置ssh

2)无密钥配置

3).ssh文件夹

(6)集群测试

1)配置slaves

2)启动集群

3)基本测试

(7)Hadoop启停方式

1)各个组件逐一启动/停止

2)各整体启动/停止


一、Hadoop介绍

1、介绍

        Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它主要解决海量数据的存储和海量数据的分析计算问题。广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈

2、版本

Hadoop三大发行版本:Apache、Cloudera、Hortonworks。

Apache版本最原始(最基础)的版本,对于入门学习最好。

官网地址https://hadoop.apache.org/下载地址https://dlcdn.apache.org/hadoop/common/

Cloudera在大型互联网企业中用的较多。

Hortonworks文档较好。

但是在2018年,两家公司已经合并,Hortonworks成为Cloudera的子公司

官网地址https://www.cloudera.com/下载地址https://www.cloudera.com/downloads.html

3、优点

高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。

高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。

高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

高容错性:能够自动将失败的任务重新分配。

4、组成

(1)HDFS

一个高可靠、高吞吐量的分布式文件系统

NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等

DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。

Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

(2)MapReduce

一个分布式的离线并行计算框架。MapReduce将计算过程分为两个阶段:Map和Reduce

Map阶段:并行处理输入数据

Reduce阶段:对Map结果进行汇总

(3)YARN

作业调度与集群资源管理的框架。

1)ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;

2)NodeManager(nm):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;

3)ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。

4)Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。

(4)Common

支持其他模块的工具模块。

5、生态体系

1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

2)Flume:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

3)Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:

(1)通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

(2)高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。

(3)支持通过Kafka服务器和消费机集群来分区消息。

(4)支持Hadoop并行数据加载。

4)Storm:Storm用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。

5)Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。

6)Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。

7)Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

8)Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

10)R语言:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

11)Mahout:Apache Mahout是个可扩展的机器学习和数据挖掘库。

12)ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

二、Hadoop安装

1、虚拟机准备

(1)克隆虚拟机

(2)修改IP地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改以下几项:

IPADDR=192.168.1.101

GATEWAY=192.168.1.2

ONBOOT=yes

BOOTPROTO=static

DNS1=192.168.1.2

修改后,重启网卡

service network restart 

下面用远程工具连接:如 finalshell 

(3)关闭防火墙

查看防火墙状态

systemctl status firewalld.service 

关闭防火墙

systemctl stop firewalld.service 

(4)修改主机名

查看主机名

hostname

修改主机名

vim /etc/hostname

或者

hostnamectl set-hostname 主机名

第一种需要重启主机

(5)配置IP映射

vim /etc/hosts

(6)创建用户

添加用户

创建用户,用户名为hd01

 adduser hd01

修改密码

设置密码为:123456 ,提示无效可以忽略

passwd hd01

设置用户具有root权限

vim sudoers

(7)创建文件夹

mkdir 文件夹名称

修改文件夹权限

chown 用户名:组名 文件夹名称

2、安装Jdk环境

查看是否已经安装Java

rpm -qa | grep java

卸载已经安装的Java

sudo rpm -e 软件包

导入Java的压缩文件包到 /opt/software 文件夹下

        jdk-8u144-linux-x64.tar.gz

解压文件

tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

修改文件夹名称为jdk1.8

 mv jdk1.8.0_144/ jdk1.8

配置环境变量

vim /etc/profile

在文件尾部加上

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin

让文件生效

source /etc/profile

查看是否安装成功

java -version

3、安装Hadoop

(1)下载

        hadoop-2.9.2.tar.gz

下载地址https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/

(2)上传并解压

tar -zxvf hadoop-2.7.7.tar.gz -C /opt/module/

(3)配置环境变量

sudo vi /etc/profile

添加如下内容

#HADOOP_HOME

export HADOOP_HOME=/opt/module/hadoop-2.7.7

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

使文件生效

source /etc/profile

(4)验证

hadoop version

(5)目录结构

1、bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本

2、etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件

3、lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)

4、sbin目录:存放启动或停止Hadoop相关服务的脚本

5、share目录:存放Hadoop的依赖jar包、文档、和官方案例

三、Hadoop的运行模式

1、本地运行模式

不需要启用单独进程,直接可以运行,测试和开发时使用。

(1)Grep案例

1)创建在hadoop-2.7.7文件下面创建一个input文件夹

2)将hadoop的xml配置文件复制到input

cp etc/hadoop/*.xml input

3)执行share目录下的mapreduce程序

        以下示例复制解包后的配置文件目录作为输入,然后查找并显示给定正则表达式的每一个匹配。输出写入给定的输出目录。

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar grep input/ output 'dfs[a-z.]+'

4)查看输出结果

(2)wordcount案例

1)创建一个wcinput文件夹

2)在wcinput文件下创建一个tst.txt文件

touch test.txt

3)执行程序

 hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount wcinput/ wcoutput

输出的文件夹必须不能存在,否者执行命令会报错

4)查看结果

cat wcoutput/*

2、伪分布式运行模式

等同于完全分布式,只有一个节点。

(1)启动HDFS并运行MapReduce 程序

进入到/opt/module/hadoop-2.7.7/etc/hadoop 文件加

1)修改配置文件

(a)配置:hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.8

(b)配置:core-site.xml

<!-- 指定HDFS中NameNode的地址 -->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://hd1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-2.7.7/data/tmp</value>
</property>

(c)配置:hdfs-site.xml  

<!-- 指定HDFS副本的数量 -->

<property>

        <name>dfs.replication</name>

        <value>1</value>

</property>

2)启动集群

(a)格式化namenode(第一次启动时格式化,以后就不要总格式化)

hdfs namenode -format

(b)启动namenode

sbin/hadoop-daemon.sh start namenode

(c)启动datanode

 sbin/hadoop-daemon.sh start datanode

3)查看集群

(a)查看是否启动成功

jps

(b)查看产生的log日志

(c)web端查看HDFS文件系统

访问http://hd1:50070/dfshealth.html#tab-overview

为什么不能一直格式化NameNode,格式化NameNode,要注意什么?

        格式化NameNode会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群不到已数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。

4)操作集群

(a)在hdfs文件系统上创建一个input文件夹

 hadoop fs -mkdir -p /user/hd01/input

(b)将测试文件内容上传到文件系统上

hadoop fs -put wcinput/test.txt /user/hd01/input

(c)查看上传的文件是否正确

hadoop fs -ls /user/hd01/input
hadoop fs -cat /user/hd01/input/test.txt

(d)运行mapreduce程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /user/hd01/input/test.txt /user/hd01/output

(e)查看输出结果

命令行查看:

hadoop fs -cat /user/hd01/output/*

浏览器查看

(f)将测试文件内容下载到本地

hadoop fs -get /user/hd01/output/part-r-00000 ./wcoutput/

(g)删除输出结果

hadoop fs -rm -r /user/hd01/output

(2) YARN上运行MapReduce 程序

1)修改配置文件

(a)配置yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.8

(b)配置yarn-site.xml

<!-- reducer获取数据的方式 -->
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hd1</value>
</property>

(c)配置:mapred-env.sh

(d)配置: mapred-site.xml

        对mapred-site.xml.template重新命名为

<!-- 指定mr运行在yarn上 -->
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

2)启动集群

(a)启动前必须保证namenode和datanode已经启动

(b)启动resourcemanager

yarn-daemon.sh start resourcemanager

(c)启动nodemanager

 yarn-daemon.sh start nodemanager

(d)查看是否启动成功

3)操作集群

(a)yarn的浏览器页面查看

http://hd1:8088/cluster

(b)执行mapreduce程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /user/hd01/input /user/hd01/output

(c)查看运行结果

 hdfs dfs -cat /user/hd01/output/*

(3)配置历史服务器

1)修改配置文件

配置mapred-site.xml

<!-- 历史服务器端地址 -->

<property>
        <name>mapreduce.jobhistory.address</name>
        <value>hd1:10020</value>
</property>

<!-- 历史服务器web端地址 -->
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hd1:19888</value>
</property>

2)启动历史服务器

mr-jobhistory-daemon.sh start historyserver

3)查看是否启动

4)查看jobhistory

http://hd1:19888/jobhistory

(4)日志的聚集

        日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。日志聚集功能可以方便的查看到程序运行详情,方便开发调试。

注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager

1)修改配置文件

配置yarn-site.xml

<!-- 日志聚集功能使能 -->
<property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
</property>

2)关闭程序

关闭nodemanager 、resourcemanager和historyserver

yarn-daemon.sh stop nodemanager

yarn-daemon.sh stop resourcemanager

mr-jobhistory-daemon.sh stop historyserver

3)重启程序

重启nodemanager 、resourcemanager和historyserver

yarn-daemon.sh start resourcemanager

yarn-daemon.sh start nodemanager

mr-jobhistory-daemon.sh start historyserver

4)删除hdfs已经存在的output文件夹

hdfs dfs -rm -R /user/hd01/output

5)执行WordCount程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /user/hd01/input /user/hd01/output

6)查看日志

http://hd1:8088/cluster

(5)Hadoop配置文件说明

        Hadoop配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。

1)默认配置文件

要获取的默认文件

文件存放在Hadoop的jar包中的位置

[core-default.xml]

hadoop-common-2.7.2.jar/ core-default.xml

[hdfs-default.xml]

hadoop-hdfs-2.7.2.jar/ hdfs-default.xml

[yarn-default.xml]

hadoop-yarn-common-2.7.2.jar/ yarn-default.xml

[mapred-default.xml]

hadoop-mapreduce-client-core-2.7.2.jar/ mapred-default.xml

2)自定义配置文件

        core-site.xml、hdfs-site.xmlyarn-site.xmlmapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop下面,用户可以根据项目需求重新进行修改配置。

3、完全运行模式

多个节点一起运行。

(1)虚拟机准备

准备3台虚拟机【hd101,hd102,hd103】,按照【虚拟机准备】依次配置

1)准备3台客户机(关闭防火墙、静态ip、主机名称)

2)安装jdk并配置环境变量

3)安装hadoop并配置环境变量

(2)编写集群分发脚本xsync

1)scp安全拷贝

        scp可以实现服务器与服务器之间的数据拷贝。

(a)基本语法

scp    -r             $pdir/$fname                    $user@hadoop$host:$pdir/$fname

命令   递归       要拷贝的文件路径/名称    目的用户@主机:目的路径/名称

(b)使用scp

将hd01上的jdk拷贝到hd02上

scp -r jdk1.8/ root@hd02:/opt/module/

在hd02上查看

在hd02上将hd01的jdk拷贝到hd03

scp -r root@hd01:/opt/module/jdk1.8/ root@hd03:/opt/module/

在hd03上查看

在hd02和hd03上,将hd01的/etc/profile拷贝到自己服务器

scp -r root@hd01:/etc/profile /etc/profile

拷贝过来的配置文件要source一下   source   /etc/profile

2)rsync远程同步工具

        rsync远程同步工具,主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。

        rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。

(a)基本语法

rsync    -rvl               $pdir/$fname                      $user@hadoop$host:$pdir/$fname

命令     选项参数      要拷贝的文件路径/名称      目的用户@主机:目的路径/名称

参数说明:

选项

功能

-r

递归

-v

显示复制过程

-l

拷贝符号连接

(b)案例

把hd01上的/opt/software目录同步到hd02的root用户下的/opt/software目录

rsync -rvl /opt/software/ root@hd02:/opt/software/

3)xsync集群分发脚本

(a)创建文件

        在/home/hdhk目录下创建bin目录,并在bin目录下创建xsync文件

注意:在/home/hdhk/bin这个目录下存放的脚本,hdhk用户可以在系统任何地方直接执行。

mkdir bin

cd bin/

touch xsync

vi xsync

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=1; host<4; host++)); do
echo --------------- hadoop$host ----------------
rsync -rvl $pdir/$fname $user@hd0$host:$pdir
done

(b)修改执行权限

chmod 777 xsync

        注意:如果xsync放到/home/hdhk/bin目录下仍然不能实现全局使用,可以将xsync移动/usr/local/bin目录下。

(c)测试

将hd01上的hadoop分发到hd02和hd03上

xsync hadoop-2.7.7/

(3)集群配置

1)集群部署规划

hd01

hd02hd03

HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

2)修改配置文件并分发

(a)修改配置文件

  • 修改 core-site.xml

<!-- 指定HDFS中NameNode的地址 -->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://hd01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-2.7.7/data/tmp</value>
</property>

  • 修改 hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.8

  • 修改 hdfs-site.xml

<!-- 指定HDFS副本的数量 -->

<property>
        <name>dfs.replication</name>
        <value>3</value>
</property>

<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hd03:50090</value>
</property>

  • 修改 yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.8

  • 修改 yarn-site.xml

<!-- reducer获取数据的方式 -->
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hd02</value>
</property>

  • 修改 mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.8

  • 修改 mapred-site.xml

<!-- 指定mr运行在yarn上 -->
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

(b)在集群上分发文件

xsync /opt/module/hadoop-2.7.2/

(4)单点启动集群

1)格式化namenode

集群是第一次启动,需要格式化

hdfs namenode -format

2)启动namenode

在hd01上启动namenode

hadoop-daemon.sh start namenode

3)启动datanode

分别在hd01、hd02、hd03上启动datanode

hadoop-daemon.sh start datanode

(5)SSH无密登录

1)配置ssh

(a)基本语法

        ssh另一台电脑的ip地址

(b)问题

        ssh连接时出现Host key verification failed的解决方法

The authenticity of host '192.168.10.222 (192.168.10.222)' can't be established.
RSA key fingerprint is cf:1e:de:d7:d0:4c:2d:98:60:b4:fd:ae:b1:2d:ad:06.
Are you sure you want to continue connecting (yes/no)? 
Host key verification failed.

        直接输入yes即可

2)无密钥配置

(a)原理图

(b)生成公钥和私钥

ssh-keygen -t rsa 
然后敲(三下回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

(c)将公钥拷贝到要免密登录的目标机器上

在hd01上执行,之后在hd01上可以免密登录到hd02和hd03上

ssh-copy-id hd02

ssh-copy-id hd03

还需要在hd02采用hdhk账号配置一下无密登录到hd01hd03服务器上。在hd03采用hdhk账号配置一下无密登录到hd01hd02服务器上。

3).ssh文件夹

cd

known_hosts

记录ssh访问过计算机的公钥(public key)

id_rsa

生成的私钥

id_rsa.pub

生成的公钥

authorized_keys

存放授权过得无密登录服务器公钥

(6)集群测试

1)配置slaves

vim slaves

在该文件中增加如下内容:

hd01

hd02

hd03

注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

同步所有节点配置文件

xsync slaves

2)启动集群

(a)格式化NameNode

如果集群是第一次启动,需要格式化NameNode(注意格式化之前,一定要停止上次启动的所有namenode和datanode进程,然后再删除datalog数据

hdfs namenode -format

(b)启动HDFS

 start-dfs.sh

  

(c)启动YARN

        注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。        

在hd02机器上启动

start-yarn.sh

(d)Web端查看SecondaryNameNode

浏览器中输入:http://hd03:50090/status.html

注意:需要在windows电脑上配置hosts

3)基本测试

(a)上传小文件

在hd01的/opt/module/hadoop-2.7.7/目录下新建input文件夹,并新建test.txt文件

创建hdfs文件夹

hdfs dfs -mkdir -p /user/hdhk/input

上传文件

 hdfs dfs -put input/test.txt /user/hdhk/input/

查看文件

hdfs dfs -ls /user/hdhk/input

(b)上传大文件

hdfs dfs -put /opt/software/hadoop-2.7.7.tar.gz /user/hdhk/input

(c)文件存放位置

查看HDFS文件存储路径

/opt/module/hadoop-2.7.7/data/tmp/dfs/data/current/BP-2127471582-192.168.10.221-1769669891206/current/finalized/subdir0/subdir0/

查看HDFS在磁盘存储文件内容

(7)Hadoop启停方式

1)各个组件逐一启动/停止

(a)分别启动/停止HDFS组件

hadoop-daemon.sh  start / stop  namenode / datanode / secondarynamenode

(b)启动/停止YARN

yarn-daemon.sh  start / stop  resourcemanager / nodemanager

2)各整体启动/停止

        前提是配置ssh

(a)整体启动/停止HDFS

start-dfs.sh   /  stop-dfs.sh

(b)整体启动/停止YARN

start-yarn.sh  /  stop-yarn.sh

更多推荐