hadoop学习笔记01

大数据的定义

大数据指无法一段时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要进行新处理模式才能具有更强的决策力、洞察力和流程优化能力的海量、高增长率和多样化的信息资产?

那多大的数据才能叫做大数据?100万条 1000万个用户?

大数据的特点

Volume(海量、 Velocity(高速)、Variety(多样)、Value(低价值密度)

大数据的应用场景

物流仓储
大数据分析系统助力商家细化运营、提升销量、节约成本。

零售
分析用户消费习惯、为用户购买商品提供方便,从而提高商品销量。

旅游
深度结合大数据能力与旅游行业需求,共建旅游产业智慧管理、智慧服务和智慧营销的未来。

商品广告推荐
给用户推荐可能喜欢的商品

保险
海量数据挖掘及风险预测,助力保险行业精准营销,提升精细化定价能力。

金融
多维度体现用户特征,帮助金融机构推荐优质用户,防范欺诈风险。

房产
大数据全面助力房地产行业,打造精准投策与营销,选出更合适的地,建造更合适的楼卖给更合适的人。

人工智能
俞敏洪说人工智能是基于大数据的,不知道准不准,但肯定有关。

大数据发展前景

1、党的十八大提出“实施国家大数据战略”
2、党的十九大提出“推动互联网、大数据、人工智能和实体经济深度融合”
3、人才缺口很大
4、北邮等众多高校相继开设大数据专业。

大数据部门业务流程

产品人员提需求(统计分析需求)
数据部门搭建数据平台、分析数据指标
数据可视化

大数据部门组织结构

平台组
Hadoop、Elume、Kafka、HBase、Spark等框架搭建,集群性能监控;集群性能调优

数据仓库组
ETL工程师-数据清洗
Hive工程师-数据分析、数据仓库建模

数据挖掘组
算法工程师
推荐系统工程师
用户画像工程师

报表开发组
Java EE开发工程师

从Hadoop讨论大数据生态

Hadoop是什么

1)Hadoop是Apache软件基金会开发的分布式系统基础架构
2)主要解决海量数据存储和海量数据分析计算的问题。
3)从广义来说,Hadoop通常是指一个更广泛的概念–Hadoop生态圈

Hadoop发展历史

1)Lucene是 Doug Cutting用Java开发的开源框架,实现与Google类似的全文搜索功能,他提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎。
2)2001年底Lucene成为Apache基金会的一个子项目
3)对于海量数据的场景,Lucene面对与Google同样的困难,存储数据困难,检索速度慢
4)学习和模仿Google解决这些问题的办法,Nutch
5)Google是Hadoop的思想之源,Google在大数据方面的论文
GFS–>HDFS
Map-Reduce–>MR
BigTable–>Hbase
6)2003-2004年,Google公开了部分GFS和MapReduce思想细节,以此为基础Doug Cutting 等人用了2年业余时间实现了DFSheMapReduce机制,使Nutch性能飙升。
7)2005年Hadoop作为Lucene的子项目Nutch的一部分正式引入Apache基金会
8)2006年三月,MapReduce和Nutch Distributed File System(NDFS)分别被纳入Hadoop项目
9)Hadoop源于Doug Cutting儿子的玩具大象

Hadoop三大发行版本

Apache、Cloudera、Hortonworks

Hadoop的优势

1)高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失
2)高可扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务速度。
4)高容错性:能够自动将失败任务重新分配。

Hadoop的组成

Hadoop 1.x
MapReduce (计算+资源调度)
HDFS(数据存储)
Common(辅助工具)

Hadoop2.x
Hadoop 1.x
MapReduce (计算)
Yarn(资源调度)
HDFS(数据存储)
Common(辅助工具)

HDFS
1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每隔文件的块列表所在的DataNode

2)DataNode(dn):在本地文件系统存储数据块数据,以及数据块的校验和。

3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

Yarn
1)ResourceManager(RM)
处理客户端请求、监控NodeManager、启动或监控ApplicationMaster
、资源的分配和调度

2)NodeManager主要作用
管理单个节点上的资源
处理来自ResourceManager的命令
处理来自ApplicationMaster的命令

3)App Master
负责数据的切分
为应用程序申请资源并分配给内部的任务
任务的监控与容错

4)Container
是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。

大数据技术生态体系

在这里插入图片描述

推荐系统项目框架

在这里插入图片描述

Hadoop运行环境搭建

3.1虚拟机环境准备
3.2 安装 jdk
3.3 安装Hadoop
一、使用命令下载(或者从网上下载下来再用FileZelia工具sftp SSH 传输到服务器)
wget http://mirrors.hust.edu.cn/apache/hadoop/core/hadoop-2.9.2/hadoop-2.9.2.tar.gz

二、解压
tar -zxvf hadoop-2.9.2.tar.gz -C /opt/module

三、配置环境变量
编辑配置文件
sudo vim /etc/profile
在文件最后一行输入以下内容

set hadoop enviroment

export HADOOP_HOME=/opt/module/hadoop-2.9.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

输入以下命令使配置文件生效
source /etc/profile

hadoop的目录结构

Hadoop运行模式

看这个网址 http://hadoop.apache.org/docs/r2.9.2/hadoop-project-dist/hadoop-common/SingleCluster.html#Purpose

Standalone Operation

By default, Hadoop is configured to run in a non-distributed mode, as a single Java process. This is useful for debugging.

The following example copies the unpacked conf directory to use as input and then finds and displays every match of the given regular expression. Output is written to the given output directory.

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

但是在执行 hadoop的时候并不顺利,我的java版本是

执行命令后提示
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/bin/java: No such file or directory

然后我输入以下命令
https://repo.huaweicloud.com/java/jdk/8u181-b13/jdk-8u181-linux-x64.tar.gz

解压后更换环境变量再执行命令之后就成功了

然后就在hadoop下出现了output目录,目录下有两个文件

在这里插入图片描述

Word Count案例

在这里插入图片描述
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount wcinput wcoutput
运行结果
在这里插入图片描述

Pseudo-Distributed Operation(伪分布模式)

Hadoop can also be run on a single-node in a pseudo-distributed mode where each Hadoop daemon runs in a separate Java process.

1)编辑etc/hadoop/core-site.xml文件

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
   <!--指定文件运行时产生文件的存储目录-->
   <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-2.9.2/data/tmp></value>
   </property>
</configuration>

在这里插入图片描述
2)编辑etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

3) vim hadoop-env.sh

在这里插入图片描述
在这里插入图片描述
4)格式化namenode
在这里插入图片描述
5)启动namedode、启动datanode
在这里插入图片描述

6)浏览器输入http://ip:50070/dfshealth.html#tab-overview
在这里插入图片描述
7)创建文件目录
在这里插入图片描述
在这里插入图片描述
8)将本地文件上传到HDFS
bin/hdfs dfs -put wcinput/wc.input /user/qicaiyun/input
在这里插入图片描述
在这里插入图片描述
9)统计HDFS上的文件单词出现次数
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /user/qicaiyun/input /user/qicaiyun/output

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值