【趣学程序】Hadoop安装运行

2019-07-27 18:28:10 浏览数 (1)

介绍

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

  1. Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。
  2. MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。

Hadoop的框架最核心的设计就是: HDFSMapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

Google的三篇论文

谈Hadoop的起源,了解一下google的三篇论文:

  • Google FS ——> HDFS

GoogleFileSystem这是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,提供容错功能。

  • MapReduce

Mapreduce是针对分布式并行计算的一套编程模型。

  • BigTable ——> HBase

Bigtable启发了无数的NoSQL数据库,比如:Cassandra、HBase等等。BigTable 是建立在 GFS 和 MapReduce 之上的。

官网

http://hadoop.apache.org/ 下载页:https://hadoop.apache.org/releases.html

上传安装包到Linux

安装Hadoop之前,要保证你的java环境是安装成功的

解压并进入到目录下

代码语言:javascript复制
[root@hadoop101 software]# tar -zxf hadoop-2.7.2.tar.gz -C /opt/module/[root@hadoop101 software]# ls /opt/module/hadoop-2.7.2  [root@hadoop101 software]# ls /opt/module/hadoop-2.7.2  $ cd /opt/module/hadoop-2.7.7/

配置JAVA_HOME 位置

在/opt/module/hadoop-2.7.2/etc/hadoop路径下配置hadoop-env.sh

代码语言:javascript复制
    (1)Linux系统中获取jdk的安装路径:        [root@hadoop101 jdk1.8.0_144]# echo $JAVA_HOME        /opt/module/jdk1.8.0_144
    (2)修改hadoop-env.sh文件中JAVA_HOME 路径:        [root@hadoop101 hadoop]# vi hadoop-env.sh        修改JAVA_HOME如下        export JAVA_HOME=/opt/module/jdk1.8.0_144

将hadoop添加到环境变量

代码语言:javascript复制
    (1)获取hadoop安装路径:            [root@ hadoop101 hadoop-2.7.2]# pwd            /opt/module/hadoop-2.7.2

    (2)打开/etc/profile文件:            [root@ hadoop101 hadoop-2.7.2]# vi /etc/profile                    在profie文件末尾添加jdk路径:(shitf g)
            ##HADOOP_HOME            export HADOOP_HOME=/opt/module/hadoop-2.7.2            export PATH=$PATH:$HADOOP_HOME/bin            export PATH=$PATH:$HADOOP_HOME/sbin           
    (4)让修改后的文件生效:.        [root@ hadoop101 hadoop-2.7.2]# source /etc/profile    (5)测试是否安装成功    [root@ hadoop101 hadoop-2.7.2]$ hadoop version        Hadoop 2.7.2

运行Hadoop的三大模式之本地模式:

这是hadoop的默认运行模式,不需要启用单独进程,直接可以运行,一般用来测试和开发时使用。

运行官方grep案例

代码语言:javascript复制
    1)创建在hadoop-2.7.7文件下面创建一个input文件夹    2)将hadoop的xml配置文件复制到input    3)执行share目录下的mapreduce程序    4)查看输出结果

代码示例:

代码语言:javascript复制
[shaofei@hadoop128 hadoop-2.7.7]$ mkdir input[shaofei@hadoop128 hadoop-2.7.7]$ cp -r etc/hadoop/*.xml input/[shaofei@hadoop128 hadoop-2.7.7]$ ll input/[shaofei@hadoop128 hadoop-2.7.7]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar grep input/ output 'dfs[a-z.] '[shaofei@hadoop128 hadoop-2.7.7]$ cat output/*

官方wordcount案例

代码语言:javascript复制
1)创建在hadoop-2.7.7文件下面创建一个wcinput文件夹2)在wcinput文件下创建一个wc.input文件3)编辑wc.input文件4)回到hadoop目录/opt/module/hadoop-2.7.75)执行程序,统计单词出现的次数6)查看结果:

代码示例:

代码语言:javascript复制
    [shaofei@hadoop128 hadoop-2.7.7]$ mkdir wcinput    [shaofei@hadoop128 hadoop-2.7.7]$ vim wcinput/input.input
    java    java    java    hadoop    hadoop    python    pyfysf    upuptop    java    lll    haha    helloworld
:wq

    [shaofei@hadoop128 hadoop-2.7.7]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount wcinput/ wcoutput
    [shaofei@hadoop128 hadoop-2.7.7]$ cat wcoutput/*
    hadoop    2    haha    1    helloworld    1    java    4    lll    1    pyfysf    1    python    1    upuptop    1

0 人点赞