热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hadoop入门:Hadoop简介和集群搭建

Hadoop介绍Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台。允许使用简单的编程模型在大量计算机集群上

Hadoop 介绍

  1. Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台。允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理

    大规模数据:通常也就1PB以上吧.

  2. Hadoop核心组件有

    1.HDFS(分布式文件系统):解决海量数据存储 2.YARN(作业调度和集群资源管理的框架):解决资源任务调度3.MAPREDUCE(分布式运算编程框架):解决海量数据计算

  3. 现在说Hadoop,一般都是指Hadoop生态圈.就是下面这张图片.
    clipboard.png

    MAPREDUCE:分布式运算程序开发框架 HIVE:基于HADOOP的分布式数据仓库,提供基于SQL的查询数据操作 HBASE:基于HADOOP的分布式海量数据库 ZOOKEEPER:分布式协调服务基础组件 Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库 Oozie:工作流调度框架 Sqoop:数据导入导出工具(比如用于mysql和HDFS之间) Flume:日志数据采集框架 Impala:基于Hadoop的实时分析

  4. Hadoop特性优点

    1.**扩容能力**(Scalable):Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计的节点中。 2.**成本低**(Economical):Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。 3.**高效率**(Efficient):通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。 4.**可靠性**(Rellable):能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。

集群搭建

  1. HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群.HDFS集群负责海量数据的存储,集群中的角色主要有: NameNode、DataNode、SecondaryNameNode
  2. YARN集群负责海量数据运算时的资源调度,集群中的角色主要有: ResourceManager、NodeManager
  3. Hadoop部署方式分三种,Standalone mode(独立模式)、Pseudo-Distributed mode(伪分布式模式)、Cluster mode(群集模式),其中前两种都是在单机部署
  4. 集群模式主要用于生产环境部署。会使用N台主机组成一个Hadoop集群。这种部署模式下,主节点和从节点会分开部署在不同的机器上

    hadoop1 NameNode DataNode ResourceManager
    hadoop2 DataNode NodeManager SecondaryNameNode
    hadoop3 DataNode NodeManager

  5. 准备工作:

    1. 同步linux系统时间 ntpdate cn.pool.ntp.org
    2. 设置主机名 vi /etc/sysconfig/network HOSTNAME=hadoop-1,其他系统格式相同.
    3. 配置IP、主机名映射 vi /etc/hosts 192.168.1.1 hadoop1 / ...2 hadoop2 / ...3 hadoop3. 其他linux设备相同
    4. 配置ssh免密登陆 生成秘钥 ssh-keygen ,把秘钥发送给其他机器. ssh-copy-id hadoop2
    5. 关闭防火墙 service iptables stop. 设置开机关闭 chkconfig iptables off
    6. 安装jdk.
  6. 开始安装

    1. 把hadoop压缩包上传到linux /export/software/目录下. 没有就创建目录
    2. 解压到/export/server/目录下
    3. 进入 /export/server/hadoop-2../etc/hadoop 目录下.
    4. 修改hadoop-env.sh 文件 . vi hadoop-env.sh .因为hadoop要在java环境下运行

      export JAVA_HOME=#java环境变量的路径

    5. 修改core-site.xml文件 vi core-site.xml

      # fs.defaultFShdfs://hadoop1:9000hadoop.tmp.dir#/export/data/hddata 需要自己创建目录/export/data/hddata

    6. 修改hdfs-site.xml 文件

      dfs.replication2dfs.namenode.secondary.http-addresshadoop1:50090

    7. 修改mapred-site.xml文件 vi mapred-site.xml

      #mapreduce.framework.nameyarn

    8. 修改 yarn-site.xml 文件 vi yarn-site.xml

      yarn.resourcemanager.hostnamehadoop1yarn.nodemanager.aux-servicesmapreduce_shuffle

    9. 修改slaves 文件 vi slaves ,用于一键启动
      添加 hadoop1 hadoop2 hadoop3 .分3行写.
    10. 设置hadoop环境变量
      vi /etc/profile
      export HADOOP_HOME= #hadoop安装路径,到bin上级目录
      export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
      刷新文件 source /etc/profile
    11. 启动前要格式化一下. 执行 hdfs namenode–format
    12. 一键启动 start-all.sh .一键停止 stop-all.sh

启动后,hadoop1 执行 jps命令查看是否启动成功. 成功显示这几个进程.
NameNode,ResourceManager,DataNode,SecondaryNameNode,NodeManager
hadoop2 和 hadoop3显示 NodeManager DataNode 进程.
启动成功后 ,浏览器打开http://(linux1的IP地址):50070 ,http://(linux1的ip地址):8088地址查看集群.
完毕!!!



推荐阅读
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • hadoop3.1.2 first programdefault wordcount (Mac)
    hadoop3.1.2安装完成后的第一个实操示例程 ... [详细]
  • Hadoop——实验七:MapReduce编程实践
    文章目录一.实验目的二.实验内容三.实验步骤及结果分析 1.基于ubuntukylin14.04(7)版本,安装hadoop-eclipse-kepler-plugi ... [详细]
  • Hadoop的分布式架构改进与应用
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 各个组件confspark-env.sh配置spark的环境变量confspark-default.conf配置spark应用默认的配置项和spark-env.sh有重合之处,可在 ... [详细]
  • hadoop完全分布式搭建
    原文链接:hadoop完全分布式搭建主机分配以及地址要求:角色主机名IP地址Namenodemaster192.168.222.201Datanodeslave ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 工作原理_一文理解 Spark 基础概念及工作原理
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了一文理解Spark基础概念及工作原理相关的知识,希望对你有一定的参考价值。 ... [详细]
  • MapReduce的主要应用场景  可以转化为MR任务的条件:问题必须可以拆分子问题必须独立数据结构能够满足key-value的这样的模式  常见场景: ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
author-avatar
手机用户2502907057
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有