《Hadoop》之"踽踽独行"(六)Hadoop的单节点集群设置

在《Hadoop》之"踽踽独行"(五)这一篇中,我们对Hadoop进行了简单的概述。接下来,我们就来了解一下Hadoop集群的安装。而Hadoop的安装模式有以下三种,我们一一来了解一下

  • 单节点上的本地模式(独立模式) :Local(Standalone)Mode
  • 单节点的伪分布模式:Pseudo-Distributed Mode
  • 多节点的安全分布式集群模式:Fully-Distributed Cluster

一、准备工作

1、操作平台:

VMware里的Linux系统。可安装CentOS-6.5-x86_64-bin-DVD1.iso 点击连接进行下载centos6.5

2、用户要求

使用普通用户,进行解压、安装所需软件(权限问题,不到万不得已的情况下,坚决不要使用root身份)。

如:创建一个普通用户hyxy
useradd hyxy
passwd hyxy

使用hyxy这个普通用户进行一系列的操作

3、必备软件:

jdk开发环境。可选jdk1.7,点击查看jdk的下载链接地址
ssh软件。CentOS - DVD1.iso内置的软件, 可运行指令串 rpm -qa | grep ssh   查看是否已安装。
rsync软件。CentOS - DVD1.iso内置的软件,可运行指令串 :rpm -qa | grep rsync  查看是否安装

4、Hadoop下载

以Hadoop2.7.3版本为例进行安装。点击查看hadoop的下载链接地址。

5、软件管理说明

以普通用户安装程序时,尽可能的将软件安装到自己的主目录下,如在主目录下创建一个apps目录,用于管理软件的安装路径。

/home/hyxy/apps/                 #所有软件的父目录        
​
[hyxy@master apps]$ ls           #查看apps目录下的软件包
hadoop-2.7.3.tar.gz  jdk-7u80-linux-x64.tar.gz

二、local(standalone) mode

1、简介

local(standalone) mode,即安装在单节点(一台主机)的本地模式,也叫独立模式。所有程序都在单个JVM上执行。使用本地文件系统,而不是分布式文件系统。无需运行任何守护进程(daemon),hadoop不会启动NameNode、DataNode等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的。

2、用途

用于对MapReduce程序的逻辑进行调试,确保程序的正确。由于在本地模式下测试和调试MapReduce程序较为方便,因此,这种模式适宜用在开发阶段。

3、安装详细步骤

第一步、安装JDK,配置环境变量

jdk-7u80-linux-x64.tar.gz上传到apps目录下,然后使用tar指令解压到apps目录下,后删除软件包:

[hyxy@master apps ]$  tar -zxv -f  jdk-7u80-linux-x64.tar.gz。
[hyxy@master apps]$ rm jdk-7u80-linux-x64.tar.gz    #解压后删除软件包,节省空间

再给jdk1.7 创建一个软链接jdk.soft

[hyxy@master apps]$ ln -s jdk1.7.0_80/ jdk.soft    #软链接叫jdk.soft

我们在~/.bash_profile配置文件内,配置jdk的环境变量。

[hyxy@master apps]$ vim ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin                                  #可要可不要

# jdk environment
JAVA_HOME=/home/hyxy/apps/jdk.soft                    #配置环境变量JAVA_HOME
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH          #千万别忘记拼接$PATH
export PATH JAVA_HOME

然后使用source命令,重新加载~/.bash_profile,后检查是否配置成功:java -version   。javac

[hyxy@master apps]$ source ~/.bash_profile
[hyxy@master apps]$ java -version                    #检测jdk版本
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
[hyxy@master apps]$ javac                            #测试javac命令

第二步、解压hadoop。

[hyxy@master apps]$ tar -zxv -f hadoop-2.7.3.tar.gz       #1.解压软件包
[hyxy@master apps]$ rm hadoop-2.7.3.tar.gz                #2.删除软件包
[hyxy@master apps]$ ln -s hadoop-2.7.3/ hadoop.soft       #3.创建软链接hadoop.soft
[hyxy@master apps]$ ll
drwxr-xr-x. 9 hyxy hyxy 4096 8月  18 2016 hadoop-2.7.3
lrwxrwxrwx. 1 hyxy hyxy   13 1月   8 11:04 hadoop.soft -> hadoop-2.7.3/
drwxr-xr-x. 8 hyxy hyxy 4096 4月  11 2015 jdk1.7.0_80
lrwxrwxrwx. 1 hyxy hyxy   12 1月   8 10:45 jdk.soft -> jdk1.7.0_80/

上述步骤完成后,再配置hadoop的环境变量

[hyxy@master apps]$ vim ~/.bash_profile
...............
...............
# hadoop environment                            #追加hadoop环境变量
HADOOP_HOME=/home/hyxy/apps/hadoop.soft         #配置HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH   #配置path,千万别忘记拼接$PATH
export PATH HADOOP_HOME

然后,再重新加载~/.bash_profile,测试hadoop命令

[hyxy@master apps]$ source ~/.bash_profile         #重新加载配置文件
[hyxy@master apps]$ hadoop version                 #测试hadoop命令
Hadoop 2.7.3

当完成上述两大步骤,local(standalone) mode,就已经完美收官,是不是超级简单呀。不过我们可以进行下面的程序测试环节哦。

4、程序测试

我们在hadoop的本地模式下,来测试一个mapreduce程序:统计符合正则表达式 'dfs[a-z.]+' 的单词,并输出到指定目录下。

第一步:在hadoop.soft目录下,创建目录input

[hyxy@master apps]$ cd hadoop.soft/
[hyxy@master hadoop.soft]$ mkdir input       #创建目录input

第二步:将hadoop的etc/hadoop/下的所有xml文件复制到input下

[hyxy@master hadoop.soft]$ cp etc/hadoop/*.xml input/

第三步:使用hadoop自带的mapreduce程序进行统计符合增则表达式的单词,并输出到指定目录下

[hyxy@master hadoop.soft]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output 'dfs[a-z.]+'

ps:如果有以下错误:Caused by: java.net.UnknownHostException: master。请在/etc/hosts里进行主机名和ip绑定操作

第四步:查看目录output下的内容

[hyxy@master hadoop.soft]$ cat output/part-r-00000
1       dfsadmin                          #正则表达式就匹配到一个单词

到此为止,本地模式的安装与程序测试,就彻底结束了。

如果感兴趣的,也可以参考hadoop官网的测试:https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/SingleCluster.html

-------------------------------------------------------------------------- 

你可能感兴趣的:(大数据,hadoop)