大数据基础2


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


文章作者: 谢舟
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 谢舟 !
 上一篇
大数据基础之HDFS1 大数据基础之HDFS1
1、免密码登录的原理和配置ssh不对称加密算法(加密和解密是两个文件)(对称加密: 加密和解密文件是同一个)(1)公钥–锁:给出去 给其他机器(2)私钥–钥匙:自己留着,解密step1:ssh-keygen -t rsa(3次回车)step
2019-02-07
下一篇 
Git快速上手 Git快速上手
一、Linux 平台上安装Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 D
2019-02-03
  目录