• 大数据基础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

  • 相关阅读:
    数据库查询服务DBCacheServer
    SmallMQ实现发布
    数据库查询服务DBCacheServer
    Mysql ACID与隔离级别
    jsp拾遗
    Git项目创建与提交
    Spring Boot详细学习地址转载
    Spring Cloud微服务体系搭建
    前后端分离项目启动参考
    JVM类加载机制总结
  • 原文地址:https://www.cnblogs.com/hsiehchou/p/10403423.html
Copyright © 2020-2023  润新知