hadoop-day01

0 简介

0 什么是大数据

在互联网中产生的海量数据 ,需要存储, 需要分析运算  --> 实际经济价值 

大数据的领域: 各行各业

海量数据的存储

海量数据的运算

资源调度

1 HADOOP 是什么

海量数据无法存储?  HDFS

海量数据的运算 ?  MapReduce

集群的资源调用 ? Yarn

2 HADOOP应用

HDFS 海量存储数据的一套标准 

MapReduce 第一代运算框架[思想]-->第二代  spark 第三代 flink

Yarn资源调度的一个标准 [运算]

3 大数据领域特点

1 数据量大 

2  数据类型多 

3 处理速度,正确

4 安全

5 横向扩展 (存储 , 运算资源)

4 HADOOP的内容

1 HDFS

2 MapReduce

3 yarn

a. 大数据处理海量数据

b. 存储  和  运算

c. 应用广泛

d. hadoop  1) HDFS 2) MapReduce 3) yarn

e. 特点 

2 HDFS 

2.1 基础功能

是分布式文件系统 (hadoop distribute file system)

用来存储海量数据的:   应该保证存储的安全,扩展,提供读取功能 ,上传 

用于一次存储多次读取,管理数据文件

1 .数据存储在集群中的位置 [单独的一个机器记录数据存储的位置]

2 集群中某个节点宕机以后,数据无法读取[数据丢失]  : 数据存储副本(3个副本在不同的机器上)

3 集群中副本的个数不够默认的(3个)  ,进行副本复制 ,如果复制的文件块过大 容易复制失败

4 在HDFS中存储的数据块不易太大, 选择128M一个数据块 存储在物理磁盘上

5 系统为客户提供一个虚拟的访问目录(方便用户上传,下载)

2.2 HDFS的系统架构

在HDFS中采用的是主从结构 

主节点 :namenode

从节点 datanode

2.2.1 namenode

  1. 记录用户存储数据的元信息
  2. 接收客户端的请求
  3. 接收datanode的注册和汇报(存储信息)

2.2.2 datanode

  1. 启动注册汇报
  2. 接收客户端真正的读写操作

2.3 安装

linux01 linux02 linux03
namenode secondary namenode  
datanode datanode datanode

2.3.1 上传

统一将安装包上传到/opt/apps下

1) rz 

2) 上传软件

3)alt+p

2.3.2 解压

将压缩安装包解压到当前目录

tar -zxvf hadoop-3.1.1.tar.gz 

v显示解压进度

tar -zxf hadoop-3.1.1.tar.gz   不显示进度 速度快些

目录结构

2.3.3 配置

[root@linux01 hadoop]# pwd
/opt/apps/hadoop-3.1.1/etc/hadoop

  1. vi hadoop-env.sh  

export    JAVA_HOME=/opt/apps/jdk1.8.0_141

2 vi hdfs-site.xml 

<configuration>
   <!-- 集群的namenode的位置  datanode能通过这个地址注册-->
	<property>
	     <name>dfs.namenode.rpc-address</name>
		 <value>linux01:8020</value>
	</property>
	 <!-- namenode存储元数据的位置 -->
	<property>
	     <name>dfs.namenode.name.dir</name>
		 <value>/opt/hdpdata/name</value>
	</property>
	 <!-- datanode存储数据的位置 -->
	<property>
	     <name>dfs.datanode.data.dir</name>
		 <value>/opt/hdpdata/data</value>
	</property>
	 <!-- secondary namenode机器的位置-->
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>linux02:50090</value>
	</property>

</configuration>

2.3.4 分发到集群的每台机器

scp -r hadoop-3.1.1  linux02:$PWD 

scp -r hadoop-3.1.1  linux03:$PWD 

2.3.5 初始化

bin/hadoop  namenode -format 

2.3.6 单节点启动

1) 启动namenode

bin/hadoop-daemon.sh  start namenode  启动namenode

jps 

访问web页面http://linux01:9870/

2) 启动datanode

linux01

linux02

linux03

上启动datanode

/opt/apps/hadoop-3.1.1/sbin/hadoop-daemon.sh start datanode

在页面上可以看到

2.3.7 配置系统环境变量

vi /etc/profile

export  JAVA_HOME=/opt/apps/jdk1.8.0_141
export  TOMCAT_HOME=/opt/apps/apache-tomcat-7.0.47
export  HADOOP_HOME=/opt/apps/hadoop-3.1.1
export  PATH=$PATH:$JAVA_HOME/bin:$TOMCAT_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

2.3.8 一键启动

1 ) 在配置文件的目录中修改workers配置文件 (启动的时候会读取这个文件 ,在配置的主机上分别启动datanode)

vi workers  

linux01

linux02

linux03

2) 在启动和停止的脚本中添加如下配置

vi sbin/start-dfs.sh  |  vi stop-dfs.sh

HDFS_DATANODE_USER=root

HADOOP_SECURE_DN_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

3 一键启动|停止

start-dfs.sh  

    读取workers 获取启动DN的主机

   读取hdfs-site.xml文件  在哪个机器上启动namenode和secondarynamenode

3 HDFS客户端操作

3.1 shell客户端

bin> hdfs  dfs 打开操作HDFS分布式文件系统的控制台

  • hdfs dfs -put  本地文件  hdfs://linux01:8020/ 
  • hdfs dfs -get  hdfs://linux01:8020/demo.txt   / 

hdfs dfs 

[root@linux01 bin]# hdfs dfs 
Usage: hadoop fs [generic options]
        [-appendToFile <localsrc> ... <dst>]
        [-cat [-ignoreCrc] <src> ...]   查看文本内容
        [-checksum <src> ...]
        [-chgrp [-R] GROUP PATH...]
        [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]  修改权限
        [-chown [-R] [OWNER][:[GROUP]] PATH...]
        [-copyFromLocal [-f] [-p] [-l] [-d] [-t <thread count>] <localsrc> ... <dst>]  put
        [-copyToLocal [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]     get
        [-count [-q] [-h] [-v] [-t [<storage type>]] [-u] [-x] [-e] <path> ...]
        [-cp [-f] [-p | -p[topax]] [-d] <src> ... <dst>]
        [-createSnapshot <snapshotDir> [<snapshotName>]]
        [-deleteSnapshot <snapshotDir> <snapshotName>]
        [-df [-h] [<path> ...]]       df 系统容量    (分布式系统的存储总空间)
        [-du [-s] [-h] [-v] [-x] <path> ...]   查看文件大小
        [-expunge]
        [-find <path> ... <expression> ...]   搜索
        [-get [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>] 下载 
        [-getfacl [-R] <path>]
        [-getfattr [-R] {-n name | -d} [-e en] <path>]
        [-getmerge [-nl] [-skip-empty-file] <src> <localdst>]
        [-head <file>]
        [-help [cmd ...]]
        [-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [-e] [<path> ...]]   列出目录下的内容
        [-mkdir [-p] <path> ...]       创建文件夹
        [-moveFromLocal <localsrc> ... <dst>]
        [-moveToLocal <src> <localdst>]  
        [-mv <src> ... <dst>]  移动 重命名
        [-put [-f] [-p] [-l] [-d] <localsrc> ... <dst>]   上传
        [-renameSnapshot <snapshotDir> <oldName> <newName>]
        [-rm [-f] [-r|-R] [-skipTrash] [-safely] <src> ...]  删除 
        [-rmdir [--ignore-fail-on-non-empty] <dir> ...]   删除文件夹
        [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
        [-setfattr {-n name [-v value] | -x name} <path>]
        [-setrep [-R] [-w] <rep> <path> ...]
        [-stat [format] <path> ...]
        [-tail [-f] <file>]   尾部查看内容
        [-test -[defsz] <path>]
        [-text [-ignoreCrc] <src> ...]
        [-touchz <path> ...]
        [-truncate [-w] <length> <path> ...]
        [-usage [cmd ...]]

hdfs  dfs -ls  hdfs://linux01:8020/

hdfs dfs  -ls  /  显示的是本地的文件系统内容  说明  hdfs  dfs -ls  /  默认操作的本地系统

修改  etc/hadoop/core-site.xml  让默认操作的文件 系统是HDFS分布式文件系统

vi  etc/hadoop/core-site.xml

  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://linux01:8020</value>
  </property>

  •  hdfs  dfs  -ls   / 
  • hdfs dfs  -mkdir -p  /aa/bb/cc
  • hdfs dfs -put  本地文件  /aa/
  • hdfs  dfs -get /aa/a.txt  /doit18/
  • hdfs dfs -rm -r  /aa/*
  • hdfs  dfs -chmod -R  777   /aa/   
  • hdfs dfs -df -h  
  • hdfs dfs -du -hs  /

3.2 java客户端

3.3  HDFS存储数据特点

1 一个大于128M的文件在HDFS 中的确是分块存储在指定的目录中[]数据物理切块存储

/opt/hdpdata/data/current/BP-436644294-192.168.133.3-1600488030052/current/finalized/subdir0/subdir0

2 默认的切块大小128M

3 数据的物理切块 在集群中默认存储3个副本

猜你喜欢

转载自blog.csdn.net/qq_37933018/article/details/108676777