博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop笔记整理(一):Hadoop概述
阅读量:6633 次
发布时间:2019-06-25

本文共 11049 字,大约阅读时间需要 36 分钟。

[TOC]


大数据概述

大数据    两个方面        数据体积            bit,byte,kb,mb,gb,tb,pb,eb,zb,nb,db,yb        处理方式            存储问题                数据体积比较大的时候不适合进行集中式的存储,转而使用分布式的存储                集中式存储                    一个完整的数据都存储在一个存储介质中,数据的物理结构没有被破坏,是完整的,                    比如一个100mb的数据存放在一块1t的硬盘中                分布式存储                    一个完整的数据存储在不同的存储介质中,数据的物理结构被破坏了,从逻辑上看同样是完整,                    比如一个100mb的数据,其中50mb存放在A机器,30m存放在b机器,20mb存放在c机器                    为了保证数据的健壮性,我们需要对数据做冗余存储(备份),把这种存储方式称之为分布式存储            计算问题                集中式计算                    计算和数据在同一个机器的,同一个进程中完成。                分布式计算                    1+。。。+1000=50500 一台机器计算需要10分钟                    机器A:1+。。。+100=A     1分钟                    机器B:101+。。。+200=B                    机器i:。。。                    机器Z:901+。。。+100=Z                    最终将机器A,B,i,。。,Z计算的结果汇总到其中的一台机器中,最后得到需要的结果。                    也就是说将一个完整的计算拆分中若干个子模块进行计算,将子模块计算的结果,                    最终进行汇总得到最终结果的计算,称之为分布式计算。        描述大数据的时候,需要从两个方面来说            数据大            使用非常规的技术/软件去存储和计算这些体积海量数据

Hadoop概述

Hadoop基本概述

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

简言之:Hadoop是适合海量数据的分布式存储和分布式计算平台。受Google三篇论文启发,由作者Doug Cutting开发出来的。

问: 为什么hdfs不适合存储小文件? 假如有一个100m的文件和100个1m的文件,在数据存储上面完全没有任何差异;但是在管理节点或者元数据管理上面,一个100m的文件只有一份 元数据信息,而这100个1m文件的元数据信息就有100分,会对管理节点造成非常大的存储压力,所以不建议或不适合存储大量的小文件。

分布式存储与分布式计算

分布式存储            在分布式存储系统中,分散在不同节点中的数据可能属于同一         个文件,为了组织众多的文件,把文件可以放到不同的文件夹中,          文件夹可以一级一级的包含。我们把这种组织形式称为命名空间          (namespace)。命名空间管理着整个服务器集群中的所有文件。    分布式计算            把一个需要非常巨大的计算能力才能解决的问题分成许多小的         部分,然后把这些部分分配给许多计算机进行处理,最后把这些计         算结果综合起来得到最终的结果。

Hadoop四大模块

  • 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.

hdfs1中的管理节点有单点故障问题

Hadoop各个核心项目架构

HDFS2的架构

负责对数据的分布式存储,主从结构      主节点——namenode         可以有2个,负责内容:         1)接收用户的请求操作,是用户操作的入口         2)维护文件系统的目录结构,称为命名空间      从节点——datanode(存储节点)         至少一个,只干一件事:存储数据

Yarn的架构

是一个资源的调度和管理平台,也是主从结构      主节点——ResourceManager         可以有2个,主要负责:         1)集群资源的分配和调度         2)MR、Storm、Spark等应用,要想被RM管理,必须实现ApplicationMaster接口      从节点——NodeManager(计算节点)        可以有多个,主要就是单节点资源的管理。

MapReduce的架构

依赖于磁盘IO的批处理计算模型,只有一个主节点——MRAppMaster,主要负责:         1)接收客户端提交的计算任务         2)把计算任务分给NodeManager中的Container执行,即任务调度         3)监控Task的执行情况

数据和计算之间的距离,称之为数据或计算本地性

Hadoop单机版安装

CentOS的配置    1、网卡:NAT        网络:192.168.43.101        NetMask:255.255.255.0        GateWay:192.168.43.2        DNS Server:124.207.160.106,219.239.26.42        配置完毕之后,重启网卡:            ]#service network restart    2、修改主机名和ip地址映射文件(重启生效)        vim /etc/sysconfig/network        将HOSTNAME改为uplooking01        保存退出:            vim /etc/hosts        加入一行内容:            192.168.43.101  uplooking01        同样在windows下面也做相同的映射配置(C:\Windows\System32\drivers\etc\hosts):    3、关闭防火墙,并从开机启动项中去处防火墙        关闭防火墙:            service iptables stop        从开机启动项中移除防火墙            chkconfig iptables off    4、关闭selinux服务(重启生效)        vim /etc/selinux/config        SELINUX=disabled    5、开启最小多用户模式        vim /etc/inittab        id:5:initdefault:--->id:3:initdefault:在CentOS下面安装软件的一些约定:    所有的软件上传至/home/uplooking/soft    安装在/home/uplooking/app目录    如果在命令中出现[]表示可选,<>表示必须    使用xftp软件将jdk和hadoop安装压缩包上传至/opt/soft目录下,进行安装:1、安装JDK    第一步:解压        opt]# tar -zxvf /opt/soft/jdk-8u112-linux-x64.tar.gz [-C /opt/]    第二步:重命名        opt]# mv jdk1.8.0_112/ jdk    第三步:配置JAVA_HOME环境变量        vim /etc/profile.d/hadoop-etc.sh,添加一下内容            export JAVA_HOME=/opt/jdk            export PATH=$PATH:$JAVA_HOME/bin        保存退出,并让环境生效        source /etc/profile.d/hadoop-etc.sh    第四步:验证        java -version2、Hadoop的安装/home/uplooking/app目录    hadoop的版本:hadoop-2.6.4.tar.gz    1°、解压:        [uplooking@uplooking01 ~]$ tar -zxvf soft/hadoop-2.6.4.tar.gz -C /home/uplooking/app/    2°、重命名:        [uplooking@uplooking01 ~]$ mv /home/uplooking/app/hadoop-2.6.4/ /home/uplooking/app/hadoop    3°、添加hadoop相关命令到环境变量中        ~]$ vim ~/.bash_profile        加入以下内容:            export HADOOP_HOME=/home/uplooking/app/hadoop            export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin        生效:        ~]$ source ~/.bash_profile    4°、创建数据存储目录:        1) NameNode 数据存放目录: /home/uplooking/data/hadoop/name        2) SecondaryNameNode 数据存放目录: /home/uplooking/data/hadoop/secondary        3) DataNode 数据存放目录: /home/uplooking/data/hadoop/data        4) 临时数据存放目录: /home/uplooking/data/hadoop/tmp    5°、配置 hadoop-env.sh 、yarn-env.sh hdfs-site.xml core-site.xml mappred-site.xml yarn-site.xml        1)、配置hadoop-env.sh            export JAVA_HOME=/opt/jdk        2)、配置yarn-env.sh            export JAVA_HOME=/opt/jdk        3)、配置hdfs-site.xml            
dfs.namenode.name.dir
/home/uplooking/data/hadoop/name
存放元数据的磁盘目录
dfs.datanode.data.dir
/home/uplooking/data/hadoop/data
存放数据的磁盘目录
dfs.namenode.checkpoint.dir
/home/uplooking/data/hadoop/secondary
存放检查点数据的磁盘目录
dfs.namenode.secondary.http-address
uplooking01:9001
dfs.replication
1
默认有3分,但是目前只有一台机器,所以备份数设置为1
dfs.webhdfs.enabled
true
dfs.permissions
false
4)、配置core-site.xml
fs.defaultFS
hdfs://uplooking01:9000
hdfs内部通讯访问地址
hadoop.tmp.dir
/home/uplooking/data/hadoop/tmp
5)、配置mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
uplooking01:10020
mapreduce.jobhistory.webapp.address
uplooking01:19888
mapreduce.map.log.level
INFO
mapreduce.reduce.log.level
INFO
6)、配置yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
uplooking01
yarn.resourcemanager.address
uplooking01:8032
yarn.resourcemanager.scheduler.address
uplooking01:8030
yarn.resourcemanager.resource-tracker.address
uplooking01:8031
yarn.resourcemanager.admin.address
uplooking01:8033
yarn.resourcemanager.webapp.address
uplooking01:8088
yarn.log-aggregation-enable
true
格式化hadoop文件系统 hdfs namenode -format 当出现Storage directory /home/uplooking/data/hadoop/name has been successfully formatted.则说明格式化成功 负责失败,如果失败的话:就要检查配置文件,再次进行格式化,如果要再次进行格式化, 必须要把dfs.namenode.name.dir配置目录下面的数据清空。 启动hadoop start-all.sh 分为以下 start-dfs.sh start-yarn.sh 启动成功之后,通过java命令jps(java process status)会出现5个进程: NameNode SecondaryNameNode DataNode ResourceManager NodeManager 在启动的时候,提示需要输入的密码,是因为没有配置ssh免密码登录模式,如何配置? ssh-keygen -t rsa 一路回车 ssh-copy-id -i uplooking@uplooking01 根据提示输入当前机器的密码 验证:ssh uplooking@uplooking01 不需要再输入密码 验证: 1°、在命令中执行以下命令: hdfs dfs -ls / 2°、在浏览器中输入http://uplooking01:50070 3°、验证mr /home/uplooking/app/hadoop/share/hadoop/mapreduce目录下面,执行如下命令: --------下面是个人添加的笔记-------- hdfs dfs -mkdir -p /wordcount/input mkdir dfs -mkdir -p /wordcount/output hdfs dfs -put word.txt /wordcount/input --------上面是个人添加的笔记-------- yarn jar hadoop-mapreduce-examples-2.6.4.jar wordcount /hello /out 在执行作业的过程中,也可以在地址栏中输入:http://uplooking01:8088来查看作业的执行状态 问题: 如果要进行多次格式化,那么需要将刚才创建的/home/uplooking/data/hadoop/中的文件夹删除重建, 才能进行二次格式化 另外,如果后面向hadoop提交mr项目时,如果想查看输出,可以参考下面的方法: yarn-site.xml中配置:
yarn.log-aggregation-enable
true
重启yarn和historyserver 执行sbin/mr-jobhistory-daemon.sh start historyserver

转载地址:http://jofvo.baihongyu.com/

你可能感兴趣的文章
金字塔思维
查看>>
thinkphp空控制器的处理
查看>>
接口幂等
查看>>
【常用工具】常用工具收集
查看>>
第二阶段团队冲刺站立会议06
查看>>
html
查看>>
本地wampserver如何配置伪静态
查看>>
C#串口通信实例
查看>>
小程序数据返回时刷新当前页面数据
查看>>
团队冲刺第二天
查看>>
sed删除空行和开头的空格和tab键
查看>>
php扩展安装
查看>>
(转)android 牛人必修 ant 编译android工程
查看>>
求最大公约数与最小公倍数
查看>>
【WebService】使用jaxb完成对象和xml的转换
查看>>
C# 该行已经属于另一个表 ...
查看>>
从自动驾驶到学习机器学习:解读2017科技发展的15大趋势
查看>>
在Linux中永久并安全删除文件和目录的方法
查看>>
全民直播时代 内容监管还得靠技术
查看>>
Nginx Rewrite规则初探(转)
查看>>