大数据:从入门到XX(三)

对APACHE的开源项目做了一个简单的分析之后,下一步就是去一窥hadoop的真容了。直接访问HADOOP官网地址,这里就是学习hadoop的官方渠道了,以下内容摘自官网:


    What Is Apache Hadoop?

The Apache Hadoop project develops open-source software for      reliable, scalable, distributed computing.

    The project includes these modules:

        Hadoop Common: The common utilities that support the other Hadoop modules.

        Hadoop Distributed File System (HDFS): A distributed file system that provides high-throughput access to application data.

        Hadoop YARN: A framework for job scheduling and cluster resource management.

        Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.

HADOOP对每个模块的描述都简介到位,无需赘言。目前,HADOOP项目有两个分支在同时发展,包括2.6.x和2.7.x。当前最新版本为2.7.2,点击此处可以下载。

点击官网首页的learn about,进入学习文档页面,也可以在二进制安装包中打开 .\hadoop-2.7.2\share\doc\hadoop\index.html文件。

hadoop部署一共包括三种模式:Local (Standalone) Mode、Pseudo-Distributed Mode、Fully-Distributed Mode,先从最简单的单机版入手。单机版的特点有三个:运行于本地文件系统、运行于单个java进程、有利于程序调试。

hadoop支持的操作系统,包括GNU/linux和windows两类,windows平台就不做探究了,我这边选用的是redhat linux 6.3版本。对于学习用的虚拟机,我一般是把所有能装的软件全部勾上,不给自己的学习制造麻烦。

hadoop 2.7.2 单机版安装过程:

1、确定操作系统版本

[[email protected] ~]# lsb_release -a
LSB Version:    :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 6.3 (Santiago)
Release:        6.3
Codename:       Santiago
[[email protected] ~]# uname -a
Linux localhost.localdomain 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

2、从网上下载确定java版本

hadoop2.7.2要求java版本为1.7以上,当前jdk可用版本为1.8.0_92,点击这里下载

3、检查linux上已安装的jdk,并移除已安装的jdk

[[email protected] ~]# rpm -qa |grep ‘openjdk‘
java-1.6.0-openjdk-javadoc-1.6.0.0-1.45.1.11.1.el6.x86_64
java-1.6.0-openjdk-devel-1.6.0.0-1.45.1.11.1.el6.x86_64
java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64

[[email protected] ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
[[email protected] ~]# rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.0-1.45.1.11.1.el6.x86_64
[[email protected] ~]# rpm -e --nodeps java-1.6.0-openjdk-javadoc-1.6.0.0-1.45.1.11.1.el6.x86_64

4、安装jdk1.8.0_92

[[email protected] local]# rpm -ivh jdk-8u92-linux-x64.rpm
Preparing...                ########################################### [100%]
   1:jdk1.8.0_92            ########################################### [100%]
Unpacking JAR files...
        tools.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...

5、修改/etc/profile文件,在文件末尾增加 6行信息

[[email protected] etc]# vi /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_92
JRE_HOME=/usr/java/jdk1.8.0_92/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

6、让修改后的环境变量生效

[[email protected] etc]# source /etc/profile

7、增加hadoop组,增加hadoop用户,并修改hadoop用户密码

[[email protected] ~]# groupadd hadoop
[[email protected] ~]# useradd -m -g hadoop hadoop
[[email protected] ~]# passwd hadoop

8、解压hadoop安装包到hadoop用户根目录

[[email protected] ~]$ tar xxvf hadoop-2.7.2.tar.gz

9、在hadoop用户下设置环境变量,在文件末尾增加下面两行内容


[[email protected] ~]$ vi .bash_profile

export HADOOP_COMMON_HOME=~/hadoop-2.7.2

export PATH=$PATH:~/hadoop-2.7.2/bin:~/hadoop-2.7.2/sbin

10、使环境变量修改生效

[[email protected] ~]$ source .bash_profile

11、执行测试任务,根据正则表达式匹配在input目录下文件中出现的次数

[[email protected] ~]$ mkdir input
[[email protected] ~]$ cp ./hadoop-2.7.2/etc/hadoop/*.xml input
[[email protected] ~]$ hadoop jar ./hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output ‘der[a-z.]+‘
16/03/11 11:11:39 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
16/03/11 11:11:40 INFO Configuration.deprecation: session.id is deprecated. Instead, use dfs.metrics.session-id
16/03/11 11:11:40 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
16/03/11 11:11:40 INFO input.FileInputFormat: Total input paths to process : 8
16/03/11 11:11:40 INFO mapreduce.JobSubmitter: number of splits:8
......
......
16/03/11 11:14:35 INFO mapreduce.Job: Counters: 30
        File System Counters
                FILE: Number of bytes read=1159876
                FILE: Number of bytes written=2227372
                FILE: Number of read operations=0
                FILE: Number of large read operations=0
                FILE: Number of write operations=0
        Map-Reduce Framework
                Map input records=8
                Map output records=8
                Map output bytes=228
                Map output materialized bytes=250
                Input split bytes=116
                Combine input records=0
                Combine output records=0
                Reduce input groups=2
                Reduce shuffle bytes=250
                Reduce input records=8
                Reduce output records=8
                Spilled Records=16
                Shuffled Maps =1
                Failed Shuffles=0
                Merged Map outputs=1
                GC time elapsed (ms)=59
                Total committed heap usage (bytes)=265175040
        Shuffle Errors
                BAD_ID=0
                CONNECTION=0
                IO_ERROR=0
                WRONG_LENGTH=0
                WRONG_MAP=0
                WRONG_REDUCE=0
        File Input Format Counters
                Bytes Read=390
        File Output Format Counters
                Bytes Written=192

12、查看分析结果,显示正常内容

[[email protected] ~]$ rm -rf output/
[[email protected] ~]$ cat output/*
2       der.
1       der.zookeeper.path
1       der.zookeeper.kerberos.principal
1       der.zookeeper.kerberos.keytab
1       der.zookeeper.connection.string
1       der.zookeeper.auth.type
1       der.uri
1       der.password

13、如果再次测试,需要先移除output目录

[[email protected] ~]$ rm -rf output/
时间: 2024-08-07 00:17:27

大数据:从入门到XX(三)的相关文章

大数据开发入门你必须知道的事情

昨天和三个学计算机专业的学生聊天时聊到了大数据开发方面的话题,他们三个人中,有两个已经进入企业开始工作,另外一个还是大二学生,但已经开设了自己的工作室.他们都是从事程序开发方面工作的.大数据开发自然都有关注到,只是目前的大数据技能水平只能说是"小菜鸟"吧,连入门还谈不上.当然了,大数据开发方面我也只能算是个"小学生",也是跟在师傅后面学.自然hadoop.区块链火了以后,发现很多从事程序开发的"码农"朋友们也陆续投入到大数据开发的怀抱.对于有多年

大数据时代的用户信息安全三原则

几年前,雷·库兹韦尔写过一本书叫做<奇点临近>.他说,人类文明经过这么多年发展,在本世纪的中叶会经过一个点,这个点,就是奇点.奇点是一个拐点,也就是说人类文明可能会进入一个分岔,可能会进入一个新的文明高度,也可能会急转直下,人类就此灭亡.所以奇点有双重的含义,有可能变得更好,也有可能变得更糟糕. 进入微软.亚马逊,谷歌等美国IT企业工作人才项目,起薪40万,百度搜索(MUMCS) 我认为随着大数据时代的到来,互联网也将走到一个奇点,而安全将决定互联网走过这个奇点之后,到底是向上走到一个新高度,

[大数据从入门到放弃系列教程]第一个spark分析程序

文章施工中,由于部分网站会在我还没有写完就抓取到这篇文章,导致你看到的内容不完整,请点击这里: 或者复制访问 http://www.cnblogs.com/blog5277/p/8580007.html 来查看更完整的内容 [大数据从入门到放弃系列教程]第一个spark分析程序 原文链接:http://www.cnblogs.com/blog5277/p/8580007.html 原文作者:博客园--曲高终和寡 *********************分割线******************

4个V:Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值)。以大数据为核心的第三次科技革命已经到来,王家林老师免费为大家培训大数据。

王家林的第一个中国梦:免费为全社会培养100万名优秀的大数据从业人员! 您可以通过王家林老师的微信号18610086859发红包捐助大数据.互联网+.O2O.工业4.0.微营销.移动互联网等系列免费实战课程,目前已经发布的王家林免费视频全集如下: 1,<大数据不眠夜:Spark内核天机解密(共100讲)>:http://pan.baidu.com/s/1eQsHZAq 2,<Hadoop深入浅出实战经典>http://pan.baidu.com/s/1mgpfRPu 3,<S

自学大数据如何入手?大数据学习入门看什么书?

2018年,火爆的科技层出不穷,大数据.云计算.人工智能.区块链等等都被侃侃而谈.尤其是大数据工程师更是深受程序员的青睐,如此火爆的职业,吸引了大批有志青年的加入.但在加入之前,你仍需要一份详细的就业前景分析报告. 作为中国官方重点扶持的战略性新兴产业,大数据产业已逐步从概念走向落地"大数据"和"虚拟化"两大热门领域得到了广泛关注和重视,90%企业都在使用大数据. 财政大数据包括:公安大数据.质检大数据.食品安全大数据.卫生大数据.共商大数据.民政大数据: 企业大数

大数据hadoop入门之hadoop家族详解

大数据这个词也许几年前你听着还会觉得陌生,但我相信你现在听到hadoop这个词的时候你应该都会觉得"熟悉"!越来越发现身边从事hadoop开发或者是正在学习hadoop的人变多了.作为一个hadoop入门级的新手,你会觉得哪些地方很难呢?运行环境的搭建恐怕就已经足够让新手头疼.如果每一个发行版hadoop都可以做到像大快DKHadoop那样把各种环境搭建集成到一起,一次安装搞定所有,那对于新手来说将是件多么美妙的事情!闲话扯得稍微多了点,回归整体.这篇准备给大家hadoop新入门的朋友

大数据怎么入门

一.如何区分三个大数据热门职业--数据科学家.数据工程师.数据分析师 随着大数据的愈演愈热,相关大数据的职业也成为热门,给人才发展带来带来了很多机会.数据科学家.数据工程师.数据分析师已经成为大数据行业最热门的职位.它们是如何定义的?具体是做什么工作的?需要哪些技能?让我们一起来看看吧. 这3个职业是如何定位的? 对大数据以及人工智能概念都是模糊不清的,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实

Spark 大数据中文分词统计(三) Scala语言实现分词统计

Java版的Spark大数据中文分词统计程序完成之后,又经过一周的努力,把Scala版的Spark 大数据中文分词统计程序也搞出来了,在此分享给各位想学习Spark的朋友. 如下是程序最终运行的界面截图,和Java版差别不大: 如下是Scala工程结构: 当你在工程主类文件WordCounter.scala上单击右键,选择Run As Scala Application: 然后选择唐诗宋词进行分词统计,就会出现前面显示的分词结果. 工程代码已经上传CSDN:http://download.csd

大数据架构和模式(三)——理解大数据解决方案的架构层

摘要:大数据解决方案的逻辑层可以帮助定义和分类各个必要的组件,大数据解决方案需要使用这些组件来满足给定业务案例的功能性和非功能性需求.这些逻辑层列出了大数据解决方案的关键组件,包括从各种数据源获取数据的位置,以及向需要洞察的流程.设备和人员提供业务洞察所需的分析. 概述 这个 “大数据架构和模式” 系列的 第 2 部分 介绍了一种评估大数据解决方案可行性的基于维度的方法.如果您已经使用上一篇文章中的问题和提示分析了自己的情况,并且已经决定开始构建新的(或更新现有的)大数据解决方案,那么下一步就是

大数据架构和模式(三)理解大数据解决方案的架构层

本文件收藏于:http://kb.cnblogs.com/page/510980/ 作者: Divakar等  来源: DeveloperWorks  发布时间: 2015-01-29 18:21   推荐: 0   原文链接   [收藏] 摘要:大数据解决方案的逻辑层可以帮助定义和分类各个必要的组件,大数据解决方案需要使用这些组件来满足给定业务案例的功能性和非功能性需求.这些逻辑层列出了大数据解决方案的关键组件,包括从各种数据源获取数据的位置,以及向需要洞察的流程.设备和人员提供业务洞察所需的