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

Hadoop学习笔记一基础知识及常用命令

今天开始对Hadoop进行系统化的学习。此博文系列将会记录我的学习过程。了解Hadoop简介Hadoop目前属于Apache基金会,是针对海量数据处理的理想工具。我的学习教材主要是H

今天开始对Hadoop进行系统化的学习。此博文系列将会记录我的学习过程。

了解Hadoop

简介

 Hadoop目前属于Apache基金会,是针对海量数据处理的理想工具。我的学习教材主要是Hadoop权威指南(中文版)。
 Hadoop起源于Nutch,在Yahoo的帮助下,Nutch的分布式运算这部分被独立出来,命名为Hadoop。Hadoop克隆了Google运行系统的主要框架,包括文件系统HDFS、计算架构MapReduce及结构化数据处理的HBase等。
Hadoop最核心的设计就是HDFS和MapReduce
Hadoop的知识体系:
http://lib.csdn.net/base/20/structure
Hadoop生态:
这里写图片描述

hadoop文档地址:
http://hadoop.apache.org/docs/r1.0.4/cn/index.html

工作原理

 海量数据处理的一重要问题是当前数据访问速度比较慢,一个1T的硬盘要读取整体磁盘花费的时间可能需要2个半小时以上。为了提高访问速度,一个有效的方式是并行访问多块硬盘,让数据冗余放置。要解决的问题是:

  • 问题一、硬件故障:解决方法,复制冗余放置数据。
  • 问题二、数据合并

    • 海量数据存储 HDFS实现
    • 数据分析由MapReduce实现
    • 非结构化数据收集处理——Fuse、WebDAV、Chukwa、Flume、Scribe。
    • 数据导入HDFS中,RDBSM也可以加入到HDFS——HHO、Sqoop。
    • 数据处理还可以使用Pig Hive Jaql。
    • 让数据可见——Drilldown、Intellicus。
    • 用高级语言管理你的任务流——Oozie、Cascading。
    • Hadoop自己监控管理工具——Hue、Karmasphere、Eclipse plugin、Cacti、Ganglia。
    • 数据序列化处理与任务调度——Avro、ZooKeeper。
    • 构建在Hadoop上层的服务——Mahout、Elastic map reduce。
    • OLTP存储系统——Hbase。
    • 基于Hadoop的实时分析——Impala。

关系型数据库与MapReduce比较:

项目 关系型数据库 MapReduce
数据大小 GB PB
访问 交互型和批处理 批处理
更新 多次读写 一次写入多次读取
结构 静态模式 动态模式
集成度
伸缩性 非线性 线性
结构化数据数量 结构化数据 可以有效处理大结构化数据

Hadoop常用项目

  • Hive 基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整 SQL 查询功能,可以将SQL语句转换为MapReduce任务进行运行。
  • Pig 基于Hadoop的大规模数据分析平台。
  • Mahout 提供一些可扩展的机器学习领域经典算法的实现。
  • Flume Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合、传输的系统。
  • Sqoop 将Hadoop和关系型数据库中的数据相互转移的工具,可以将关系型数据库中的数据导入Hadoop的HDFS中。
  • Oozie JavaWeb应用程序,运行Tomcat中,并使用数据库来存储工作流。
  • ZooKeeper 针对大型分布式系统的可靠协调系统。
  • Impala 采用与Hive相同的元数据、SQL语法、ODBC驱动程序和用户接口。

Hadoop安装方式
  • 单机模式:安装简单
  • 伪分布式模式 :单节点上同时启动NameNode、DataNode、JobTracker、TaskTracker、Secondary Namenode等5个进程 , 模拟分布式运行的各个节点。
  • 完全分布式模式

常用命令

格式化namenode

hdfs namenode -format

*列出文件

hdfs dfs -ls /

修改hdfs权限

hdfs dfs -chmod -R 755 /

修改所有者

hdfs dfs -chown -R larry /

解除安全模式

hdfs dfsadmin -safemode leave

改变文件所属组

hdfs dfs -chgrp [-R] GROUP URI

这里也记录了一部分命令:
http://blog.csdn.net/xundh/article/details/50905100#t30

Hadoop 安全问题

认证优先级

user获取
优先从kerberos获取(kerberos模式);
从系统HADOOP_USER_NAME变量获取;
从java属性HADOOP_USER_NAME获取;
获取操作系统当前用户
group获取
从定义的group映射关系获取hadoop.user.group.static.mapping.overrides;
从配置的group映射 类获取(hadoop.security.group.mapping);
从系统groups user获取

如果出现:
这里写图片描述
Access denied for user hadoop.Superuser privilege is required
这时可以看看

echo $HADOOP_USER_NAME
vi ~/bash_profile
export HADOOP_USER_NAME=root
source ~/bash_profile

这样就把当前用户切换为root了。


推荐阅读
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 探索Web 2.0新概念:Widget
    尽管你可能尚未注意到Widget,但正如几年前对RSS的陌生一样,这一概念正逐渐走入大众视野。据美国某权威杂志预测,2007年将是Widget年。本文将详细介绍Widget的定义、功能及其未来发展趋势。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
author-avatar
果果干儿_116
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有