零、概述
一、概述
-
Hadoop衍生自Nutch(搜索引擎和web爬虫),面临的问题:海量数据存储和计算
-
Big Data大数据,谈的不仅仅是数据量,其实包含了数据量(Volume)、时效性(Velocity)、多样性(Variety)、可疑性(Veracity)
综上所述,我们可以总结出大数据的4V特征:
Volume 数据体量庞大 (PB级->EB级->ZB级)
Velocity 速度要求快 (数据输入输出的速度)
Varity 数据类型多样 (文本|图像|音视频)
Veracity 数据价值密度低 (商业价值高) -
Hadoop是一个开源存储和计算框架,HDFS大规模数据存储服务,MapReduce实现了对海量数据的并行处理和分析。
-
使用领域:电商推荐、论坛(精装营销)、交通(实时路况)、医疗、电信、金融
一、引言
-
Hadoop是什么?
一种老牌的大数据解决方案。包括如下两部分:
HDFS(Hadoop Distribute FileSystem):hadoop分布式文件系统。
MapReduce:并行计算框架的称呼,源自于该计算模型的实现策略。 -
Hadoop ECO System(hadoop的生态圈)
HDFS:分布式存储
MapReduce:并行计算HBASE:hadoop的数据库系统,基于HDFS之上的一款NoSQL数据库。面向列存储的NOSQL数据库,使用HDFS作为底层存储服务
Kafka:分布式消息队列,解决高并发
Flume:分布式日志采集系统,实现对数据收集、转移以及聚合
Hive:一款基于SQL的解析引擎,可以将SQL翻译成MapReduce计算,降低程序员使用门槛。一款工具,将用户的SQL翻译成MapReduce任务
zookeeper:分布协调服务框架
(了解)
Mahout: 一个可以扩展的及其学习以及数据挖掘库。
Spark:一个快速的通用的计算引擎用于计算Hadoop上的数据。基于内存。 -
分布式计算(拓展自学)
1、离线的大数据分析系统
(Hadoop MapReduce,Spark Core)
2、在线的实时流处理分析
(Storm,Spark Streaming,Flink)
二、了解HDFS(hadoop分布式文件系统)
-
HDFS借鉴了GFS的数据冗余度思想
存在批量的硬盘;【DataNode 数据节点】
HDFS默认冗余度为“3”,就是一份同样数据保存三份;
利用“水平复制”提升上传效率;
以“数据块”作为单位进行数据传输(1.x版本 64m、2.x版本 128m);
存在一个“管理员”进行管控调度【NameNode 名称节点】 -
hadoop的安装模式(三种)
本地模式(一台)、伪分布模式(一台)、全分布环境(至少三台) -
HDFS区别其他分布式文件系统:
①是一个高容错性系统——高容错性(fault-tolerant)
②提供高吞吐量的数据访问——高吞吐量(high throughput)
③廉价机器,成本低——(low-cost)
④超大数据存储——超大数据集(large data set)
三、HDFS环境搭建(伪分布式,单机跨进程)
- 安装好Linux64位后,执行操作激活ip
ifconfig -a //查看ip情况
vi /etc/sysconfig/network-scripts/ifcfg-eth0 //进入vi编辑,多使用tab补全避免出错
//将onboot改成yes
保存编辑后
ifup eth0 //启动eth0
ifconfig -a //查看ip生效否(我的inet addr是192.168.153.137)
- 关闭防火墙
[root@centos ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@centos ~]# chkconfig iptables off
- 软件需求
CentOS-6.5-x86_64-minimal.iso
jdk-8u171-linux-x64.rpm
- 建议,修改主机名
[root@CentOS ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=CentOS
[root@CentOS ~]# reboot # 重启虚拟机
- 配置主机名和ip映射关系
vi /etc/hosts #配置主机名和IP映射关系
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.153.137 CentOS #添加这一句
ping Centos #能够ping通,表示正常
- 安装JDK jdk-8u171-linux-x64.rpm
yum install -y lrzsz #安装插件,支持弹出窗口上传
rz #打开窗口上传
//上传jdk
rpm -ivh jdk-8u171-linux-x64.rpm #安装
ls /usr/ #查看下是否安装上
vi /root/.bashrc #编辑环境变量,如下(已将下方的HADOOP的环境变量也配置了)
HADOOP_HOME=/usr/hadoop-2.6.0
JAVA_HOME=/usr/java/latest
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
CLASSPATH=.
export JAVA_HOME
export PATH
export CLASSPATH
export HADOOP_HOME
source /root/.bashrc #加载当前环境变量
java -version #查看下,是否配置上
如果,卸载RPM安装的JDK
[root@CentOS ~]# rpm -qa | grep jdk #查看
jdk1.8-1.8.0_171-fcs.x86_64
[root@CentOS ~]# rpm -e jdk1.8-1.8.0_171-fcs.x86_64 #卸载
- SSH 免密码认证(本机免密码登录自己)