大数据概念:指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
按照数据存储单位:bit、byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB
Hadoop是一个apache基金会所开发的分布式系统基础架构,主要解决海量数据的存储和海量数据的分析计算问题
广义上来书,hadoop通常是指一个更广泛的概念--hadoop生态圈
hadoop2.x组成:MapReduce(计算)+Yarm(资源调度)+HDFS(数据存储)+Common(辅助工具)
HDFS架构概述:
1、NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等(数据索引)
2、DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和(数据本身)
3、Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
YARN
1、resourceManager(调度集群资源)
(1)处理客户请求
(2)监控NodeManager
(3)启动或监控ApplicationMaster
(4)资源的分配与调度
2、NodeManager(NM)主要作用
(1)管理单个节点上的资源
(2)处理来自resourceManager的命令
(3)处理来自ApplicationMaster的命令
3、ApplicationMaster(AM)作用如下
(1)负责数据的切分
(2)为应用程序申请资源并分配给内部的任务
(3)任务的监控与容错
4、Container
Container是YARN中的资源抽象,它封装了某个节点上的对维度资源,如内存、CPU、磁盘、网络等
MapReduce将计算过程分为两个阶段:map和reduce
1、map阶段并行处理输入数据
2、reduce阶段对map结果进行汇总
虚拟机准备:
硬盘50G 内存4G cpu 6*2 2*2
/boot 200m
/swap 2G
/全部
虚拟机准备
1、防火墙关闭
service iptables stop //服务关闭
chkconfig iptables off //关闭开机自启
2、创建一个一般用户atguigu
useradd atguigu
passwd atguigu
3、在/opt目录下创建software module 文件夹
mkdir /opt/software/ /opt/module
chown atguigu:atguigu /opt/software /opt/module
4、把这个用户加到sudoers
vim /etc/sudoers
atguigu ALL=(ALL) NOPASSWD:ALL
:wq! 强制保存
5、改hosts
vim /etc/hosts
在文件后追加
192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
6、改静态ip
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.2
DNS1=192.168.1.2
NAME=eth0
7、改主机名
vim /etc/sysconfig /network
改HOSTNAME字段
改成HOSTNAME=hadoop100
拍快照
8、改网卡脚本文件
vim /etc/udev/rules.d/70-persistent-net.rules
第一行删掉
第二行
最后 NAME="eth1" 改成 NAME="eth0"
9、scp(secure copy)安全拷贝
a、scp定义:scp可以实现服务器与服务器之间的数据拷贝
b、基本语法:scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname
命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
c、案例实操:在hadoop001上,将hadoop101中的 /opt/module目录下的软件拷贝到hadoop002上:
命令:scp -r /opt/module root@hadoop102:/opt/module
10、rsync远程同步工具:主要用于备份和镜像,具有速度快、避免复制相同内容和支持符号链接的有点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
a、基本语法
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir/$fname
命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
选项参数:-r 递归
-v 显示复制过程
-l 拷贝符合链接
b、案例:把hadoop001机器上的/opt/software 目录同步到hadoop002服务器的root用户下的/opt/目录
rsync -rvl /opt/software/ root@hadoop002;/opt/software
11、xsync集群分发脚本
a、需求:循环复制文件到所有节点的相同目录下
b、
安装java和hadoop环境,配置环境变量
/etc文件配置文件
/sbin存放hadoop启动停止命令
Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式
官网:http://hadoop.apache.org/
官方Grep案例:1、在hadoop-2.7.2文件下面创建一个input文件夹:mkdir input
2、将hadoop的xml配置文件复制到input下:cp etc/hadoop/*.xml input
3、执行share目录下的MapReduce程序:bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output \'dfs[a-z.]+\'
4、查看输出结果:cat output/*
官方wordcount案例:1、在hadoop-2.7.2文件下面创建一个wcinput文件夹:mkdir wcinput
2、在winput文件下创建一个wc.input文件:cd wcinput
touch wc.input
3、编辑wc.input文件:vi wc.input
在文件中输入如下内容:hadoop yarm
hadoop mapreduce
atguigu
atguig
保存退出::wq
配置集群:
1、集群部署规划:
hadoop001 hadoop002 hadoop003
HDFS NameNode DataNode SecondaryNameNode
DataNode DataNode
YARN NodeManager ResourceManager NodeManager
NodeManager
2、配置集群
a、核心配置文件
配置core-site.xml
注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到以往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode