CLOUD 005大数据 、 Hadoop 、 Hadoop安装与配置 、 HDFS
一 什么是大数据
<了解背景>
1 随着计算机技术发展,互联网普及,信息积累到了一个庞大底部,信息增长也在不断加快,物联网,互联网建设加快,信息更是爆炸增长,造成收集,检索,统计这些信息越发困难必须使用新技术来解决这些问题而此时,Hadoop 迎雨而上
2 是指从各种各样类型的数据中,快速获得有价值的信息
二 大数据能做什么
1 企业组织利用相关数据分析帮助他们降低成本,提高效率,开发出新产品,做出更明智的业务决策
2 把数据集合后进行分析得出信息和数据的关系性,用来察觉商业趋势,判定研究质量,避免疾病扩散,打击犯罪或者即时交通路况
3 大规模并行处理数据库,数据挖掘电网,分布式文件系统,云计算和可扩展的存储系统
三 Hadoop
1大数据特性
5V特性
Volume ->大体量
Variety ->多样性
Velocity ->时效性
Value ->大价值
Veracity ->准确性
2 什么是Hadoop
Hadoop是一种分析和处理海量数据的软件平台
是一款开源软件,使用JAVA开发
可以提供一个分布式基础架构
Hadoop的特点
高可靠性
高可扩展性
高效性
高容错性
低成本
阿法狗:
云计算->大数据->人工智能
Hadoop
一Hadoop历史起源
Google 时代 ->谷歌时代
Google 2003
GFS可扩展的分布式文件系统,用于大型的,分布式的,对大量数据进行访问的应用
Mapreduce
Mapduce 是针对分布式并行计算的一套编程模型,有map 和reduce组成,map是映射,把指令分发到多个worker,reduce是规约,把worker计算出的结果合并
Bigtable
Bigtable是存储结构化数据
Bigtable建立在GFS,scheduler,lock service和Mapreduce上
每个table都是一个多维的稀疏图
三大马车:GFS Mapreduce bigtable
YaHoo 时代 ->雅虎时代
GFS -> HDFS
Mapreduce -> Mapreduce
Bigtable -> Hbase
Hadoop 常用组件
HDFS -> hadoop分布式文件系统(核心组件)
Mapreduce-> 分布式计算框架(核心组件)
Yarn ->集群资源管理系统(核心组件)
Zookeeper ->分布式协作服务
Hbase ->分布式列存数据库
Hive ->基于Hadoop的数据仓库
Sqoop ->数据同步工具
Pig ->基于hadoop的数据流系统
Mahout ->数据挖掘算法库
Flume ->日志收集工具
一 Hadoop 架构
1 Hadoop 核心组件
2 Hadoop 生态系统
3 HDFS角色
Client
1 切分文件
2访问HDFS
3与 Namenode交互,获取文件位置信息
4 Datanode交互,读入写入数据
Datanode
数据存储节点,存储实际数据
汇报存储信息给namanode
Namenode
Master节点,管理HDFS的名称空间和数据映射,
处理所有客户端请求
配置副本策略
Secondary namenode
备份冗余,定期合并fsedits和fsimage,推送给namenode
紧急情况,可以辅助恢复namenoded
但是并非namenode热备
Block
每块默认128MB大小
每块可以多个副本
二 MapReduce 结构
Jobtracker
Master 节点只有一个
管理所有作业,任务监控,错误处理
分解任务为一系列 ,分派给taktracker
Tasktracker
Slave节点,一般是多台
运行Map task 和 Reduce task
与Job tracker 交互,汇报任务状态
Map task
解析每条数据记录,传递给用户编写的Map并且执行,输出结果写入本地磁盘
如果为map-only作业,直接写入HDFS
Reducer task
从Map task的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行
三 YarN结构
Yarn是Hadoop的一个通用的资源管理系统
Yarn角色
Resourcemanager
处理客户端请求
启动/监控applicationmanager
监控nodemanager
资源分配与调度
Nodemanager
单个节点上的资源管理
处理来自resourcemanager的命令
处理来自applicationMaster的命令
Applicationmaster
数据切分
为应用程序申请资源,分配给内部用户
任务监控与容错
Container
封装了cpu,内存
多维资源吗及环境变量,启动命令等任务运行相关的信息资源分配与调度
Client
用户与Yarn交互的客户端程序
提交应用程序,监控应用状态,杀死应用程序
核心思想:
将jobtracker 和tasktracker进行分离,有以下几大组件
1 Resource manager 一个全局的资源管理器
2 Nodemanager每个节点代理
3 Application 表示每个应用
4每一个applicationMaster有多个container在Nodemanager上运行
四 Hadoop安装与配置
模式:
1 单机
2 伪分布式
伪分布式安装和完全分布式类似,区别是所有角色装在一套机器上,使用本地磁盘,一般生产环境都会使用完全分布式
3 完全分布式
Hadoop文件格式
Hadoop-env.sh
JAVA_HOME
HADOOP_CONF_DIR
XML文件配置格式
关键字
变量值
描述
一 搭建单机模式
(一般用于学习测试hadoop,统计词频)
获取软件:http://hadoop.apache.org
1 装包
Yum -y install
Java-1.8.0-openjdk-devel
/linux-soft/04/hadoop/
Tar -zvcf hadoop-2.7.7.tar.gz
Mv hadoop-2.7.7 /usr/local/hadoop
2 配置
rpm -ql java-1.8.0-openjdk
cd ./etc/hadoop/
vim hadoop-env.sh
mkdir /usr/local/hadoop/ooxx abc
cp /etc/passwd/* /usr/local/hadoop/ooxx/
./bin/hadoop jar
3 验证大数据分析
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount ooxx abc
二 完全分布式
环境准备
基础环境准备
新开启三台虚拟机
禁用selinux
SELINUX=disabled
警用 firewalled
Systemctl stop firewlled
装包java-1.8.0-openjdk-devel
配置dns vim /etc/hosts
验证 java -version jps
配置ssh 信任关系 ssh-keygen sssh-copy-id
一 配置文件
Cd /usr/local/hadoop/etc/hadoop/
Vim core.site.xml ->(模板在官方文档) ->hadoop.apacje.org/docs/
fs.defaultFS hdfs://nn01:9000 hadoop.tmp.dir /var/hadoop
Vim hdfs.site.xml
dfs.namenode.http-address -> namenode 地址声明 nn01:50070 dfs.namenode.secondary.http-address -> 小秘 nn01:50090 dfs.replication ->副本 2
HDFS完全分布式配置
1 在本机创建/var/hadoop
Mkdir /var/hadoop
2 在namenode格式化操作
./bin/hadoop namenode -format
必须看到以上成功信息才算成功
3 启动集群
./sbin/start-dfs.sh
4 验证集群
[root@nn01 hadoop]# jps
1872 Jps
1763 SecondaryNameNode ->小秘
1580 NameNode ->领导
[root@node1 ~]# jps
23184 Jps
23111 DataNode
5 终极验证
Bin/hdfs dfsadmin -report
可以看到有三个集群的信息 node1 node2 node3
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!