一,大数据:
1.大数据起源于社交网络
QQ微信
发展于电商平台
淘宝,京东,一号店

2。***大数据的4V特征
体积数据量大TB PB Varity 
的数据多种多样文本(.log .txt .sql .xml)
Veracity真实性数据的准确性和可信赖度
速度速度快
价值价值密度低

Hadoop ->  传统的数据统计分析  Mysql
Spark  ->   Hadoop   在内存快100倍 在磁盘快10倍

1Byte = 8位p

1KB = 1,024字节

1MB = 1,024 KB = 1,048,576字节

1GB = 1,024 MB = 1,048,576 KB = 1,073,741,824字节1GB = 1,024 MB = 1,048,576 KB = 1,073,741,824字节

1TB = 1,024GB = 1,048,576MB = 1,099,511,627,776字节

1PB = 1,024 TB = 1,048,576 GB = 1,125,899,906,842,624字节

1EB = 1,024 PB = 1,048,576 TB = 1,152,921,504,606,846,976字节

1ZB = 1,024 EB = 1,180,591,620,717,411,303,424字节

1YB = 1,024 ZB = 1,208,925,819,614,629,174,706,176字节

3.大数据应用发展前景
拉勾网智联招聘
**大数据应用分析
1)统计 - “数据仓库
2)个性化推荐(预测)
3)机器学习图形计算
4)人工智能

二,Hadoop的概念
1.Hadoop的起源及发展史
大数据Hdoop 
Doug Coutting Hadoop之父

2 *** Goolge三大论文大数据的三驾马车
Goolge Hadoop 
文件系统GFS - > HDFS 
计算MpReduce - > Mapreduce 
表格BigTable - > HBase

3.企业大数据分析的数据来源
企业内部
:日志记录(应用服务器Nginx)
:关系型数据库

        外部渠道:爬虫(Python java):用户行为数据(推荐系统)——》搜索习惯,关键字——》消费记录,支付宝API(网站埋点技术 jsSDK JavaSDK)

Apache Hadoop

Apache Hadoop软件库是一个框架,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集。它旨在从单个服务器扩展到数千台机器,每台机器提供本地计算和存储。该库本身不是依靠硬件来提供高可用性,而是设计用于在应用层检测和处理故障,从而在一组计算机之上提供高可用性服务,每个计算机都可能出现故障。

4.Apache的Hadoop是一个应用的Java语言实现的软件框架,由再大量的廉价的计算机组成的集群中运
行海量数据的分布式parallel-计算框架,可以它应用让程序
请立即获取iTunes上千个节点PB状语从句:级别的数据.Hadoop是项目的总称,主要是由分布式存储(HDFS),
和分布式并行计算模型(MapReduce的)等组成。

Hadoop Common: The common utilities that support the other Hadoop modules.
Hadoop Distributed File System (HDFS?): A distributed file system that provides high-throughput access to application data.
Hadoop YARN: A framework for job scheduling and cluster resource management.
Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.

5. Hadoop的四个模块,也叫四大组件
Hadoop Common公共模块(支其他Hadoop模块的公用工具,包括FileSystem(面向通用文件系统的抽象类),远程程序调用(RPC)和序列化库)

Hadoop HDFS存储数据:一个为访问应用数据提供高吞吐量的分布式文件系统。

Hadoop YARN管理资源(Hadoop2.x)一个全局的工作调度与资源管理的框架 - “YARN是mareduce的云操作系统

Hadoop MapReduce并行计算框架:一个基于Yarn的大数据分布式并行计算框架

6.Hadoop的发售版本:
Apache 
Cloudera商业发行版(卖服务)
cdh HDP --- hortonworks

7.Hadoop的体系架构
HDFS 
存储海量数据
分布式
安全性
副本数据(放在不同的机器)
数据是以块(块)的方式进行存储的默认是128MB 1.0 64MB 
HaDoop2.X出现了yarn

YARN分布式资源管理框架管理整个集群的资源(内存 cpu核数)分配调度集群的资源Mapreduce分两个阶段:Map和Reduce  计算框架,编程模型     “分而治之”的思想100副扑克,少了一张,那么可以找50个人。每个人分2副本扑克分布式并行计算每个数据集,进行逻辑业务处理(map)并行处理合并统计数据结果(reduce)

三.Hadoop的安装运行模式:
1.单机(本地)运行模式
无需运行任何守护进程,所有程序都在单JVM上执行,测试用
2.伪分布式
将所有的守护进程运行在一个节点
3.集群模式
1)完全分布式
不同的守护进程运行在不同的节点
2)HA 
Namenode HA 
3)联盟

Hadoop2.x环境搭建
准备工作
一,Linux环境
1.修改主机名【不能数字开头,不能特殊字符】#vi 
/ etc / sysconfig / network 
$ cat / etc / sysconfig / network

2.主机映射
# vi /etc/hosts
ip地址  主机名windows下主机映射
C:/windows/system32/driver/hostsha3.$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=static二、jdk
(推荐)用户只有一个(不要是root),user01
创建两个目录
# mkdir /opt/software /opt/modules
/opt/software  存放*.tag.gz
/opt/modules    放置安装文件
# /$ ll
drwxr-xr-x. 3 user01 user01 4096 Mar  7 07:34 modules
drwxr-xr-x. 2 root   root   4096 Nov 22  2013 rh
drwxr-xr-x. 2 user01 user01 4096 Mar  7 07:28 software安装jdk$ tar -zxf jdk-7u67-linux-x64.tar.gz  -C ../modules/

卸载openJDK 
#rpm -e --nodeps XXX.rpm //不验证依赖进行卸载

 配置环境变量$sudo vim /etc/profile  $JAVA_HOME

export JAVA_HOME = / opt / modules / jdk1.7.0_67 
export PATH = $ PATH:$ JAVA_HOME / bin

export HADOOP_HOME = / opt / modules / hadoop-2.5.0 
 export PATH = $ PATH:$ JAVA_HOME / bin:$ HADOOP_HOME / bin 
/opt/modules/hadoop-2.5.0

使配置生效
$ source /etc/profileLinux 防火墙# service iptables status   ##查看防火墙状态iptables: Fihrewall is not running.# service iptables stop     ##关闭防火墙关闭开机启动防火墙#  chkconfig iptables off   ##不随机启动关闭安全子系统# vi /etc/sysconfig/selinuxSELINUX=disabled

三,配置Hadoop $ {HADOOP_HOME} --- hadoop的安装目录
解压安装hadoop【注意上传和解压过程中的用户权限问题】
$ tar -zxf hadoop-2.5.0.tar.gz -C / opt / modules /

1.配置hadoop的java环境支持,$ {HADOOP_HOME} / etc / hadoop目录下
hadoop-env.sh 
mapred-env.sh 
yarn-env.sh

在这3个文件中都配置
export JAVA_HOME = / opt / modules / jdk1.7.0_67

2.与hdfs相关的配置$ {HADOOP_HOME} / etc / hadoop 
1)core-site.xml 
============= core-site.xml ========== =========

<property><name>fs.defaultFS</name><value>hdfs://hadoop21.com:8020</value>
</property><!--hadoop在运行时产生的文件,元数据在本地的存放目录 -->
<property><name>hadoop.tmp.dir</name><value>/opt/modules/hadoop-2.5.0/data/tmp</value>
</property>

============================================

2)hdfs-site.xml

============= hdfs-site.xml ============

dfs.replication 
1

=============药膏============ 
指定你的主机名hadoop21.com

3)格式化namenode  只格式化一遍,不要重复格式化
${HADOOP_HOME}目录下:

$ b

17/03/21 00:34:52 INFO common.Storage: Storage directory /opt/modules/hadoop-2.5.0/data/dfs/name has been successfully formatted.
4)启动hdfs守护进程

$ h //启动namenode进程
$ sbin / hmkiadoop-daemon.sh启动datanode //启动datanode

$  jps

3097 Jps 
2931 NameNode 
3023 DataNode

网络界面访问
http://bigdata.ibeifeng.com:50070/

5)HDFS文件系统常用命令
$ bin/hdfs dfs   //可以查看所有的dfs相关的操作指令
$ bin/hdfs dfs -ls /
$ bin/hdfs dfs -mkdir -p /input/test
$ bin/hdfs dfs  -rmdir /input/test
$ bin/hdfs dfs  -put /opt/software/jdk-7u67-linux-x64.tar.gz /input/test

配置secondarynamenode 
============= hdfs-site.xml ============ 
修改hdfs-site.xml,指定机器以及外部交互端口号

dfs.namenode。 secondary.http-address 
bigdata01:50090

- “启动
sbin / hadoop-daemon.sh启动secondarynamenode

3.配置YARN任务调度(Mapreduce)资源管理(resourcemanager nodemanager)
$ {HADOOP_HOME} / etc / hadoop目录下配置yarn-site.xml 
======= yarn-site.xml ===== 
m = ===================================

复制并重名模板文件
$ cp etc / hadoop / mapred-site.xml.template etc / hadoop / mapred-site.xml 
======= mapred-site.xml ===== 
$ {HADOOP_HOME} / etc / hadoop的目录下配置mapred-site.xml中

mapreduce.framework.name yarn =====================================

4.启动hdfs纱线进程
$ sbin / hadoop-daemon.sh start namenode 
$ sbin / hadoop-daemon.sh启动datanode 
$ sbin / yarn-daemon.sh启动resourcemanager 
$ sbin / yarn-daemon.sh start nodemanager

5.检查hdfs纱线启动状态,即查看守护进程

6.向yarn提交mapreducer任务
1)计算圆周率
$ bin / yarn jar share / hadoop / mapreduce / hadoop-mapreduce-examples-2.5.0.jar pi 5 3 
2)wordcount词频统计
a。在用户主目录创建一个wordcount .txt 
$ vi /home/user01/wordcount.txt 
hadoop java 
html java 
linux hadoop 
yarn hadoop

b.上传到hdfs的input目录下
$ bin/hdfs dfs -put ~/wordcount.txt /input/c.提交wordcount任务

执行方式/ m 
bin / yarn jar share / hadoop / mapreduce / hadoop-mapreduce-examples-2.5.0.jar wordcount / input / output

【报错】:再次执行wordcount会提示输出目录已存在
org.apache.hadoop.mapred.FileAlreadyExistsException:输出目录hdfs://hadoop.beifeng.com:8020 / output already exists 
【解决办法】
删除hdfs上的输出目录或者重新指定输出目录

7.配置日志聚合
======= mapred-site.xml ========= 
**追加到原来配置和后面

mapreduce.jobhistory.address

[主机名]:10020

mapreduce.jobhistory.webapp.address [主机名]:19888 ============== yarn-site.xml ======= yarn.log-aggregation-enable true默认保存3- 7 yarn.log-aggregation.retain-seconds 86400 8.停止所有进程重新启动,以便配置文件生效1)停止进程$ sbin / hadoop-daemon.sh stop namenode $ sbin / hadoop-daemon.sh stop datanode $ sbin / yarn-daemon.sh stop resourcemanager $ sbin / yarn-daemon.sh stop nodemanager

2)启动进程

$ sbin / hadoop-daemon.sh start namenode 
$ sbin / hadoop-daemon.sh启动datanode 
$ sbin / yarn-daemon.sh启动resourcemanager 
$ sbin / yarn-daemon.sh start nodemanager

3)启动历史

启动历史服务
sbin / mr-jobhistory-daemon.sh启动historyserver

4)查看守护进程

28904 ResourceManager 
28724 NameNode 
28808 DataNod 
29152 NodeManager 
29304 JobHistoryServer 30561 
Jps

【HDFS权限检测】
============== hdfs-site.xml ======= 
1,取消HDFS权限检测功能
2,修改hdfs-site.xml

dfs.permissions。启用
虚假

【常见问题】
1,格式化问题
一般情况格式化一次即可
bin / hdfs namenode -format 
生成fsimage 
操作HDFS之后生成编辑
多次格式化之前,需要清空hadoop.tmp.dir参数下设置的路径下的所有文件和目录
2,出现错误
一定要学会查看日志文件,查看日志/下载应用程序的.log后缀的文件
【框架名】【用户名】【进程名】【主机名】【文件后缀】
hadoop-beifeng -datanode-bigdata-04.log 
查看最新的日志记录,最新时间
3,clusterID 
查看VERSION 
[dfs / name / current]:namenode 
clusterID = CID-6172ab83-9c0a-4da0-8d14-d5e14a2c57cd

[dfs/data/current]:datanode
clusterID=CID-6172ab83-9c0a-4da0-8d14-d5e14a2c57cd
集群ID不一致
第一种解决方法:修改VERSION文件,以namenode的ID为准,改为一致即可
第二种解决方法:重新格式化生成

4,PID进程号(注意权限问题)
系统进程每次启动之后会有一个PID编号,启动每次会随机生成
多个用户启动进程,会记录不同用户的PID编号进程
建议不要多个用户混用
如果出现pid进程编号多个的话,直接删除rm /tmp/*.pid 
再用同一个用户去启动

5,主机主机名与IP不一致
检查核心现场
检查/ etc / hosts中
检查IP

【HDFS架构】
- “数据块块
- ”每个块默认大小:128MB,大小可以用户自定义修改
- “如果要修改就写到hdfs-site.xml中
一个块块默认只能保存一个128M大小的文件

dfs.blocksize 134217728新文件的默认块大小(以字节为单位)。您可以使用以下后缀(不区分大小写):k(千),m(兆),g(千兆),t(泰拉),p(贝塔),e(埃萨)指定大小(如128k,512m ,1g等),或以字节为单位提供完整的大小(例如128 MB的134217728)。

- “522MB,默认大小:128MB

    -》128MB-》128MB-》128MB-》128MB-》128MB(10MB)

- “如果一个文件的大小小于块的大小,是不会占据整个块的空间的
- ”多个文件是不能放到同一个块中的

- “主节点:namenode 
- ”管理元数据
- “文件属性
名称
位置
权限
数据块
.... 
- ”从节点:datanode 
物理磁盘存储数据的
会和nodemanager部署在一起,通过slaves配置文件来指定

【namenode】
元数据存在内存
接收用户操作请求维护文件系统的目录结构管理文件与块之间的关系,
block与datanode之间的关系namenode管理:namenode支持对HDFS中的目录,
文件和块做类似文件系统的创建,修改,删除,列表文件和目录
等基本操作。块存储管理在整个HDFS集群中只有一个并且
只有唯一一个namenode节点,该节点负责对这个命名空间进行管理

【数据管理部】

存储文件文件被分成块存储在磁盘上为保证数据安全,文件
会有多个副本名称节点和客户端的指令进行存储或者检索块,并
且周期性的向名称节点节点报告它存了哪些文件的块

- “保证数据安全性机制
- ”副本数
- “一份文件写多份备份,写到不同机器节点上
- ”文件切分成块之后,对于每个块的备份
- “放置策略
- ”第一个块块的副本,如果客户端客户端在集群中的某台机器,那么第一个就放在这台
- “如果客户不在集群中,那么第一个块就随机放置
- ”第二个块块的副本,会放置在和第一个不同的机架的节点节点上,随机的
- “第三个块块的副本,会放置在和第二个机架的不同的节点节点上,随机的
- ”负载均衡,均匀分布
- “机架感知的机制
- ”数据块的扫描机制
- “HDFS文件生成key,”定期检查,生成KEY 
- “块的修复

【SecondaryNameNode】

的NameNode的元数据信息先往编辑文件中写,当编辑文件达到一定的阈值(3600秒)的时候,会开启合并的流程。
合并流程:
1.当开始合并的时候,SecondaryNameNode会把编辑和的FsImage拷贝到自己服务器所在内存中,开始合并,合并生成一个名为fsimage.ckpt的文件
。2.将fsimage.ckpt文件拷贝到NameNode上,成功后,再删除原有的fsimage,并将fsimage.ckpt文件重命名为fsimage。3. 
当SecondaryNameNode将编辑和fsimage拷贝走之后,NameNode会立刻生成一个edits.new文件,用于记录新来的元数据,当合并完成之后,原有的edits文件才会被删除,并将edits.new文件重命名为编辑文件,开启下一轮流程。

【优化配置(在hdfs-site中)】
1,fsimage 
记录某一个永久性检查点(Checkpoint)时整个HDFS的元信息
2,编辑
所有对HDFS的写操作都会记录在此文件中

1,单独指定的FsImage存放文件的路径
注意:你可以自己选择路径,也可以不修改使用默认的

      -》单独指定fsimage文件的路径<property><name>dfs.namenode.name.dir</name><value>file://${hadoop.tmp.dir}/dfs/name</value><description>Determines where on the local filesystem the DFS name nodeshould store the name table(fsimage).  If this is a comma-delimited listof directories then the name table is replicated in all of thedirectories, for redundancy. </description></property>-》单独指定edits文件的路径<property><name>dfs.namenode.edits.dir</name><value>${dfs.namenode.name.dir}</value><description>Determines where on the local filesystem the DFS name nodeshould store the transaction (edits) file. If this is a comma-delimited listof directories then the transaction file is replicated in all of the directories, for redundancy. Default value is same as dfs.namenode.name.dir</description></property>-》指定datanode数据本地路径<property><name>dfs.datanode.data.dir</name><value>file://${hadoop.tmp.dir}/dfs/data</value><description>Determines where on the local filesystem an DFS data nodeshould store its blocks.  If this is a comma-delimitedlist of directories, then data will be stored in all nameddirectories, typically on different devices.Directories that do not exist are ignored.</description></property>

- “HDFS的特点
优点:
1)处理超大文件
2)流式的访问数据
3)运行于廉价的商用机器集群上

缺点:
1)不适合低延迟数据访问
2)无法高效存储大量小文件
阿里巴巴开源了TFS淘宝文件系统,参考了HDFS 
3)不支持多用户写入及任意修改文件

【纱】架构
主从架构:主节点的ResourceManager 
从节点节点管理器

  1. ResourceManager的(RM)
    全局的资源管理器,整个集群只有一个,负责集群资源的统一管理和调度分配
  2. ApplicationMaster(AM)
    用户提交的每个应用程序均包含1个AM,
    主要功能包括:与RM调度器协商以获取资源(用集装箱表示); 
    将得到的任务进一步分配给内部的任务; 
    与NM通信以启动/停止任务; 
    监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。
  3. NodeManager(NM)
    NM是每个节点上的资源和任务管理器,一方面,它会定时地向RM汇报本节点的
    资源使用情况和各个Container的运行状态;另一方面,它接收并处理来自AM的
    集装箱启动/停止等各种请求。
  4. Container 
    Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,
    如内存,CPU,磁盘,网络等,当AM向RM申请资源时,RM为AM返回的资源
    便是用容器表示的.YARN会为每个任务分配一个容器,该御姐任
    务只能使用该集装箱中描述的资源。

一,大数据:
1.大数据起源于社交网络
QQ微信
发展于电商平台
淘宝,京东,一号店

2。***大数据的4V特征
体积数据量大TB PB Varity 
的数据多种多样文本(.log .txt .sql .xml)
Veracity真实性数据的准确性和可信赖度
速度速度快
价值价值密度低

Hadoop ->  传统的数据统计分析  Mysql
Spark  ->   Hadoop   在内存快100倍 在磁盘快10倍

1Byte = 8位p

1KB = 1,024字节

1MB = 1,024 KB = 1,048,576字节

1GB = 1,024 MB = 1,048,576 KB = 1,073,741,824字节1GB = 1,024 MB = 1,048,576 KB = 1,073,741,824字节

1TB = 1,024GB = 1,048,576MB = 1,099,511,627,776字节

1PB = 1,024 TB = 1,048,576 GB = 1,125,899,906,842,624字节

1EB = 1,024 PB = 1,048,576 TB = 1,152,921,504,606,846,976字节

1ZB = 1,024 EB = 1,180,591,620,717,411,303,424字节

1YB = 1,024 ZB = 1,208,925,819,614,629,174,706,176字节

3.大数据应用发展前景
拉勾网智联招聘
**大数据应用分析
1)统计 - “数据仓库
2)个性化推荐(预测)
3)机器学习图形计算
4)人工智能

二,Hadoop的概念
1.Hadoop的起源及发展史
大数据Hdoop 
Doug Coutting Hadoop之父

2 *** Goolge三大论文大数据的三驾马车
Goolge Hadoop 
文件系统GFS - > HDFS 
计算MpReduce - > Mapreduce 
表格BigTable - > HBase

3.企业大数据分析的数据来源
企业内部
:日志记录(应用服务器Nginx)
:关系型数据库

        外部渠道:爬虫(Python java):用户行为数据(推荐系统)——》搜索习惯,关键字——》消费记录,支付宝API(网站埋点技术 jsSDK JavaSDK)

Apache Hadoop

Apache Hadoop软件库是一个框架,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集。它旨在从单个服务器扩展到数千台机器,每台机器提供本地计算和存储。该库本身不是依靠硬件来提供高可用性,而是设计用于在应用层检测和处理故障,从而在一组计算机之上提供高可用性服务,每个计算机都可能出现故障。

4.Apache的Hadoop是一个应用的Java语言实现的软件框架,由再大量的廉价的计算机组成的集群中运
行海量数据的分布式parallel-计算框架,可以它应用让程序
请立即获取iTunes上千个节点PB状语从句:级别的数据.Hadoop是项目的总称,主要是由分布式存储(HDFS),
和分布式并行计算模型(MapReduce的)等组成。

Hadoop Common: The common utilities that support the other Hadoop modules.
Hadoop Distributed File System (HDFS?): A distributed file system that provides high-throughput access to application data.
Hadoop YARN: A framework for job scheduling and cluster resource management.
Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.

5. Hadoop的四个模块,也叫四大组件
Hadoop Common公共模块(支其他Hadoop模块的公用工具,包括FileSystem(面向通用文件系统的抽象类),远程程序调用(RPC)和序列化库)

Hadoop HDFS存储数据:一个为访问应用数据提供高吞吐量的分布式文件系统。

Hadoop YARN管理资源(Hadoop2.x)一个全局的工作调度与资源管理的框架 - “YARN是mareduce的云操作系统

Hadoop MapReduce并行计算框架:一个基于Yarn的大数据分布式并行计算框架

6.Hadoop的发售版本:
Apache 
Cloudera商业发行版(卖服务)
cdh HDP --- hortonworks

7.Hadoop的体系架构
HDFS 
存储海量数据
分布式
安全性
副本数据(放在不同的机器)
数据是以块(块)的方式进行存储的默认是128MB 1.0 64MB 
HaDoop2.X出现了yarn

YARN分布式资源管理框架管理整个集群的资源(内存 cpu核数)分配调度集群的资源Mapreduce分两个阶段:Map和Reduce  计算框架,编程模型     “分而治之”的思想100副扑克,少了一张,那么可以找50个人。每个人分2副本扑克分布式并行计算每个数据集,进行逻辑业务处理(map)并行处理合并统计数据结果(reduce)

三.Hadoop的安装运行模式:
1.单机(本地)运行模式
无需运行任何守护进程,所有程序都在单JVM上执行,测试用
2.伪分布式
将所有的守护进程运行在一个节点
3.集群模式
1)完全分布式
不同的守护进程运行在不同的节点
2)HA 
Namenode HA 
3)联盟

Hadoop2.x环境搭建
准备工作
一,Linux环境
1.修改主机名【不能数字开头,不能特殊字符】#vi 
/ etc / sysconfig / network 
$ cat / etc / sysconfig / network

2.主机映射
# vi /etc/hosts
ip地址  主机名windows下主机映射
C:/windows/system32/driver/hostsha3.$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=static二、jdk
(推荐)用户只有一个(不要是root),user01
创建两个目录
# mkdir /opt/software /opt/modules
/opt/software  存放*.tag.gz
/opt/modules    放置安装文件
# /$ ll
drwxr-xr-x. 3 user01 user01 4096 Mar  7 07:34 modules
drwxr-xr-x. 2 root   root   4096 Nov 22  2013 rh
drwxr-xr-x. 2 user01 user01 4096 Mar  7 07:28 software安装jdk$ tar -zxf jdk-7u67-linux-x64.tar.gz  -C ../modules/

卸载openJDK 
#rpm -e --nodeps XXX.rpm //不验证依赖进行卸载

 配置环境变量$sudo vim /etc/profile  $JAVA_HOME

export JAVA_HOME = / opt / modules / jdk1.7.0_67 
export PATH = $ PATH:$ JAVA_HOME / bin

export HADOOP_HOME = / opt / modules / hadoop-2.5.0 
 export PATH = $ PATH:$ JAVA_HOME / bin:$ HADOOP_HOME / bin 
/opt/modules/hadoop-2.5.0

使配置生效
$ source /etc/profileLinux 防火墙# service iptables status   ##查看防火墙状态iptables: Fihrewall is not running.# service iptables stop     ##关闭防火墙关闭开机启动防火墙#  chkconfig iptables off   ##不随机启动关闭安全子系统# vi /etc/sysconfig/selinuxSELINUX=disabled

三,配置Hadoop $ {HADOOP_HOME} --- hadoop的安装目录
解压安装hadoop【注意上传和解压过程中的用户权限问题】
$ tar -zxf hadoop-2.5.0.tar.gz -C / opt / modules /

1.配置hadoop的java环境支持,$ {HADOOP_HOME} / etc / hadoop目录下
hadoop-env.sh 
mapred-env.sh 
yarn-env.sh

在这3个文件中都配置
export JAVA_HOME = / opt / modules / jdk1.7.0_67

2.与hdfs相关的配置$ {HADOOP_HOME} / etc / hadoop 
1)core-site.xml 
============= core-site.xml ========== =========

<property><name>fs.defaultFS</name><value>hdfs://hadoop21.com:8020</value>
</property><!--hadoop在运行时产生的文件,元数据在本地的存放目录 -->
<property><name>hadoop.tmp.dir</name><value>/opt/modules/hadoop-2.5.0/data/tmp</value>
</property>

============================================

2)hdfs-site.xml

============= hdfs-site.xml ============

dfs.replication 
1

=============药膏============ 
指定你的主机名hadoop21.com

3)格式化namenode  只格式化一遍,不要重复格式化
${HADOOP_HOME}目录下:

$ b

17/03/21 00:34:52 INFO common.Storage: Storage directory /opt/modules/hadoop-2.5.0/data/dfs/name has been successfully formatted.
4)启动hdfs守护进程

$ h //启动namenode进程
$ sbin / hmkiadoop-daemon.sh启动datanode //启动datanode

$  jps

3097 Jps 
2931 NameNode 
3023 DataNode

网络界面访问
http://bigdata.ibeifeng.com:50070/

5)HDFS文件系统常用命令
$ bin/hdfs dfs   //可以查看所有的dfs相关的操作指令
$ bin/hdfs dfs -ls /
$ bin/hdfs dfs -mkdir -p /input/test
$ bin/hdfs dfs  -rmdir /input/test
$ bin/hdfs dfs  -put /opt/software/jdk-7u67-linux-x64.tar.gz /input/test

配置secondarynamenode 
============= hdfs-site.xml ============ 
修改hdfs-site.xml,指定机器以及外部交互端口号

dfs.namenode。 secondary.http-address 
bigdata01:50090

- “启动
sbin / hadoop-daemon.sh启动secondarynamenode

3.配置YARN任务调度(Mapreduce)资源管理(resourcemanager nodemanager)
$ {HADOOP_HOME} / etc / hadoop目录下配置yarn-site.xml 
======= yarn-site.xml ===== 
m = ===================================

复制并重名模板文件
$ cp etc / hadoop / mapred-site.xml.template etc / hadoop / mapred-site.xml 
======= mapred-site.xml ===== 
$ {HADOOP_HOME} / etc / hadoop的目录下配置mapred-site.xml中

mapreduce.framework.name yarn =====================================

4.启动hdfs纱线进程
$ sbin / hadoop-daemon.sh start namenode 
$ sbin / hadoop-daemon.sh启动datanode 
$ sbin / yarn-daemon.sh启动resourcemanager 
$ sbin / yarn-daemon.sh start nodemanager

5.检查hdfs纱线启动状态,即查看守护进程

6.向yarn提交mapreducer任务
1)计算圆周率
$ bin / yarn jar share / hadoop / mapreduce / hadoop-mapreduce-examples-2.5.0.jar pi 5 3 
2)wordcount词频统计
a。在用户主目录创建一个wordcount .txt 
$ vi /home/user01/wordcount.txt 
hadoop java 
html java 
linux hadoop 
yarn hadoop

b.上传到hdfs的input目录下
$ bin/hdfs dfs -put ~/wordcount.txt /input/c.提交wordcount任务

执行方式/ m 
bin / yarn jar share / hadoop / mapreduce / hadoop-mapreduce-examples-2.5.0.jar wordcount / input / output

【报错】:再次执行wordcount会提示输出目录已存在
org.apache.hadoop.mapred.FileAlreadyExistsException:输出目录hdfs://hadoop.beifeng.com:8020 / output already exists 
【解决办法】
删除hdfs上的输出目录或者重新指定输出目录

7.配置日志聚合
======= mapred-site.xml ========= 
**追加到原来配置和后面

mapreduce.jobhistory.address

[主机名]:10020

mapreduce.jobhistory.webapp.address [主机名]:19888 ============== yarn-site.xml ======= yarn.log-aggregation-enable true默认保存3- 7 yarn.log-aggregation.retain-seconds 86400 8.停止所有进程重新启动,以便配置文件生效1)停止进程$ sbin / hadoop-daemon.sh stop namenode $ sbin / hadoop-daemon.sh stop datanode $ sbin / yarn-daemon.sh stop resourcemanager $ sbin / yarn-daemon.sh stop nodemanager

2)启动进程

$ sbin / hadoop-daemon.sh start namenode 
$ sbin / hadoop-daemon.sh启动datanode 
$ sbin / yarn-daemon.sh启动resourcemanager 
$ sbin / yarn-daemon.sh start nodemanager

3)启动历史

启动历史服务
sbin / mr-jobhistory-daemon.sh启动historyserver

4)查看守护进程

28904 ResourceManager 
28724 NameNode 
28808 DataNod 
29152 NodeManager 
29304 JobHistoryServer 30561 
Jps

【HDFS权限检测】
============== hdfs-site.xml ======= 
1,取消HDFS权限检测功能
2,修改hdfs-site.xml

dfs.permissions。启用
虚假

【常见问题】
1,格式化问题
一般情况格式化一次即可
bin / hdfs namenode -format 
生成fsimage 
操作HDFS之后生成编辑
多次格式化之前,需要清空hadoop.tmp.dir参数下设置的路径下的所有文件和目录
2,出现错误
一定要学会查看日志文件,查看日志/下载应用程序的.log后缀的文件
【框架名】【用户名】【进程名】【主机名】【文件后缀】
hadoop-beifeng -datanode-bigdata-04.log 
查看最新的日志记录,最新时间
3,clusterID 
查看VERSION 
[dfs / name / current]:namenode 
clusterID = CID-6172ab83-9c0a-4da0-8d14-d5e14a2c57cd

[dfs/data/current]:datanode
clusterID=CID-6172ab83-9c0a-4da0-8d14-d5e14a2c57cd
集群ID不一致
第一种解决方法:修改VERSION文件,以namenode的ID为准,改为一致即可
第二种解决方法:重新格式化生成

4,PID进程号(注意权限问题)
系统进程每次启动之后会有一个PID编号,启动每次会随机生成
多个用户启动进程,会记录不同用户的PID编号进程
建议不要多个用户混用
如果出现pid进程编号多个的话,直接删除rm /tmp/*.pid 
再用同一个用户去启动

5,主机主机名与IP不一致
检查核心现场
检查/ etc / hosts中
检查IP

【HDFS架构】
- “数据块块
- ”每个块默认大小:128MB,大小可以用户自定义修改
- “如果要修改就写到hdfs-site.xml中
一个块块默认只能保存一个128M大小的文件

dfs.blocksize 134217728新文件的默认块大小(以字节为单位)。您可以使用以下后缀(不区分大小写):k(千),m(兆),g(千兆),t(泰拉),p(贝塔),e(埃萨)指定大小(如128k,512m ,1g等),或以字节为单位提供完整的大小(例如128 MB的134217728)。

- “522MB,默认大小:128MB

    -》128MB-》128MB-》128MB-》128MB-》128MB(10MB)

- “如果一个文件的大小小于块的大小,是不会占据整个块的空间的
- ”多个文件是不能放到同一个块中的

- “主节点:namenode 
- ”管理元数据
- “文件属性
名称
位置
权限
数据块
.... 
- ”从节点:datanode 
物理磁盘存储数据的
会和nodemanager部署在一起,通过slaves配置文件来指定

【namenode】
元数据存在内存
接收用户操作请求维护文件系统的目录结构管理文件与块之间的关系,
block与datanode之间的关系namenode管理:namenode支持对HDFS中的目录,
文件和块做类似文件系统的创建,修改,删除,列表文件和目录
等基本操作。块存储管理在整个HDFS集群中只有一个并且
只有唯一一个namenode节点,该节点负责对这个命名空间进行管理

【数据管理部】

存储文件文件被分成块存储在磁盘上为保证数据安全,文件
会有多个副本名称节点和客户端的指令进行存储或者检索块,并
且周期性的向名称节点节点报告它存了哪些文件的块

- “保证数据安全性机制
- ”副本数
- “一份文件写多份备份,写到不同机器节点上
- ”文件切分成块之后,对于每个块的备份
- “放置策略
- ”第一个块块的副本,如果客户端客户端在集群中的某台机器,那么第一个就放在这台
- “如果客户不在集群中,那么第一个块就随机放置
- ”第二个块块的副本,会放置在和第一个不同的机架的节点节点上,随机的
- “第三个块块的副本,会放置在和第二个机架的不同的节点节点上,随机的
- ”负载均衡,均匀分布
- “机架感知的机制
- ”数据块的扫描机制
- “HDFS文件生成key,”定期检查,生成KEY 
- “块的修复

【SecondaryNameNode】

的NameNode的元数据信息先往编辑文件中写,当编辑文件达到一定的阈值(3600秒)的时候,会开启合并的流程。
合并流程:
1.当开始合并的时候,SecondaryNameNode会把编辑和的FsImage拷贝到自己服务器所在内存中,开始合并,合并生成一个名为fsimage.ckpt的文件
。2.将fsimage.ckpt文件拷贝到NameNode上,成功后,再删除原有的fsimage,并将fsimage.ckpt文件重命名为fsimage。3. 
当SecondaryNameNode将编辑和fsimage拷贝走之后,NameNode会立刻生成一个edits.new文件,用于记录新来的元数据,当合并完成之后,原有的edits文件才会被删除,并将edits.new文件重命名为编辑文件,开启下一轮流程。

【优化配置(在hdfs-site中)】
1,fsimage 
记录某一个永久性检查点(Checkpoint)时整个HDFS的元信息
2,编辑
所有对HDFS的写操作都会记录在此文件中

1,单独指定的FsImage存放文件的路径
注意:你可以自己选择路径,也可以不修改使用默认的

      -》单独指定fsimage文件的路径<property><name>dfs.namenode.name.dir</name><value>file://${hadoop.tmp.dir}/dfs/name</value><description>Determines where on the local filesystem the DFS name nodeshould store the name table(fsimage).  If this is a comma-delimited listof directories then the name table is replicated in all of thedirectories, for redundancy. </description></property>-》单独指定edits文件的路径<property><name>dfs.namenode.edits.dir</name><value>${dfs.namenode.name.dir}</value><description>Determines where on the local filesystem the DFS name nodeshould store the transaction (edits) file. If this is a comma-delimited listof directories then the transaction file is replicated in all of the directories, for redundancy. Default value is same as dfs.namenode.name.dir</description></property>-》指定datanode数据本地路径<property><name>dfs.datanode.data.dir</name><value>file://${hadoop.tmp.dir}/dfs/data</value><description>Determines where on the local filesystem an DFS data nodeshould store its blocks.  If this is a comma-delimitedlist of directories, then data will be stored in all nameddirectories, typically on different devices.Directories that do not exist are ignored.</description></property>

- “HDFS的特点
优点:
1)处理超大文件
2)流式的访问数据
3)运行于廉价的商用机器集群上

缺点:
1)不适合低延迟数据访问
2)无法高效存储大量小文件
阿里巴巴开源了TFS淘宝文件系统,参考了HDFS 
3)不支持多用户写入及任意修改文件

【纱】架构
主从架构:主节点的ResourceManager 
从节点节点管理器

  1. ResourceManager的(RM)
    全局的资源管理器,整个集群只有一个,负责集群资源的统一管理和调度分配
  2. ApplicationMaster(AM)
    用户提交的每个应用程序均包含1个AM,
    主要功能包括:与RM调度器协商以获取资源(用集装箱表示); 
    将得到的任务进一步分配给内部的任务; 
    与NM通信以启动/停止任务; 
    监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。
  3. NodeManager(NM)
    NM是每个节点上的资源和任务管理器,一方面,它会定时地向RM汇报本节点的
    资源使用情况和各个Container的运行状态;另一方面,它接收并处理来自AM的
    集装箱启动/停止等各种请求。
  4. Container 
    Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,
    如内存,CPU,磁盘,网络等,当AM向RM申请资源时,RM为AM返回的资源
    便是用容器表示的.YARN会为每个任务分配一个容器,该御姐任
    务只能使用该集装箱中描述的资源。

大数据-Hadoop初探-01相关推荐

  1. 大数据Hadoop教程-学习笔记01【大数据导论与Linux基础】

    视频教程:哔哩哔哩网站:黑马大数据Hadoop入门视频教程,总时长:14:22:04 教程资源:https://pan.baidu.com/s/1WYgyI3KgbzKzFD639lA-_g,提取码: ...

  2. 大表与大表join数据倾斜_技术分享|大数据技术初探之Spark数据倾斜调优

    侯亚南 数据技术处 支宸啸 数据技术处 在大数据计算中,我们可能会遇到一个很棘手的问题--数据倾斜,此时spark任务的性能会比预期要差很多:绝大多数task都很快执行完成,但个别task执行极慢或者 ...

  3. 大数据Hadoop集群搭建

    大数据Hadoop集群搭建 一.环境 服务器配置: CPU型号:Intel® Xeon® CPU E5-2620 v4 @ 2.10GHz CPU核数:16 内存:64GB 操作系统 版本:CentO ...

  4. 03 大数据hadoop发展简史及环境安装

    文章目录 大数据hadoop发展简史及环境安装 1.hadoop的介绍以及发展历史 2.hadoop的历史版本介绍 3.hadoop三大公司发型版本介绍 3.1免费开源版本apache: 3.2免费开 ...

  5. 成都大数据Hadoop与Spark技术培训班

    成都大数据Hadoop与Spark技术培训班 中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师.开 ...

  6. 大数据hadoop,spark数据分析之 基于大数据平台的运营商在线服务系统设计

    今天向大家介绍一个帮助往届学生完成的毕业设计项目,大数据hadoop,spark数据分析之 基于大数据平台的运营商在线服务系统设计. 基于大数据平台的运营商在线服务系统设计 随着通信行业的业务拓展以及 ...

  7. Python +大数据-Hadoop生态-Linux(二)-集群搭建和安装

    Python +大数据-Hadoop生态-Linux(二)-集群搭建和安装 今日课程学习目标 1.掌握Linux用户.权限管理 2.掌握Linux常用系统命令 3.掌握服务器集群环境搭建 4.了解sh ...

  8. 大数据Hadoop教程-学习笔记02【Apache Hadoop、HDFS】

    视频教程:哔哩哔哩网站:黑马大数据Hadoop入门视频教程 教程资源:https://pan.baidu.com/s/1WYgyI3KgbzKzFD639lA-_g 提取码: 6666 [P001-P ...

  9. 2021年大数据Hadoop(三十):Hadoop3.x的介绍

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Hadoop3.x的介绍 介绍 Hadoop 3.0新特性 ...

最新文章

  1. 计算机与十进制 教案,二进制与十进制间的转换教案
  2. 【渝粤题库】国家开放大学2021春2044教育研究方法题目
  3. 第三届(2016)科学数据大会——科学数据与创新发展征文通知
  4. 别管真假,先改密码!!!
  5. SpringBoot 入门知识点详解
  6. android真实项目教程(七)——梦醒边缘花落_by_CJJ
  7. DSP28335学习——系统初始化
  8. GameFi市值飙升,详解N.Fans目前的发展现状以及未来前景
  9. IT项目经理的基本条件
  10. 联通混改BATJ悉数入局,拿出数百亿的百度们有什么阳谋?
  11. 饿了么的树形控件的使用
  12. 虚拟机创作ubuntu18的ISO镜像
  13. python-基础语法
  14. LaTex笔记:参考文献、常用公式符号、图表、注释
  15. 【java基础】java继承从“我爸是李刚”讲起
  16. DNS解析记录中的CNAME与URL重定向(301/302)区别
  17. linux 查看空间
  18. informatica 学习日记整理
  19. 随机生成100以内加减法算式
  20. 中国“智”造——新车评网试驾观致3

热门文章

  1. NVIDA驱动安装-Ubuntu22.04
  2. 三城演义!第二届中国移动“梧桐杯”大数据应用创新大赛复赛完美收官
  3. 考研数学一些不人知的知识
  4. 【无标题】公司间销售利润中心替代
  5. 终于拿下淘宝了。淘宝抓取,淘宝爬虫。taobao spider
  6. Global Illumination_Light Propagation Volumes (LPV)
  7. UDP包的大小与MTU
  8. 五年级数学8课时用计算机探索规律,小学五年级数学《用计算器探索规律》教案范文三篇...
  9. 怎么在电脑上去批量的查询顺丰单号并复制
  10. JavaScript面试题看这一篇就够了,简单全面一发入魂(持续更新 step1)