初识Hadoop(一)

Hadoop初识

学习要求:

1、知道框架的作用
2、明白框架的组成 应用-> 组件-> 进程
3、熟悉API以及命令
4、会自我进行原理的描述
5、会根据所学知识提出优化
6、整理知识点:框架+笔记

大数据的概念

大数据指高速 (Velocity) 涌现的大量 (Volume) 多样化 (Variety) 具有一定价值( Value )并且真实( veracity )的数据,其特性可简单概括为 5V

  • 高速 :数据产生的速度较快 ,其数据产生的速度,是单台机器无法承载的

  • 大量:数据经过一段时间积累,数据量级能够达到TB级以上

  • 多样化:是指数据的类型多样化 处理的数据通常包括:日志数据 ,JSON数据(半结构化数据),结构化数据(二维结构数据)通常来自于业务系统中

  • 价值:数据中可以挖掘的价值

  • 真实:只要是历史产生过的数据,那么就可以存放到大数据库中,用于做数据分析

Hadoop简介

Hadoop是一个适合海量数据的分布式存储和分布式计算的平台。

Hadoop的处理思想:分而治之

Hadoop解决了两方面的问题:数据的存储 数据的计算

Hadoop包含三个组件:

HDFS: 是一个分布式存储框架,适合海量数据存储

MapReduce: 是一个分布式计算框架,适合海量数据计算

Yarn: 是一个资源调度平台,负责给计算框架分配计算资源(1.x之后才生产的)

Hadoop部署过程

  • 部署前准备

    • 1.关闭防火墙

      systemctl status firewalld
      systemctl stop firewalld
      systemctl disable firewalld
    • 2.检查Java版本

      要求使用自己安装的Java版本

      echo $JAVA_HOME => /usr/local/soft/jdk1.8.0_171

      java -version =>java version "1.8.0_171"

    • 3.检查虚拟资源配置

      大数据框架 基本上都是 主从结构 master-salve 对于主节点 要求资源多配置

      master: 内存 3G 处理器 数量1 内核 2 硬盘 > 35G

      node: 内存 2G 处理器 数量1 内核1 硬盘 > 35G

    • 4.关闭桌面模式

      systemctl set-default multi-user.target

      reboot

    • 5.开始克隆从节点 node1 node2

      1. 关闭Master

      2. 选择克隆

      3. 下一步创建完整克隆

      4. 选择存储位置 对磁盘要求容量大于60-70G 并且是固态硬盘

    • 6.配置Node1 Node2节点

      • 修改对应IP

        vim /etc/sysconfig/network-scripts/ifcfg-ens33

        systemctl restart network

        • node1 -> IPADDR=***110

        • node2 -> IPADDR=*** 120

      • 修改主机名

          1. vim /etc/hostname -> node1 2. reboot 重启

        • 1.vim /etc/hostname -> node2 2. reboot 重启

    • 7.校验时间是否同步

      • yum install ntp

      • ntpdate time.windows.com

    • 8.设置 hosts映射

      • scp -r /etc/hosts node1:/etc/

      • scp -r /etc/hosts node2:/etc/

    • 9.设置免密登录

      在Masetr节点中执行如下命令:()

      ssh-keygen -t rsa > 需要三次回车

      ssh-copy-id master > 需要输入密码

      ssh-copy-id node1

      ssh-copy-id node2

      验证:ssh node1

  • 正式安装Hadoop

    • 1.上传压缩包并解压

      tar -zxvf hadoop-3.1.3.tar.gz

    • 2.进入etc/hadoop中修改对应的配置文件

      core-site.xml

      <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <!-- 指定hadoop数据的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/soft/hadoop-3.1.3/data</value> </property>

hdfs-site.xml

<property> <name>dfs.namenode.http-address</name> <value>master:50070</value> </property> <!-- 2nn web端访问地址--> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:9868</value> </property>

yarn-site.xml

<!-- 指定MR走shuffle --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定ResourceManager的地址--> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <!-- 环境变量的继承 --> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property>

<!-- yarn容器允许分配的最大最小内存 --> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>512</value> </property> <property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>4096</value> </property> <!-- yarn容器允许管理的物理内存大小 --> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> <!-- 关闭yarn对物理内存和虚拟内存的限制检查 --> <property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> </property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property>

mapred-site.xml

<!--指定MapReduce程序运行在Yarn上--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>

hadoop-env.sh export JAVA_HOME=/usr/local/soft/jdk1.8.0_171

workers 添加 node1 node2

start-dfs.sh stop-dfs.sh HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root

start-yarn.sh stop-yarn.sh YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root

vim hadoop-env.sh

export JAVA_HOME=/usr/local/soft/jdk1.8.0_171

  • 3.修改环境变量

    vim /etc/profile

    HADOOP_HOME=/usr/local/soft/hadoop-3.1.3 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

    source /etc/profile

  • 4.将Hadoop分发到其他节点

    cd /usr/local/soft

    scp -r hadoop-3.1.3 node1:/usr/local/soft/hadoop-3.1.3

    scp -r hadoop-3.1.3 node2:/usr/local/soft/hadoop-3.1.3

  • 5.格式化HDFS

    hdfs namenode -format

  • 6.启动

    start-all.sh

    master:50070

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值