在Ubuntu系统上搭建Hadoop 2.x(2.6.2)

  官方的中文版的Hadoop快速入门教程已经是很老的版本了,新版的Hadoop目录结构发生了变化,因此一些配置文件的位置也略微调整了,例如新版的hadoop中找不到快速入门中提到的conf目录,另外,网上有很多教程也是关于老版本的。本教程主要是针对Hadoop 2.X版本,在Ubuntu系统上的搭建过程。如果要对各个步骤进行深入理解,还需要参考其他资料。

  英文版快速入门:http://hadoop.apache.org/docs/r2.6.2/hadoop-project-dist/hadoop-common/SingleCluster.html

前提条件

(1)Ubuntu操作系统(本教程使用的是Ubuntu 14.04)

(2)安装JDK

$ sudo apt-get install openjdk-7-jdk
$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.12) (7u25-2.3.12-4ubuntu3)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
$ cd /usr/lib/jvm
$ ln -s java-7-openjdk-amd64 jdk

(3)安装ssh

$ sudo apt-get install openssh-server

添加Hadoop用户组和用户(可选)

$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
$ sudo adduser hduser sudo

创建用户之后,使用hduser重新登陆ubuntu

安装SSH证书

$ ssh-keygen -t rsa -P ‘‘
...
Your identification has been saved in /home/hduser/.ssh/id_rsa.
Your public key has been saved in /home/hduser/.ssh/id_rsa.pub.
...
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost

下载Hadoop 2.6.2

$ cd ~
$ wget http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.6.2/hadoop-2.6.2.tar.gz
$ sudo tar vxzf hadoop-2.6.2.tar.gz -C /home/hduser
$ cd /home/hduser
$ sudo mv hadoop-2.6.2 hadoop
$ sudo chown -R hduser:hadoop hadoop

配置Hadoop环境变量

(1)修改系统环境变量

$cd ~
$vi .bashrc

把下边的代码复制到vi打开的.bashrc文件末尾,如果JAVA_HOME已经配置过,那就不需要再配置了。

#Hadoop variables
#begin of paste
export JAVA_HOME=/usr/lib/jvm/jdk/
export HADOOP_INSTALL=/home/hduser/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
#end of paste

(2)修改hadoop环境变量

$ cd /home/hduser/hadoop/etc/hadoop
$ vi hadoop-env.sh

#必改的就一个,那就是修改JAVA_HOME,其他的可以不修改
export JAVA_HOME=/usr/lib/jvm/jdk/

配置完成后,重新登陆Ubuntu(把terminal关掉,再打开)

输入下边的命令检查是否安装成功

$ hadoop version
Hadoop 2.6.2
...
...
...

配置Hadoop

(1)core-site.xml

$ cd /home/hduser/hadoop/etc/hadoop
$ vi core-site.xml
#把下边的代码复制到<configuration>和</configuration>中间
<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>

(2)yarn-site.xml

$ vi yarn-site.xml
#把下边的代码复制到<configuration>和</configuration>中间
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

(3)mapred-site.xml

$ mv mapred-site.xml.template mapred-site.xml
$ vi mapred-site.xml
#把下边的代码复制到<configuration>和</configuration>中间
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

(4)hdfs-site.xml

$ cd ~
$ mkdir -p mydata/hdfs/namenode
$ mkdir -p mydata/hdfs/datanode
$ cd /home/hduser/hadoop/etc/hadoop
$ vi hdfs-site.xml

#把下边的代码复制到<configuration>和</configuration>中间
<property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/hduser/mydata/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/hduser/mydata/hdfs/datanode</value>
 </property>

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

$ cd ~
$ hdfs namenode -format

启动Hadoop服务

$ start-dfs.sh
....
$ start-yarn.sh
....

$ jps
#如果配置成功的话,你会看到类似下边的信息
2583 DataNode
2970 ResourceManager
3461 Jps
3177 NodeManager
2361 NameNode
2840 SecondaryNameNode

运行Hadoop示例

[email protected]: cd /home/dhuser/hadoop
[email protected]:/home/dhuser/hadoop$ hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.2.jar pi 2 5
#然后你会看到类似下边的信息
Number of Maps  = 2
Samples per Map = 5
15/10/21 18:41:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Wrote input for Map #0
Wrote input for Map #1
Starting Job
15/10/21 18:41:04 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/10/21 18:41:04 INFO input.FileInputFormat: Total input paths to process : 2
15/10/21 18:41:04 INFO mapreduce.JobSubmitter: number of splits:2
15/10/21 18:41:04 INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name
...

参考文章:http://codesfusion.blogspot.sg/2013/10/setup-hadoop-2x-220-on-ubuntu.html

脚本代码:https://github.com/ericduq/hadoop-scripts/blob/master/make-single-node.sh

时间: 2024-12-23 16:57:20

在Ubuntu系统上搭建Hadoop 2.x(2.6.2)的相关文章

虚拟机安装的三台Ubuntu系统下搭建Hadoop

在Linux 上安装Hadoop 教程 在虚拟机中安装的Ubuntu系统下搭建Hadoop集群时首先要解决的问题是将宿主机的文件拷贝到虚拟机上.采用的简单方法是宿主机使用Serv-U建立一个FTP然后在虚拟机上登录将文件拷出来. 要先熟悉Linux的基本概念和操作,如:cd.ls.tar.cat.ssh.scp.cp.rm.sudo.su.apt-get等操作. 一.实践环境: Ubuntu10.04+jdk1.6+hadoop-0.20.1 机器名 IP 作用 Master 192.168.1

十分钟内在Ubuntu系统上搭建Mono开发环境(Mono软件Ubuntu系统国内镜像源、Mono国内镜像源)

Mono软件Ubuntu系统国内镜像源.Mono国内镜像源 http://download.githall.cn/repo 1.授权注册repo源 Ubuntu 18.04 (i386, amd64, armhf, arm64, ppc64el)系统请运行如下命令: sudo apt install gnupg ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0

[Hadoop] 在Ubuntu系统上一步步搭建Hadoop(单机模式)

1 创建Hadoop用户组和Hadoop用户 Step1:创建Hadoop用户组: ~$ sudo addgroup hadoop Step2:创建Hadoop用户: ~$ sudo adduser -ingroup hadoop hadoop 回车后会提示输入密码,这是新建Hadoop的密码,输入两次密码敲回车即可.如下图所示: Step3:为Hadoop用户添加权限: ~$ sudo gedit /etc/sudoers 点击回车后,打开sudoers文件,在 root ALL=(ALL:A

Hadoop 在ubuntu系统上的搭建[图解]

前言 本文介绍如何在Ubuntu Kylin操作系统上搭建Hadoop平台. 配置 1. 操作系统: Ubuntu Kylin 14.04 2. 编程语言支持: JDK 1.8 3. 通信协议支持: SSH 2. 云计算项目: Hadoop 1.2.1 第一步:安装最新版本的JDK (若已经安装过请忽略这一步) 1. 去官网下载JDK1.8并解压 (当前安装包为:jdk-8u25-linux-x64.gz) 2. 将解压后的安装包复制到 /usr/lib/jvm 目录下 (jvm目录需要自行创建

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)【转】

[转自:]http://blog.csdn.net/hitwengqi/article/details/8008203 最近一直在自学Hadoop,今天花点时间搭建一个开发环境,并整理成文. 首先要了解一下Hadoop的运行模式: 单机模式(standalone)       单机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置.在这种默认模式下所有3个XML文件均为空.当配置文件为空时,Hadoop会完全运行在本地.因为不

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

Hadoop在处理海量数据分析方面具有独天优势.今天花时间在自己的Linux上搭建了伪分布模式,期间经历很多曲折,现在将经验总结如下. 首先,了解Hadoop的三种安装模式: 1. 单机模式. 单机模式是Hadoop的默认模.当配置文件为空时,Hadoop完全运行在本地.因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程.该模式主要用于开发调试MapReduce程序的应用逻辑. 2. 伪分布模式. Hadoop守护进程运行在本地机器上,模拟一个小规模的的集群.

在Linux上搭建Hadoop

在Linux上搭建Hadoop集群搭建笔记 1.安装虚拟机 下载软件: VMware workstation CentOS 镜像 2.远程连接 下载软件并安装 Xshell5 http://www.netsarang.com/products/xsh_overview.html xftp5 http://www.netsarang.com/products/xfp_overview.html (1)打开Xshell (2)输入会话名称和ip地址 在右下角的位置将虚拟机的网络连接改为桥接模式且选中

ubuntu 系统中搭建bugzilla系统

我在ubuntu上安装bugzilla系统部署,也是一头雾水,现在能做的也就是从网络上借鉴各种大牛的教程然后加上自己的总结和实际操作中遇到的困难从而记录下来写成博客. Bugzilla简介 Bugzilla是一个共享的免费的产品缺陷记录及跟踪工具(Bug-Tracking System).由Mozilla公司提供.创始人是Terry Weissman,开始时使用一种名为"TCL"的语言创建的,后用Perl语言实现,并作为Open source发布.它可以管理软件开发中缺陷的提交(new

Ubuntu系统上SVN服务器的安装和配置

Ubuntu系统上SVN的安装和配置 1.安装 #sudo apt-get install subversion 2.创建版本库 #sudo mkdir /home/svn #sudo svnadmin create /home/svn/suc 3.进入版本库修改相关配置文件 #cd /home/svn/suc/ #dir conf db format hooks locks README.txt 我们主要关心的是conf和db文件,conf文件夹下是存放主配置文件和用户.权限位置,db文件夹是