初识大数据技术之Hadoop

初识大数据技术之Hadoop

Hadoop概述

Hadoop官方文档
Hadoop官方文档


Apache™Hadoop®项目开发了用于可靠,可扩展的分布式计算的开源软件。
Apache Hadoop软件库是一个框架,该框架允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。而不是依赖硬件来提供高可用性,Apache Hadoop软件库本身旨在检测和处理应用程序层的故障,因此在计算机集群的顶部提供高可用的服务,每台计算机都容易出现故障。


包含的模块

Hadoop这个项目包含的模块主要有以下几个:

  • Hadoop Common : 主要用来支持其他Hadoop模块的通用工具。
  • Hadoop Distributed File System-(HDFS™):提供对应用程序数据可以进行高吞吐量访问的分布式文件系统。
  • Hadoop YARN:作业调度和集群资源管理的框架。
  • Hadoop MapReduce:一个基于YARN的系统,用于并行处理大数据集。
  • Hadoop Ozone:用于Hadoop的对象存储。
  • Hadoop Submarine:Hadoop的机器学习引擎。

相关项目

Apache的其他与Hadoop相关的项目包括:

  • Ambari™:一个基于Web的工具,用于配置,管理和监视Apache Hadoop集群,其中包括对Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。 Ambari还提供了一个仪表板,用于查看集群健康状况(例如热图)以及以可视方式查看MapReduce,Pig和Hive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能。
  • Avro™:一个数据序列化系统。
  • Cassandra™:一个可扩展的多主数据库,没有单点故障。
  • Chukwa™:一种用于管理大型分布式系统的数据收集系统。
  • HBase™:是一个可扩展的分布式数据库,支持大型表的结构化数据存储。
  • Hive™:提供数据汇总和即席查询的数据仓库基础设施。
    即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条件的。
  • Mahout™:一个可扩展的机器学习和数据挖掘库。
  • Pig™:用于并行计算的高级数据流语言和执行框架。
  • Spark™:用于Hadoop数据的快速通用计算引擎。 Spark提供了一个简单而富有表现力的编程模型,该模型支持广泛的应用程序,包括ETL,机器学习,流处理和图形计算。
  • Tez™:基于Hadoop YARN的通用数据流编程框架,提供了强大而灵活的引擎来执行任意DAG任务,以处理批处理和交互用例的数据。 Hadoop生态系统中的Hive™,Pig™和其他框架以及其他商业软件(例如ETL工具)都采用了Tez,以取代Hadoop™MapReduce作为基础执行引擎。
  • ZooKeeper™:面向分布式应用程序的高性能协调服务。

谁在使用Hadoop?

各种各样的公司和组织都将Hadoop用于研究和生产。 鼓励用户将自己添加到Hadoop PoweredBy Wiki页面。


Getting Started

Getting Started

Hadoop:搭建单节点集群

目的

本文档介绍了如何设置和配置单节点Hadoop安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单的操作。


必要的条件

  • 支持的平台
    • 支持GNU / Linux作为开发和生产平台。 Hadoop在具有2000个节点的GNU / Linux集群上得到了证明。
    • Windows也是受支持的平台,但是以下步骤仅适用于Linux。 要在Windows上设置Hadoop,请参见Wiki页面
  • 所需软件
    Linux所需的软件包括:
    • 必须要安装Java™。 HadoopJavaVersions中描述了推荐的Java版本
    • 如果要使用可选的启动和停止脚本,则必须安装ssh且sshd必须正在运行以使用管理远程Hadoop守护程序的Hadoop脚本。 另外,建议也安装pdsh以便更好地进行ssh资源管理。
  • 安装软件
    • 如果您的群集没有必需的软件,则需要安装它。
    • 例如在Ubuntu Linux上:

      $ sudo apt-get install ssh
      $ sudo apt-get install pdsh


下载软件

要获得Hadoop发行版,请从其中一个Apache Download Mirrors下载最新的稳定版本。


准备启动Hadoop集群

  • 解压缩下载的Hadoop发行版。在发行版中,编辑文件etc/hadoop/hadoop-env.sh这个文件并定义一些参数,如下所示:

#set to the root of your Java installation
export JAVA_HOME=/usr/java/latest

  • 尝试使用以下命令:

$ bin/hadoop


这将显示hadoop脚本的用法文档。
现在,您可以以三种支持的模式之一启动Hadoop集群:


本地运行模式的运行

默认情况下,Hadoop被配置为在非分布式模式下作为单个Java进程运行。 这对于我们的调试是很有用的。
下面的示例复制解压缩的conf目录以用作输入,然后查找并显示给定正则表达式的每个匹配项。输出被写入给定的输出目录。

$ mkdir input
$ cp etc/hadoop/.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output ‘dfs[a-z.]+’
$ cat output/


伪分布式运行模式运行

Hadoop也可以以伪分布式模式在单节点上运行,其中每个Hadoop守护程序都在单独的Java进程中运行。

相关的配置

我们要需要使用以下的配置:

  • etc/hadoop/core-site.xml:
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

  • etc/hadoop/hdfs-site.xml:
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

设置无密码SSH
  • 现在检查您是否可以在没有密码的情况下SSH到本地主机:

$ ssh localhost

  • 如果没有密码就无法SSH到本地主机,请执行以下命令:

$ ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys


执行相关的操作

以下说明是在本地运行MapReduce作业。如果要在YARN上执行作业,请参阅YARN on Single Node

  1. 格式化文件系统:

$ bin/hdfs namenode -format

  1. 启动NameNode守护程序和DataNode守护程序:

$ sbin/start-dfs.sh

hadoop守护程序日志输出将写入$ HADOOP_LOG_DIR目录(默认为$ HADOOP_HOME / logs)。

  1. 浏览Web界面以查找NameNode; 默认情况下,它在以下位置可用:

NameNode - http://localhost:9870/

  1. 设置执行MapReduce作业所需的HDFS目录:
  $ bin/hdfs dfs -mkdir /user
  $ bin/hdfs dfs -mkdir /user/<username>
  1. 将输入文件复制到分布式文件系统中:

$ bin/hdfs dfs -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input

  1. 运行提供的一些示例:

$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output ‘dfs[a-z.]+’

  1. 检查输出文件:将输出文件从分布式文件系统复制到本地文件系统并检查它们:

$ bin/hdfs dfs -get output output
$ cat output/*

要么,我们还可以查看分布式文件系统上的输出文件:

$ bin/hdfs dfs -cat output/*

  1. 完成后,我们就可以使用以下命令停止守护进程:

$ sbin/stop-dfs.sh

YARN运行在单节点上的相关设置

您可以通过设置一些参数并另外运行ResourceManager守护程序和NodeManager守护程序,以伪分布式模式在YARN上运行MapReduce作业。

假定上述指令instructions的1.〜4.已经执行。

  1. 配置如下的参数

etc/hadoop/mapred-site.xml:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>

etc/hadoop/yarn-site.xml:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</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>
</configuration>

  1. 启动ResourceManager守护程序和NodeManager守护程序:

$ sbin/start-yarn.sh

  1. 浏览Web界面以找到ResourceManager; 默认情况下,它在以下位置可用:

ResourceManager - http://localhost:8088/

  1. 运行MapReduce作业。
  2. 完成后,使用以下命令停止守护进程:

$ sbin/stop-yarn.sh


完全分布式模式的运行

有关配置完全分布式运行模式的信息,请参阅Cluster Setup

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 智慧社区背景与挑战 随着城市化的快速发展,社区面临健康、安全、邻里关系和服务质量等多方面的挑战。华为技术有限公司提出智慧社区解决方案,旨在通过先进的数字化技术应对这些问题,提升城市社区的生活质量。 2. 技术推动智慧社区发展 技术进步,特别是数字化、无线化、移动化和物联化,为城市社区的智慧化提供了可能。这些技术的应用不仅提高了社区的运行效率,也增强了居民的便利性和安全性。 3. 智慧社区的核心价值 智慧社区承载了智慧城市的核心价值,通过全面信息化处理,实现对城市各个方面的数字网络化管理、服务与决策功能,从而提升社会服务效率,整合社会服务资源。 4. 多层次、全方位的智慧社区服务 智慧社区通过构建和谐、温情、平安和健康四大社区模块,满足社区居民的多层次需求。这些服务模块包括社区医疗、安全监控、情感沟通和健康监测等。 5. 智慧社区技术框架 智慧社区技术框架强调统一平台的建设,设立数据中心,构建基础网络,并通过分层建设,实现平台能力及应用的可持续成长和扩展。 6. 感知统一平台与服务方案 感知统一平台是智慧社区的关键组成部分,通过统一的RFID身份识别和信息管理,实现社区服务的智能化和便捷化。同时,提供社区内外监控、紧急救助服务和便民服务等。 7. 健康社区的构建 健康社区模块专注于为居民提供健康管理服务,通过整合医疗资源和居民接入,实现远程医疗、慢性病管理和紧急救助等功能,推动医疗模式从治疗向预防转变。 8. 平安社区的安全保障 平安社区通过闭路电视监控、防盗报警和紧急求助等技术,保障社区居民的人身和财产安全,实现社区环境的实时监控和智能分析。 9. 温情社区的情感沟通 温情社区着重于建立社区居民间的情感联系,通过组织社区活动、一键呼叫服务和互帮互助平台,增强邻里间的交流和互助。 10. 和谐社区的资源整合 和谐社区作为社会资源的整合协调者,通过统一接入和身份识别,实现社区信息和服务的便捷获取,提升居民生活质量,促进社区和谐。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值