Ubuntu14.04安装Hadoop2.5.2(单机模式)

一、Hadoop的运行模式

单机模式(standalone)
单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
伪分布模式(Pseudo-Distributed Mode)
伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。
全分布模式(Fully Distributed Mode)
Hadoop守护进程运行在一个集群上。

二、创建hadoop组和hadoop用户

增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户。
1、创建hadoop用户组

sudo addgroup hadoop

技术分享
groupdel users 删除组users
2、创建hadoop用户

 sudo adduser -ingroup hadoop hdp

技术分享

回车后会提示输入新的UNIX密码,这是新建用户hdp的密码,输入回车即可。如果不输入密码,回车后会重新提示输入密码,即密码不能为空。最后确认信息是否正确,如果没问题,输入 Y,回车即可。
技术分享

3、为hadoop用户添加权限
输入:sudo gedit /etc/sudoers ,回车,
打开sudoers文件,给hadoop用户赋予和root用户同样的权限。
技术分享

三、用新增加的hdp用户登录Ubuntu系统

命令行输入 su hpd 并输入密码。
或者
直接切换图形操作系统。

四、安装SSH

sudo apt-get install openssh-server

技术分享

安装完成后,启动服务:sudo /etc/init.d/ssh start
并查看服务是否正确启动:ps -e | grep ssh
技术分享

作为一个安全通信协议,使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:

ssh-keygen -t rsa -P ""

技术分享

第一次操作时会提示输入密码,按Enter直接过,这时会在~/home/{username}/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。

现在将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端的用户)

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

现在可以登入ssh确认以后登录时不用输入密码:
ssh localhost
技术分享
登出:exit

第二次登录:
技术分享
登出:exit

五、安装Java环境

安装jdk:sudo apt-get install openjdk-7-jdk
技术分享

查看安装结果,输入命令:java -version,结果如下表示安装成功。
技术分享

六、安装hadoop2.5.2

1、下载
官网下载http://mirror.bit.edu.cn/apache/hadoop/common/
技术分享

下载hadoop-2.5.2-src.tar.gz 并放到你希望的目录中,
我是放到/software/中。

技术分享
2、安装
解压sudo tar xzf hadoop-2.5.2.tar.gz
技术分享

修改文件夹名,并且赋予用户对该文件夹的读写权限。

sudo mv hadoop-2.5.2 hadoop
sudo chmod 774 hadoop

技术分享

3、配置.bashrc文件

配置.bashrc文件前需要知道Java的安装路径,用来设置JAVA_HOME环境变量,可以使用下面命令行查看安装路径:

update-alternatives --config java

执行后,完整路径为:
/usr/lib/jvm/java-7-openjdk-i386/jre/bin/java

技术分享

我们只取前面的部分/usr/lib/jvm/java-7-openjdk-i386

配置.bashrc文件

sudo gedit ~/.bashrc

该命令会打开该文件的编辑窗口,在文件末尾追加下面内容,然后保存关闭编辑窗口

#HADOOP VARIABLES START

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

export HADOOP_INSTALL=/software/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin

export PATH=$PATH:$HADOOP_INSTALL/sbin

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

#HADOOP VARIABLES END

技术分享

使添加的环境变量生效:source ~/.bashrc

4、编辑/usr/local/hadoop/etc/hadoop/hadoop-env.sh
执行下面命令,打开该文件的编辑窗口

sudo gedit /software/hadoop/etc/hadoop/hadoop-env.sh

找到JAVA_HOME变量,修改此变量如下:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

技术分享
单机模式安装完成。

七、WordCount测试

下面通过执行hadoop自带实例WordCount验证是否安装成功。
/software/hadoop路径下创建input文件夹

mkdir input

拷贝README.txt到input
cp README.txt input

执行WordCount

bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.4.0-sources.jar org.apache.hadoop.examples.WordCount input output

技术分享

执行结果:

技术分享
执行 cat output/*,查看字符统计结果。

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。