大数据基础2

时间:2021-09-07 21:30:53

1、什么是大数据?

2002 大数据提出 美国引入。—麦肯锡报告。
维克托·迈尔-舍恩伯格—大数据之父
4V特征:

Volume(数据量大):PB级
Variety(数据多样性):文本、图像、视频、音频等
Velocity(输入和处理速度快):流式数据
Value(价值密度低):
积累很多的数据才能发掘大数据隐含的意义。
只要能发挥和挖掘数据隐藏的价值,不用纠结与数据量大小
大数据核心问题存储、计算和分析—-通过组件(计算框架)解决了

2、数据仓库和大数据

(1)传统方式:DW(Data Warehouse),基于传统的关系数据库(Oracle、MySQL等),一般只做 查询分析,TD(Teradata 天睿)–数据仓库一体机。
(2)大数据的方式–分布式
GP:greenplum

3、OLTP和OLAP

(1)OLTP:Online Transaction Processing 联机事务处理:(insert update、delete)
ACID:所有的数据可追溯。——-传统关系型数据库(Oracle Mysql Postgresql等)
(2)OLAP:Online Analytic Processing 联机分析处理。
真正生产中是二者的结合:OLTP(后台操作 前台展示 数据设计等)+OLAP(Hive Hbase Spark等)。

4、Google的基本思想:三篇论文重点

(1)GFS: Google File System—-HDFS —解决存储
a、数据库太贵。主要是为了解决 google搜索内容的存储问题。–造价低 易扩展。
b、倒排索引(Reverted Index):
int arry[ ] = {1,2,3,4}
索引不一定提高查询速度。—key value
c、没有公布源码,—-Hadoop之父 Doug Cutting
HDFS 默认文件块大小 128M(Hadoop 2.X) 64M(Hadoop 1.x),
默认3副本。
(2)MapReduce:分布计算模型
PageRank
(3)BigTable:大表
对HDFS进行封装和二次开发,提高查询效率。把所有数据存入一张表中,通过牺牲空间,换取时间

5、Hadoop的简介

http://hadoop.apache.org/
Hadoop YARN: A framework for job scheduling and cluster resource management.
Apache:HDFS+MapReduce+
Yarn
https://hbase.apache.org/

6、HDFS的体系架构

HDFS 副本数可以再 hdfs-site.xml中修改。不超过机器个数 建议不超过3.
/opt/module/hadoop-2.7.3/etc/hadoop
HDFS=Namenode(主节点 名称节点)+SecondaryNameNode()+datanode(数据节点)

7、MR编程模型

包含两个阶段 key value 的设计是关键。

8、大数据典型应用场景

(1)商品推荐–协同过滤
(2)画像
(3)套牌车

9、Hadoop的安装准备工作

Hadoop名字来源–Doug Cutting
(1)安装好linux操作系统(IP配置)
(2)关闭防火墙
systemctl stop(disable) firewalld.service
(3) 安装Jdk–winscp 上传 opt/software 解压到 opt/module
(4) Hadoop安装包—虚拟机的克隆 scp(拷贝)

a、提前准备好 mkdir /opt/module
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/module/
b、vi ~/.bash_profile (用于当前用户)或者/etc/profile(所有用户都可以用)增加下面内

export JAVA_HOME=/opt/module/jdk1.8.0_192
export PATH= $JAVA_HOME/bin: $PATH
 
HADOOP_HOME=/opt/module/hadoop-2.7.3
export HADOOP_HOME
PATH= $HADOOP_HOME/bin: $HADOOP_HOME/sbin: $PATH
export PATH

c、 环境变量生效
source ~/.bash_profile
通过 输入 start 按两下tab 看是否有内容

虚拟机克隆
(1)保证虚拟机处于关闭状态
(2)右键->管理->克隆 当前状态 完整克隆–>
(3)hostname–修改
ip修改 – reboot

Hadoop(HDFS+Yarn) 本地 伪分布 全分布

10、Hadoop安装—本地安装

(1)特点:没有HDFS和Yarn 只能够测试MR程序是否成功, 作为一个普通的java程序。
(2)修改文件:
vi hadoop-env.sh
set number
修改25行(行数不一 hadoop版本不一致)

JAVA_HOME=/opt/module/jdk1. 8.0_181
cd /root/
mkdir temp
touch a .txt
vi a.txt

mapred-site.xml 默认没有,我克隆的文件里面有 这个文件没有被覆盖指定了yarn资源

11、Hadoop安装—本地安装伪分布模式

(1)特点:在一台机器上模拟一个分布式环境具备hadoop的所有功能。
HDFS:NameNode+DataNode+SecondaryNameNode
Yarn:ResourceManager+NodeManager
(2)修改的文件:
step1:hadoop-env.sh

vi ----- :set number 修改25行
JAVA_HOME=/opt/module/jdk1.8.0_192
<!--测试hadoop是否成功-->
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/temp/a.txt ~/temp/output/wc0107

step2:hdfs-site.xml

<!--注释配置数据块的冗余度,默认是3-->
<property>
<name>dfs.replication </name>
<value>1 </value>
</property>
<!--注释配置HDFS的权限检查,默认是true-->
<!--
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
-->

step3:core-site.xml

<!--配置HDFS主节点,namenode的地址,9000是RPC通信端口-->
<property>
<name>fs.defaultFS </name>
<value>hdfs://hsiehchou121:9000 </value>
</property>
<!--配置HDFS数据块和元数据保存的目录,一定要修改-->
<property>
<name>hadoop.tmp.dir </name>
<value>/opt/moudle/hadoop-2.7.3/tmp </value>
</property>

step4:mapred-site.xml(默认没有)

cp mapred-site.xml.template mapred-site.xml
<!--配置MR程序运行的框架-->
<property>
<name>mapreduce.framework.name </name>
<value>yarn </value>
</property>

step5:yarn-site.xml

<!--配置Yarn的节点-->
<property>
<name>yarn.resourcemanager.hostname </name>
<value>hsiehchou121 </value>
</property>
<!--NodeManager执行MR任务的方式是Shuffle洗牌-->
<property>
<name>yarn.nodemanager.aux-services </name>
<value>mapreduce_shuffle </value>
</property>

step 6:通过HDFS namenode 格式化

在第4步中,hadoop.tmp.dir–格式化

cd /opt/ module/hadoop-2.7.3/tmp/
[root@hsiehchou121 hadoop] # cd /opt/module/hadoop-2.7.3/tmp/
[root@hsiehchou121 tmp] # hdfs namenode -format

重复格式化:hadoop.tmp.dir   先停止集群,需要删除原来的tmp文件。 rm -rf 重新格式化 启动集群

命令:hdfs namenode -format
验证:是否格式化成功:
Storage directory /opt/moudle/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
最后启动,通过start-all.sh启动
验证:

[root@hsiehchou121 tmp] # jps
2336 NameNode
2867 NodeManager
3972 Jps
2629 SecondaryNameNode
2774 ResourceManager
2441 DataNode

web访问:
http://192.168.116.121:8088 yarn
http://192.168.116.121:50070 HDFS

12、免密码登录的原理和配置

SSH无密码登录
1)配置ssh
(1)基本语法
ssh 另一台电脑的ip地址
(2)ssh连接时出现Host key verification failed的解决方法
[root@hsiehchou121 opt]# ssh 192.168.116.103
The authenticity of host ‘192.168.116.103 (192.168.116.103)’ can’t be established.
RSA key fingerprint is cf:1e:de:d7:d0:4c:2d:98:60:b4:fd:ae:b1:2d:ad:06.
Are you sure you want to continue connecting (yes/no)?
Host key verification failed.
(3)解决方案如下:直接输入yes
2)无密钥配置
(1)进入到我的home目录

[ root@hsiehchou121 opt]$ cd ~/.ssh

(2)生成公钥和私钥:

[root @hsiehchou121 .ssh] $ ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
(3)将公钥拷贝到要免密登录的目标机器上

[root@hsiehchou121 .ssh]$ ssh- copy -id hsiehchou121
[root@hsiehchou121 .ssh]$ ssh- copy -id hsiehchou122
[root@hsiehchou121 .ssh]$ ssh- copy -id hsiehchou123
[root@hsiehchou121 .ssh]$ ssh- copy -id hsiehchou124

(4)在hsiehchou122、hsiehchou123、hsiehchou124上分别执行所有操作

13、Hadoop安装—全分布模式

作业:准备3台机器。完成1 的准备工作。
加入到 etc/hosts
192.168.116.121 hsiehchou121
192.168.116.122 hsiehchou122
192.168.116.123 hsiehchou123
192.168.116.124 hsiehchou124