大数据企业学习篇02_1------hadoop初识

一.Hadoop 2.x概述

1.hadoop的来源
Hadoop的产生主要来源于Google的三篇论文,如下:
GFS ——-> HDFS
MapReduce ————>MapReduce
BigTable ———–>Hbase

2.hadoop是什么
简言之,Hadoop是大规模数据处理,主要是存储、计算、资源调度等功能。http://hadoop.apache.org
3.Hadoop的组成
Common:为其他Hadoop模块提供服务
HDFS:分布式文件系统,用于存储海量数据,主要特点是分布式(多主机存储)、安全性(副本数据,一般是3个副本),数据以block形式存储,数据块大小默认是128M
MapReduce:一个分布式的离线计算框架,对海量数据进行处理,主要思想是分而治之,将大数据集拆分成小的数据集,然后对每个数据集进行逻辑业务处理(map),合并统计数据结果(reduce)
Yarn:一个分布式资源管理和任务调度框架,例如管理整个集群资源(cpu数,内存)、分配调度集群的资源

4.HDFS系统架构图
这里写图片描述

hdfs是以主-从节点运行。
namenode:主节点,存放元数据信息,比如文件名、文件的目录结构、文件属性、每个文件块列表以及块所在的datanode等。**注意:**namenode的元数据一部分存放在内存中,一部分在磁盘上(例如:fsimage(镜像文件)和edits(编辑日志))
datanode:从节点,存放的是数据块以及数据块的校验和
Secondary NameNode: 用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照

5.Yarn架构图
这里写图片描述

ResourceManager:处理客户端请求;启动/监控ApplicationMaster;监控NodeManager;资源分配与调度
ApplicationMaster:数据切分;为应用程序申请资源,并分配给内部任务;任务监控与容错
NodeManager:单个节点上的资源管理;处理来自ResourceManager的命令;处理来自ApplicationMaster的命令
Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息

6.离线计算框架MapReduce
1)将计算过程分为两个阶段,map阶段和reduce阶段
map:并行处理输入数据(分)
reduce:对map结果进行合并(合)
2)shuffle连接map和reduce阶段
map task将数据写到本地磁盘
reduce task从每个task上读取一份数据
3)仅适合离线批处理
具有很好的容错性和扩展性
适合简单的批处理任务
4)缺点明显
启动开销大、过多使用磁盘导致效率较低

7.MapReduce on Yarn
这里写图片描述

1)client提交application给RM
2)RM为application找到一个NM,在其container中启动APP master
3)App master向RM注册
4)App master向RM申请application所需资源
5)App master通知NM启动container,将相应资源放入container中
6)NM启动Map或者Reduce任务
7)NM像APP master反应map或者reduce任务的状态或者进度
8)App master告知RM任务完成了,可以销毁了

二.Hadoop 2.x生态系统

这里写图片描述

Sqoop:关系型的数据库把数据存储到HDFS上。
Flume:日志文件的收集
MapReduce不是那么好写,门槛比较高,又有了Hive
Oozie:任务的管理与调度
Clodera Manager:整个集群资源的管理界面
Zookeeper:协作框架
Hue:web框架

三.Hadoop的环境配置

1.环境准备
1)删除系统默认的Java版本(需要切换到root)

    $>rpm -qa|grep java  //查看 open jdk
    $>rpm -e --nodeps 文件名 //强制卸载

2)解压Java包

$>tar -zvf jdk-7u67-linux-x64.tar.gz -C /soft

3)创建符号链接

$>ln -s java jdk1.7.0_67

4)配置Java环境变量(/etc/profile)

......
export JAVA_HOME=/soft/java
export PATH=$PATH:$JAVA_HOME/bin

5)使配置文件生效

$>source /etc/profile

6)验证Java环境是否配置成功

$>java -version

2.环境搭建
1)本地模式
1.解压Hadoop包

$>tar -zvf  hadoop-2.5.0.tar.gz -C /soft

2)配置etc/hadoop/hadoop-env.sh(配置Java环境,已防万一)

$> export JAVA_HOME=/soft/java

3)测试运行

 $ mkdir input
  $ cp etc/hadoop/*.xml input
  $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar grep input output 'dfs[a-z.]+'
  $ cat output/*

2)伪分布式
1.配置etc/hadoop/core-site.xml

<configuration>
    #配置hdfs文件系统
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://s201:8020</value>
    </property>
    #配置Hadoop的临时目录
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/soft/hadoop/tmp</value>
    </property>

</configuration>

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

#配置保存文件副本数
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

3.格式化文件系统

$ bin/hdfs namenode -format

4.启动NameNode和DataNode

$ sbin/hadoop-daemon.sh start namenode //单独启动namenode
$ sbin/hadoop-daemons.sh start datanode //单独启动datanode
$ sbin/start-dfs.sh   //同时启动namenode和datanode  

5.以下可参考官方文档了
http://hadoop.apache.org/docs/r2.7.4/hadoop-project-dist/hadoop-common/SingleCluster.html#Installing_Software

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

<configuration>
    #配置mapreduce程序
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    #配置resourcemanager所在节点
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>s201</value>
    </property>
</configuration>

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

#配置计算框架为yarn,默认是本地
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

注意:监控界面:HDFS端口是主机名+50070,resourcemanager的端口是主机名+8088

四.初识MapReduce应用

1.历史服务器
启动:

$>sbin/mr-jobhistory-daemon.sh start historyserver

停止:

$>sbin/mr-jobhistory-daemon.sh stop historyserver

2.日志聚集
应用运行完成以后,将日志信息上传到HDFS系统上
需要配置yarn-site.xml

<configuration>
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>360</value>
    </property>
</configuration>

3.垃圾回收间隔
配置core-site.xml

<configuration>
    <property>
        <name>fs.trash.interval</name>
        <value>600</value>
    </property>
</configuration>

4.启动方式
1)各个服务组件逐一启动
* hdfs
hadoop-daemon.sh start|stop namenode|datanode|secondarynamenode
* yarn
yarn-daemon.sh start|stop resourcemanager|nodemanager
* mapreduce
mr-historyserver-daemon.sh start|stop historyserver
2)各个模块分开启动
* hdfs
start-dfs.sh
stop-dfs.sh
* yarn
start-yarn.sh
stop-yarn.sh
3)全部启动(不推荐)
start-all.sh
stop-all.sh
5.ssh免密登录
1)生成密钥对

$>ssh-keygen -t rsa

2)拷贝文件到需要登录的机器上

$>ssh-copy-id s202

6.各个服务组件运行在那个配置中
NameNode
core-site.xml

fs.defaultFS
hdfs://s201:8020

DataNodes
slaves
s202
s203
s204
SecondaryNameNode
hdfs-site.xml

dfs.namenode.secondary.http-address
s204:50090

YARN
ResourceManager
yarn-site.xml

yarn.resourcemanager.hostname
s201

NodeManagers
slaves
s202
s203
s204

MapReduce HistoryServer
mapred-site.xml

mapreduce.jobhistory.address
s201:10020


mapreduce.jobhistory.webapp.address
s201:19888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
综合小区管理系统管理系统按照操作主体分为管理员和用户。管理员的功能包括报修管理、车位管理、车位分配管理、出入管理、字典管理、房屋管理、物业费缴纳管理、公告管理、物业人员投诉管理、我的私信管理、物业人员管理、用户管理、管理员管理。用户的功能包括管理部门以及部门岗位信息,管理招聘信息,培训信息,薪资信息等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 综合小区管理系统管理系统可以提高综合小区管理系统信息管理问题的解决效率,优化综合小区管理系统信息处理流程,保证综合小区管理系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理综合小区管理系统信息,包括出入管理,报修管理,报修管理,物业费缴纳等,可以管理操作员。 出入管理界面,管理员在出入管理界面中可以对界面中显示,可以对招聘信息的招聘状态进行查看,可以添加新的招聘信息等。报修管理界面,管理员在报修管理界面中查看奖罚种类信息,奖罚描述信息,新增奖惩信息等。车位管理界面,管理员在车位管理界面中新增。公告管理界面,管理员在公告管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值