红联Linux门户
Linux帮助

Hadoop伪分布式节点搭建

发布时间:2015-10-15 15:54:23来源:linux网站作者:j-10cc

提示:在Linux下进行文件操作,有亮点需要特别留意。其一是权限问题,Linux比Windows的权限管理更为严格,因此对于一些需要root权限的操作,可以使用sudo nautilus打开文件管理或在终端中通过sudo+命令完成。其二是Linux的目录管理。Windows是以盘符->目录->文件的树型组织,Linux则直接以目录方式呈现,在进行文件操作时需要注意。

操作在Ubuntu 15.04进行,JDK版本1.8 Update 60,Hadoop版本2.6.0


1、JDK的安装

下载最新版本JDK。应注意Linux对应的体系结构。在Windows的64位版本中可以同时安装JDK的x86和x64版本,但Linux中只需安装对应的体系结构版本。

解压得到的下载包。sudo tar zxvf  jdk-8u60-linux-x64.tar.gz  -C /usr/lib/jvm

配置环境变量。sudo gedit /etc/profile

在文件编辑器中加入如下语句

#  set java environment

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_60

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

Hadoop伪分布式节点搭建

编辑环境变量

设置默认JDK版本

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_60/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_60/bin/javac 300

执行代码:

sudo update-alternatives --config java

测试环境配置是否成功 java -version

Hadoop伪分布式节点搭建

配置成功,JDK版本8.0u60


2、Hadoop安装

若Linux缺少必要包,在安装前需先安装必要包。

sudo apt-get install ssh

sudo apt-get install rsync

解压Hadoop安装包。此处安装到/usr/hadoop目录下。sudo  tar -zxvf  hadoop-2.6.0.tar.gz。

为避免权限问题,便于查看目录文件,可修改权限。sudo  chown -hR  cheng  /usr/hadoop (绿色部分为安装的当前用户的用户名)。

 设置SSH为免密码登录。

ssh-keygen -t  dsa -P '' -f  ~/.ssh/id_dsa 

(ssh-keygen 代表生成密钥; -t  表示指定生成的密钥 类型; dsa  是 dsa 密钥认证的意思; -P  用于提供密语(接着后面是两个单引号, 不要打错); -f  表示指定生成密钥文件)

这条命令完成后,会在当前文件夹下面的 .ssh 文件夹下创建 id_dsa 和 id_dsa.pub 两个文件,这是 SSH 的一对私钥和公钥,把 id_dsa.pub (公钥)追加到授权的 key 中去,输入如下命令:

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

至此,免密码登录本机已经配置完毕。

说明:一般来说,安装SSH时会自动在当前用户下创建.ssh这个隐藏文件夹,一般不会直接看到,除非安装好了以后,在命令行使用命令ls才会看到。

输入ssh  localhost ,显示登录成功信息。


3、配置Hadoop伪分布式模式

hadoop可以通过三种模式启动:单机模式,伪分布式模式和完全分布模式。

单机模式即以非分布式模式配置一个独立的Java进程。对调试很有帮助。

伪分布式模式即每一个Hadoop守护进程都以一个独立的Java进程进行,这种模式可以模拟分布式情况。

完全分布式模式即真实情况下的分布式配置。

配置hadoop环境文件hadoop-env.sh(此文件在hadoop安装目录/etc/hadoop下)

打开文件,找到某行有 ”# export JAVA_HOME = ...”  字样的地方,去掉 “#” ,然后在等号后面填写JDK 路径。export  JAVA_HOME=/usr/lib/jvm/jdk1.8.0_60

配置 Hadoop 的核心文件 core-site.xml (此文件在hadoop安装目录/etc/hadoop下)

打开文件,会发现标签 中是空的,在空的地方添加如下配置

fs.default.name
hdfs://localhost:9000
dfs.replication
1
hadoop.tmp.dir
/home/cheng/tmp

(cheng部分为当前用户名)

配置 Hadoop 中 MapReduce 的配置文件 mapred-site.xml (此文件在hadoop安装目录/etc/hadoop下)

打开文件,会发现标签 中是空的,在空的地方添加如下配置

mapred.job.tracker

localhost:9001

格式化一个新的分布式文件系统:

bin/hadoop namenode -format

启动Hadoop守护进程:

sbin/start-all.sh

Hadoop守护进程的日志写入到 ${HADOOP_LOG_DIR} 目录 (默认是 ${HADOOP_HOME}/logs).

若出现形如下图所示即启动成功

Hadoop伪分布式节点搭建

hadoop启动成功

输入sbin/stop-all.sh关闭hadoop。


hadoop2.7.1在Ubuntu 32位上安装单机版伪分布环境:http://www.linuxdiyf.com/linux/14286.html

CentOS配置Hadoop环境变量:http://www.linuxdiyf.com/linux/12579.html

ubuntu15.04安裝hadoop2.6.0及eclipse开发环境配置:http://www.linuxdiyf.com/linux/12474.html

Ubuntu下配置Hadoop环境:http://www.linuxdiyf.com/linux/10191.html

Ubuntu15中安装hadoop2.7单机模式:http://www.linuxdiyf.com/linux/13027.html