Hadoop实战(win7怎么安装hadoop谢谢!)

2024-06-18 02:30:02 :22

hadoop实战(win7怎么安装hadoop谢谢!)

各位老铁们好,相信很多人对hadoop实战都不是特别的了解,因此呢,今天就来为大家分享下关于hadoop实战以及win7怎么安装hadoop谢谢!的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

win7怎么安装hadoop谢谢!

环境及软件准备:win7(64位)cygwin 1.7.9-1jdk-6u25-windows-x64.ziphadoop-0.20.2.tar.gz1.安装jdk,并置java环境变量包括:JAVA_HOME,PATH,CLASSPATH2.安装Hadoop,版本为0.20.2,我是直接放到/home目录下,并解压tar –zxvfhadoop-0.20.2.tar.gz3.配置Hadoop,需要修改hadoop的配置文件,它们位于conf子目录下,分别是hadoop-env.sh、core-site.xml、hdfs-site.xml和mapred-site.xml(1) 修改hadoop-env.sh:只需要将JAVA_HOME 修改成JDK 的安装目录即可exportJAVA_HOME=/cygdrive/d/java/jdk1.6.0_25(注意:路径不能是windows 风格的目录d:\java\jdk1.6.0_25,而是LINUX风格/cygdrive/d/java/jdk1.6.0_25)(2) 修改core-site.xml:(指定namenode)fs.default.namehdfs://localhost:9000(3)修改hdfs-site.xml(指定副本为1)dfs.replication1(4) 修改mapred-site.xml (指定jobtracker)mapred.job.trackerlocalhost:90014.验证安装是否成功,并运行Hadoop(1) 验证安装$ bin/hadoopUsage: hadoop COMMANDwhere COMMAND is one of:namenode -format format the DFS filesystemsecondarynamenode run the DFS secondary namenodenamenode run the DFS namenodedatanode run a DFS datanodedfsadmin run a DFS admin clientmradmin run a Map-Reduce admin clientfsck run a DFS filesystem checking utilityfs run a generic filesystem user clientbalancer run a cluster balancing utilityjobtracker run the MapReduce job Tracker nodepipes run a Pipes jobtasktracker run a MapReduce task Tracker nodejob manipulate MapReduce jobsqueue get information regarding JobQueuesversion print the versionjar run a jar filedistcp copy file or directories recursivelyarchive -archiveName NAME * create a hadoop archivedaemonlog get/set the log level for each daemonorCLASSNAME run the class named CLASSNAMEMost commands print help when invoked w/o parameters.(2) 格式化并启动Hadoopbin/hadoop namenode –formatbin/start-all.sh(3) 查看Hadoop命令行查看:$ jps1608 NameNode6572 Jps6528 JobTracker(注意:win7下cygwin中DateNode和TaskTracker进程是无法显示的,好像是cygwin的问题)

hadoop大数据行业部署实战实验室代码怎么删除

如果原来的集群中有大量数据可以使用升级命令,而不必删除,升级命令可以参考官方网站,一般删除源文件夹就可,同时删除/tmp下的关于hadoop的目录以及文件,如果配置了hadoop_tmp目录,也需要删除就可以

Hadoop实战的内容简介

作为云计算所青睐的分布式架构,Hadoop是一个用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,是谷歌实现云计算的重要基石。《Hadoop实战》分为3个部分,深入浅出地介绍了Hadoop框架、编写和运行Hadoop数据处理程序所需的实践技能及Hadoop之外更大的生态系统。  《Hadoop实战》适合需要处理大量离线数据的云计算程序员、架构师和项目经理阅读参考。

Hadoop实战的作品目录

第一部分 Hadoop——一种分布式编程框架第1章 Hadoop简介 21.1 为什么写《Hadoop 实战》 31.2 什么是Hadoop 31.3 了解分布式系统和Hadoop 41.4 比较SQL数据库和Hadoop 51.5 理解MapReduce 61.5.1 动手扩展一个简单程序 71.5.2 相同程序在MapReduce中的扩展 91.6 用Hadoop统计单词——运行第一个程序 111.7 Hadoop历史 151.8 小结 161.9 资源 16第2章 初识Hadoop 172.1 Hadoop的构造模块 172.1.1 NameNode 172.1.2 DataNode 182.1.3 Secondary NameNode 192.1.4 JobTracker 192.1.5 TaskTracker 192.2 为Hadoop集群安装SSH 212.2.1 定义一个公共账号 212.2.2 验证SSH安装 212.2.3 生成SSH密钥对 212.2.4 将公钥分布并登录验证 222.3 运行Hadoop 222.3.1 本地(单机)模式 232.3.2 伪分布模式 242.3.3 全分布模式 252.4 基于Web的集群用户界面 282.5 小结 30第3章 Hadoop组件 313.1 HDFS文件操作 313.1.1 基本文件命令 323.1.2 编程读写HDFS 353.2 剖析MapReduce程序 373.2.1 Hadoop数据类型 393.2.2 Mapper 403.2.3 Reducer 413.2.4 Partitioner:重定向Mapper输出 413.2.5 Combiner:本地reduce 433.2.6 预定义mapper和Reducer类的单词计数 433.3 读和写 433.3.1 InputFormat 443.3.2 OutputFormat 493.4 小结 50第二部分 实战第4章 编写MapReduce基础程序 524.1 获得专利数据集 524.1.1 专利引用数据 534.1.2 专利描述数据 544.2 构建MapReduce程序的基础模板 554.3 计数 604.4 适应Hadoop API的改变 644.5 Hadoop的Streaming 674.5.1 通过Unix命令使用Streaming 684.5.2 通过脚本使用Streaming 694.5.3 用Streaming处理键/值对 724.5.4 通过Aggregate包使用Streaming 754.6 使用combiner提升性能 804.7 温故知新 834.8 小结 844.9 更多资源 84第5章 高阶MapReduce 855.1 链接MapReduce作业 855.1.1 顺序链接MapReduce作业 855.1.2 具有复杂依赖的MapReduce链接 865.1.3 预处理和后处理阶段的链接 865.2 联结不同来源的数据 895.2.1 Reduce侧的联结 905.2.2 基于DistributedCache的复制联结 985.2.3 半联结:map侧过滤后在reduce侧联结 1015.3 创建一个Bloom filter 1025.3.1 Bloom filter做了什么 1025.3.2 实现一个Bloom filter 1045.3.3 Hadoop 0.20以上版本的Bloom filter 1105.4 温故知新 1105.5 小结 1115.6 更多资源 112第6章 编程实践 1136.1 开发MapReduce程序 1136.1.1 本地模式 1146.1.2 伪分布模式 1186.2 生产集群上的监视和调试 1236.2.1 计数器 1236.2.2 跳过坏记录 1256.2.3 用IsolationRunner重新运行出错的任务 1286.3 性能调优 1296.3.1 通过combiner来减少网络流量 1296.3.2 减少输入数据量 1296.3.3 使用压缩 1296.3.4 重用JVM 1326.3.5 根据猜测执行来运行 1326.3.6 代码重构与算法重写 1336.4 小结 134第7章 细则手册 1357.1 向任务传递作业定制的参数 1357.2 探查任务特定信息 1377.3 划分为多个输出文件 1387.4 以数据库作为输入输出 1437.5 保持输出的顺序 1457.6 小结 146第8章 管理Hadoop 1478.1 为实际应用设置特定参数值 1478.2 系统体检 1498.3 权限设置 1518.4 配额管理 1518.5 启用回收站 1528.6 删减DataNode 1528.7 增加DataNode 1538.8 管理NameNode和SNN 1538.9 恢复失效的NameNode 1558.10 感知网络布局和机架的设计 1568.11 多用户作业的调度 1578.11.1 多个JobTracker 1588.11.2 公平调度器 1588.12 小结 160第三部分 Hadoop也疯狂第9章 在云上运行Hadoop 1629.1 Amazon Web Services简介 1629.2 安装AWS 1639.2.1 获得AWS身份认证凭据 1649.2.2 获得命令行工具 1669.2.3 准备SSH密钥对 1689.3 在EC2上安装Hadoop 1699.3.1 配置安全参数 1699.3.2 配置集群类型 1699.4 在EC2上运行MapReduce程序 1719.4.1 将代码转移到Hadoop集群上 1719.4.2 访问Hadoop集群上的数据 1729.5 清空和关闭EC2实例 1759.6 Amazon Elastic MapReduce和其他AWS服务 1769.6.1 Amazon Elastic MapReduce 1769.6.2 AWS导入/导出 1779.7 小结 177第10章 用Pig编程 17810.1 像Pig一样思考 17810.1.1 数据流语言 17910.1.2 数据类型 17910.1.3 用户定义函数 17910.2 安装Pig 17910.3 运行Pig 18010.4 通过Grunt学习Pig Latin 18210.5 谈谈Pig Latin 18610.5.1 数据类型和schema 18610.5.2 表达式和函数 18710.5.3 关系型运算符 18910.5.4 执行优化 19610.6 用户定义函数 19610.6.1 使用UDF 19610.6.2 编写UDF 19710.7 脚本 19910.7.1 注释 19910.7.2 参数替换 20010.7.3 多查询执行 20110.8 Pig实战——计算相似专利的例子 20110.9 小结 206第11章 Hive及Hadoop群 20711.1 Hive 20711.1.1 安装与配置Hive 20811.1.2 查询的示例 21011.1.3 深入HiveQL 21311.1.4 Hive小结 22111.2 其他Hadoop相关的部分 22111.2.1 HBase 22111.2.2 ZooKeeper 22111.2.3 Cascading 22111.2.4 Cloudera 22211.2.5 Katta 22211.2.6 CloudBase 22211.2.7 Aster Data和Greenplum 22211.2.8 Hama和Mahout 22311.3 小结 223第12章 案例研究 22412.1 转换《纽约时报》1100万个库存图片文档 22412.2 挖掘中国移动的数据 22512.3 在StumbleUpon推荐最佳网站 22912.3.1 分布式StumbleUpon的开端 23012.3.2 HBase和StumbleUpon 23012.3.3 StumbleUpon上的更多Hadoop应用 23612.4 搭建面向企业查询的分析系统——IBM的ES2项目 23812.4.1 ES2系统结构 24012.4.2 ES2爬虫 24112.4.3 ES2分析 24212.4.4 小结 24912.4.5 参考文献 250附录A HDFS文件命令 251

Hadoop 压缩从理论到实战

在大数据领域,无论上层计算引擎采用的是什么,在存储过程中,压缩都是一个避不开的问题。合适的压缩选择可以降低存储成本、减少网络传输I/O。而错误的压缩选择则可能让 cpu 负荷达到瓶颈、降低并发度等等,所以是否选择压缩、选择什么压缩格式在大数据存储环节中都是一个至关重要的问题。

点评:压缩时间和压缩率之间的取舍本质上是 cpu 资源和存储资源的取舍。是否需要支持分片也不是绝对的,如果单个文件大小均小于 splitSize,则没必要支持分片。

点评:一阶段考虑尽可能支持分片(单个文件大于 splitSize 时)。二阶段考虑尽可能快的压缩速度。三阶段根据是作为长期归档(几乎不用)or 作为下一作业输入,考虑尽可能高的压缩能力 or 支持分片。

点评:有两点需要注意,第一点:这里的速度和压缩率没有具体测试数据,而是给出了一个模糊的表达。因为即使具体测试了速度和压缩率,也会因数据不同而结果有很大的差异。后面会给出测试的脚本,大家可以结合自己的表数据自行测试。第二点:有些压缩格式性能参数很相似,为什么 Hadoop 中要搞这么多种?较为直观的一个原因是:不同存储格式支持的压缩是不一样的,比如 orc 存储格式只支持 zlib 和 snappy 两种压缩

以下摘自《Hadoop The Definitive Guide》

重点阅读文中加粗片段。大致意思是:因为 gzip 压缩格式使用的 DEFLATE 压缩算法没办法做到随机任意读取,必须同步顺序读取。也就意味着没办法为每一个 block 创建一个分片(split),然后为该分片启一个 mapper 去读取数据。所以即使 gzip 文件有很多 block,MR 程序也只会启动一个 Mapper 去读取所有的 block。也即 gzip 这种压缩格式不支持分片。相反的,如果压缩格式使用的算法支持随机任意读取,那么就可以为每一个 block 创建一个分片,同时启动一个 mapper 去读取数据,这样有多少个 block 就有多少个分片,就有多少个 mapper ,这些 mapper 并行读取数据,效率大大提升。上述涉及到几个小概念,接下来分别进行详述。

一句话总结: zlib、gzip 在大数据语境中都是一种 压缩格式 ,他们使用相同的 压缩算法: DEFLATE,DefaultCodec 是 zlib 使用的 编解码器 ,Gzip 使用的编解码器是 GzipCodec

我们知道,Hadoop 在任务切分时,是按照文件的粒度进行的。即一个文件一个文件进行切分。而每一个文件切分成几块,取决于 splitSize 的大小。比如两个文件,第一个文件 300M,第二个文件150M。分片大小是128M,那么对于第一个文件将会切分成3片(128M,128M,44M),第二个文件会切分成2片(128M,22M)。共计5片。所以分片数量除了由文件数决定,另一个决定因素就是 splitSize 即分片大小。

splitSize 如何计算?

几个前提:

影响参数:

接下来进行实际验证:

经过了 2.4.2 中的一系列实验,验证了一个结论:当一个输入格式支持分片时,mapper 数量是无限制的,反之 mapper 数量小于等于文件的数量。所以我们可以通过设置参数来试图调小分片大小来增加 mapper 数量看其上限是否等于文件数量即可。假如输入的文件个数只有一个,那么当 mapper 数量大于1的时候,说明该输入格式是支持分片的。

大家可以根据自己数据集和想测试的压缩和存储格式自行修改脚本。通过以上脚本跑出来的结果如下:

由 2.1 中评价压缩的三项指标可知,压缩率、压缩/解压速度、是否支持分片是衡量压缩最重要的三项指标。3.1.1小节中只对压缩率进行了测试。压缩/解压速度可以通过跑一些查询语句进一步测试。这里就不展开测试了。业界中常用的存储格式一般是 parquet, orc,所以上面测试除了纯文本只测试了这两种存储格式。

我们可以通过 hive》 set io.compression.codecs; 来查看当前Hadoop集群支持的压缩,在公司的集群中查询得到的结果是:

可以看到 lzo 有两种编解码器: LzoCodec 和 LzopCodec。他们之间有什么区别呢?

如果你阅读过关于 Hadoop 压缩的文章,应该可以看到,绝大多数文章中对于 snappy 是否支持分片都是直接给出的否定的答案。 CDH 的文档中也指出来 snappy 是不支持分片的。

看文中加粗片段,虽然 snappy 本身是不支持分片的,但是如果 snappy 存储在一些特定的存储格式比如 SequenceFile 或者 Avro 中,那么是可以支持分片的。也就是说 snappy 是否支持分片是分情况讨论的。不能说使用了 snappy 压缩就一定不支持分片。前面提到了,业界中常用的存储格式一般是 parquet 或者 orc,而上面 CDH 的文章中恰恰没有提到 parquet 和 orc 是否支持,接下来以 parquet 为例,进行测试。测试内容即为 parquet + snappy 组合,是否支持分片。 首先准备数据,因为之前做压缩率测试,已经有了 parquet + snappy 文件了,这里直接拿来用。

一共3个输入文件,启了6个mapper,说明输入文件是可以分片的。即 parquet + snappy 的组合是支持分片的。在《Hadoop The Definitive Guide》中也对 parquet 是否支持分片有说明:

以 mapreduce.output.fileoutputformat.compress.codec 为例,这个参数可以在三个地方配置:

那么当三者都设置时,以哪个为准呢?按照经验来看,一定是粒度小的优先级大于粒度大的优先级。经过测试也验证了这种猜测。即:表级别 》 hive 》 hadoop

初学者往往容易混淆存储格式和压缩格式之间的关系,其实二者是完全独立的。如果完整的阅读了该篇文章,应该已经消除了这一块理解对误区。这里总结一下:比如 parquet, orc,他们都是常见的 存储格式 。是否使用压缩,使用何种压缩都是可以设置的。而 zlib、gzip、lzo、lz4、snappy 等等这些都是常见的 压缩格式 ,他们既可以依附于某些 存储格式 ,比如之前提到的 parquet + snappy,orc + zlib 等等。也可以脱离特定的 存储格式 ,比如纯文本文件进行压缩,text + parquet, text + bzip2 等等。

学习Hadoop的书,比较适合实战的

深入浅出Hadoop实战开发(HDFS实战图片、MapReduce、HBase实战、Hive应用) 教程,现在看书不流行了~权威指南,译文版的实战,中文的实战我都入了!个人感觉权威指南入门较难,但适合各个层面的人,值得深入研究!

关于hadoop实战,win7怎么安装hadoop谢谢!的介绍到此结束,希望对大家有所帮助。

hadoop实战(win7怎么安装hadoop谢谢!)

本文编辑:admin
hadoop实战 ,oop
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.