文章目录
大数据概述
1、概念
大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。
2、特征
4V特征
Volume(大数据量):90% 的数据是过去两年产生
Velocity(速度快):数据增长速度快,时效性高
Variety(多样化):数据种类和来源多样化
结构化数据、半结构化数据、非结构化数据
Value(价值密度低):需挖掘获取数据价值
固有特征
时效性
不可变性
分布式计算
分布式计算将较大的数据分成小的部分进行处理
什么是hadoop
Hadoop是一个开源分布式系统架构
分布式文件系统HDFS——解决大数据存储
分布式计算框架MapReduce——解决大数据计算
分布式资源管理系统YARN
处理海量数据的架构首选
非常快得完成大数据计算任务
已发展成为一个Hadoop生态圈
发行版本
Hadoop起源于搜索引擎Apache Nutch
创始人:Doug Cutting
2004年 - 最初版本实施
2008年 - 成为Apache顶级项目
Hadoop发行版本
社区版:Apache Hadoop
Cloudera发行版:CDH
Hortonworks发行版:HDP
为什么使用Hadoop
高扩展性,可伸缩
高可靠性
多副本机制,容错高
低成本
无共享架构
灵活,可存储任意类型数据
开源,社区活跃
Hadoop与关系型数据库对比
hadoop生态
Zookeeper
是一个分布式应用程序协调服务
解决分布式集群中应用系统的一致性问题
提供的功能
配置管理、命名服务、分布式同步、队列管理、集群管理等
特性
全局数据一致
可靠性、顺序性、实时性
数据更新原子性
Zookeeper集群
角色:Leader、Follower、Observer
Hadoop架构
HDFS(Hadoop Distributed File System)
分布式文件系统,解决分布式存储
MapReduce
分布式计算框架
YARN
分布式资源管理系统
在Hadoop 2.x中引入
Common
支持所有其他模块的公共工具程序
hdfs特点
HDFS优点
支持处理超大文件
可运行在廉价机器上
高容错性
流式文件写入
HDFS缺点
不适合低延时数据访问场景
不适合小文件存取场景
不适合并发写入,文件随机修改场景
hdfs cli命令行
格式:
hdfs dfs -cmd
1、创建目录、级联目录
hdfs dfs -mkdir /test
hdfs dfs -mkdir -p /test/a/b
2、显示当前目录结构、递归显示目录结构
hdfs dfs -ls /test
hdfs dfs -lsr /test
3、删除空目录、文件 递归删除目录和文件和目录
hdfs dfs -rm /a.txt
hafs dfs -rmr /test
4、从本地加载文件到hdfs
hdfs dfs -put localsrc dst
hdfs dfs -copyFromLocal localsrc dst
5、从hdfs导出文件到本地
hdfs dfs -get dst localsrc
hdfs dfs -copyToLocal dst localsrc
6、检测文件、目录
hdfs dfs -test -e 检查文件是否存在 存在返回0
hdfs dfs -test -d 如果路径是目录 返回1 否则返回0
hdfs dfs -test -z 检查文件是否是0字节 是返回0
7、查看文件内容
hdfs dfs -text
8、统计目录下文件大小,单位字节。
hdfs dfs -du -s 汇总目录下文件大小
hdfs dfs -du -h 显示单位
9、显示文件某位
hdfs dfs -tail
10、从源目录复制文件到目标目录
hdfs dfs -cp src dst
11、从源目录移动文件到目标目录
hdfs dfs -mv src dst
12、创建0字节的文件
hdfs dfs -touchz
13、hdfs dfs -cat
14、hdfs dfs -chgrp [-R] group
15、hdfs dfs -chown [-R] owner:group
16、hdfs dfs -chmod [-R]
配置hadoop集群
1)准备 3 台客户机(关闭防火墙、静态 ip、主机名称、创建 Hadoop 用户), 主机名称分别 hadoop10,hadoop11,hadoop12 2)安装 jdk 3)配置环境变量 4)安装 hadoop 5)配置环境变量 6)免密登录
集群部署规划
hadoop10:HDFS NameNode DataNode
YARN NodeManager ResourceManager
hadoop11:HDFS DataNode SecondaryNameNode
YARN NodeManager
hadoop12:HDFS DataNode
YARN NodeManager
1、核心配置core-site.xml,指定hdfs的namenode的地址
将fs.defaultFS的值都改为hdfs://hadoop10:9000
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop10:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/software/hadoop/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>
2、hdfs-site.xml中dfs.replication的数量为3
指定dfs.namenode.secondary.http-address地址为hadoop11:50090
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop11:50090</value>
</property>
</configuration>
3、yarn-site.xml中yarn.resourcemanager.hostname的值设为hadoop10
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop10</value>
</property>
4、slaves中分别加入hadoop10 hadoop11 hadoop12
hadoop10
hadoop11
hadoop12
(将所有修改分发给另外两台机器)
5、将安装目录hadoop下的logs tmp 文件删除
6、namenode格式化(只在hadoop10上格式化)
hadoop namenode -format
7、namenode上在安装目录下执行start-all.sh(只在hadoop10上启动)
8、查看jps