您的足迹:首页 > Hadoop系列 >【Hadoop】Hadoop安装(一)

【Hadoop】Hadoop安装(一)

1、Hadoop简介

1.1、简介

Hadoop是一个大数据集的分布式处理架构Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称(HDFS)

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

1.2、运行环境

运行操作系统:Linux

运行环境:JDK(1.6)以上版本

2、Hadoop优缺点

可靠性

Hadoop可以维护多个工作数据的副本,确保能够针对失败的节点重新分布处理。

高效性

Hadoop以并行的方式工作,通过并行处理加快处理速度。

可伸缩

能够处理PB级数据

低成本

Hadoop是开源的。

3、运行环境安装

JDK安装

http://www.hack-gov.com/?post=120

配置SSH

  Hadoop 需要使用SSH 协议,namenode 使用SSH 协议启动 namenode 和datanode 进程,伪分布式模式数据节点和名称节点均是本身,必须配置 SSH localhost无密码验证。

[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
17:ff:9f:3d:94:95:9b:63:4b:2e:5b:7d:a4:ed:cf:cf root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|          .     .|
|           o   ..|
|        S . .   *|
|         .   . %.|
|              B.*|
|             ..O+|
|             .o.E|
+-----------------+

通过以上命令将在/root/.ssh/ 目录下生成id_rsa私钥和id_rsa.pub公钥。进入/root/.ssh目录在namenode节点下做如下配置: 

[root@localhost ~]# cd /root/.ssh/
[root@localhost .ssh]# cat id_rsa.pub > authorized_keys

id_rsa.pub写入authorized_keys,配置完毕,可通过ssh 本机IP测试是否需要密码登录

[root@localhost ~]# ssh localhost

 

4、Hadoop单机版安装以及配置

4.1Hadoop单机版的安装

本手册安装的Hadoop版本为2.6.0版本。

/usr/local/下创建hadoop文件夹用于存放hadoop单机版(hadoop)伪分布式(colud)版本

然后将hadoop-2.6.0.tar.gz文件上传到linux

[root@localhost ~]# mkdir /usr/local/hadoop
[root@localhost ~]# mkdir /usr/local/hadoop/colud
[root@localhost ~]# mkdir /usr/local/hadoop/hadoop

然后解压hadoop-2.6.0.tar.gz文件到/usr/local/hadoop/hadoop/文件夹下,然后将解压后的文件夹名称修改为hadoop

[root@localhost Desktop]# tar -zxvf hadoop-2.6.0.tar.gz -C /usr/local/hadoop/hadoop
[root@localhost Desktop]# cd /usr/local/hadoop/hadoop/
[root@localhost hadoop]# mv hadoop-2.6.0 hadoop

测试Hadoop是否安装成功

[root@localhost hadoop]# ./hadoop/bin/hadoop version

 

4.2Hadoop单机版的配置

Hadoop 默认模式为非分布式模式,无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。

在此我们选择运行 grep 例子,我们将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。

[root@localhost hadoop]# mkdir input #创建input文件夹
[root@localhost hadoop]# cp hadoop/etc/hadoop/*.xml input/ #将配置文件作为输入文件
[root@localhost hadoop]# 
./hadoop/bin/hadoop jar ./hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input/ ./output 'dfs[a-z.]+'
[root@localhost hadoop]# cat ./output/* #查看运行结果哦

 

注意Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。

[root@localhost hadoop]# rm -rf output/

5、Hadoop分布式配置

Hadoop可以在单节点上一伪分布式的方式运行。Hadoop进程是基于java运行的,节点既作为NameNode也作为DataNote,同时,读取的是HDFS的文件。

实现伪分布式需要修改core-site.xml hdfs-site.xml俩个配置文件。

1、将Hadoop单机版拷贝到/usr/local/hadoop/colud/目录下

[root@localhost hadoop]# cp hadoop /usr/local/hadoop/colud/ -r

此时Hadoop的文件路径为/usr/local/hadoop/cold/hadoop

2、修改core-site.xml配置文件(该配置文件位于/usr/local/hadoop/cold/hadoop/etc/hadoop

[root@localhost hadoop]# cd /usr/local/hadoop/colud/hadoop/
[root@localhost hadoop]# vim etc/hadoop/core-site.xml

 

configuration节点之间加入以下代码

        <property>
             <name>hadoop.tmp.dir</name>
             <value>file:/usr/local/hadoop/colud/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
              <name>fs.defaultFS</name>
              <value>hdfs://localhost:9000</value>
       </property>

 

3、修改hdfs-site.xml配置文件(该配置文件位于/usr/local/hadoop/cold/hadoop/etc/hadoop

[root@localhost hadoop]# vim etc/hadoop/hdfs-site.xml

configur

        <property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
 
            <value>file:/usr/local/hadoop/colud/tmp/dfs/name</value>
        </property>
        <property>             <name>dfs.datanode.data.dir</name>
             <value>file:/usr/local/hadoop/colud/tmp/dfs/data</value>
        </property>

ation节点之间加入以下代码

 

Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。

此外,伪分布式虽然只需要配置 fs.defaultFS dfs.replication 就可以运行(,不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

4、格式化NameNode

[root@localhost hadoop]# ./bin/hdfs namenode -format

 

格式化成功会看到 “successfully formatted” “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。

如果在这一步时提示 Error: JAVA_HOME is not set and could not be found. 的错误,则说明之前设置 JAVA_HOME 环境变量那边就没设置好,请按教程先设置好 JAVA_HOME 变量,否则后面的过程都是进行不下去的。

5、开启NameNodeDataNode守护进程

[root@localhost hadoop]# ./sbin/start-dfs.sh

 

如果启动发现

 

修改hadoopjava_home的路径

[root@localhost hadoop]# ./sbin/stop-dfs.sh
[root@localhost hadoop]# vim etc/hadoop/hadoop-env.sh

 

[root@localhost hadoop]# ./sbin/start-dfs.sh

 

启动完成可以通过JPS来是否启动成功。

[root@localhost hadoop]# jps

 

6、测试访问

http://localhost:50070

http://192.168.1.106:50070/dfshealth.html#tab-overview



本博客所有文章如无特别注明均为原创。作者:0nise复制或转载请以超链接形式注明转自 0nise's Blog ---1931sec TeAm!
原文地址《【Hadoop】Hadoop安装(一)

相关推荐

  • blogger

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)