阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

虚拟机下Linux系统Hadoop单机/伪分布式配置:Hadoop2.5.2+Ubuntu14.04

435次阅读
没有评论

共计 6170 个字符,预计需要花费 16 分钟才能阅读完成。

  • 系统:Ubuntu 14.04 64bit
  • Hadoop 版本:Hadoop 2.5.2 (stable)
  • JDK 版本:JDK 1.6

 

虚拟机及 Ubuntu 安装

1. 下载并安装 VMware workstation 11 

 下载地址:https://my.vmware.com/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation/11_0?wd=%20VMware%20workstation%2011%20&issp=1&f=3&ie=utf-8&tn=baiduhome_pg&inputT=1321&rsp=1

 

 

 

2. 下载 Ubuntu 14.04,注意在虚拟机上安装之前需要解压!

3. 在 Vmware 中新建虚拟机:虚拟机安装向导,标准,安装盘镜像文件:指向 ubuntu 14.04 解压的 wubi.exe 的路径。

4. 虚拟机命名,注意保存路径,默认分配磁盘空间 20G,虚拟磁盘拆分成多个文件。

虚拟机安装完成后自动启动安装

 

创建 hadoop 用户

 

如果你安装 Ubuntu 的时候不是用的 hadoop 用户,那么需要增加一个名为 hadoop 的用户,并将密码设置为hadoop

创建用户

sudo useradd hadoop

修改密码为hadoop,按提示输入两次密码

sudo passwd hadoop

给 hadoop 用户创建目录,方可登陆

sudo mkdir /home/hadoop
sudo chown hadoop /home/hadoop

 

可考虑为 hadoop 用户增加管理员权限,方便部署,避免一些权限不足的问题:

sudo adduser hadoop sudo

最后注销当前用户,使用 hadoop 用户进行登陆。

 

 

 

JDK1.6 的安装及配置
1. 通过火狐浏览器下载 jdk-6u45-linux-x64.bin(以下操作在虚拟机中进行
sudo cp/home/moweiyang01/Downloads/jdk-6u45-linux-x64.bin /home/hadoop/
sudo chomd u+x jdk-6u45-linux-x64.bin
运行 jdk, 在 /home/hadoop$ 下:./ jdk-6u45-linux-x64.bin
mv jdk1.6.0_45 jdk 1.6
sudo gedit /etc/profile
 
加入以下 Java 的配置信息
export JAVA_HOME=/home/hadoop/jdk1.6
export JRE_HOME=/home/hadoop/jdk1.6/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
 
保存 profile 文件
在 hadoop 下运行 source /etc/profile
 
输入 java -version 检查 java 是否配置成功。
 
在 /etc/environment 中配置:

sudo vim /etc/environment

PATH=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:  /home/hadoop/jdk1.6/bin”

 
SSH 的配置
 

输入命令:sudo apt-get install ssh

 

 

ssh localhost

 

然后按提示输入密码hadoop,这样就登陆到本机了。但这样的登陆是需要密码的,需要配置成无密码登陆。

先退出刚才的 ssh,然后生成 ssh 证书:

exit                           # 退出 ssh localhost
cd ~/.ssh                      # 如果没有该目录,先执行一次 ssh localhost
ssh-keygen -t rsa              # 一直按回车就可以
cp id_rsa.pub authorized_keys

 

安装 Hadoop 2.5.2

 

 

 

下载后, 解压到 /usr/local/ 中。

sudo tar -zxvf ~/Downloads/hadoop-2.5.2.tar.gz -C /usr/local   # 解压到 /usr/local 中
sudo mv /usr/local/hadoop-2.5.2/ /usr/local/hadoop      # 将文件名改为 hadoop
sudo chown -R hadoop:hadoop /usr/local/hadoop       # 修改文件权限

Hadoop 解压后即可使用。输入如下命令 Hadoop 检查是否可用,成功则会显示命令行的用法:

/usr/local/hadoop/bin/hadoop

 

 

Hadoop 单机配置

 

Hadoop 默认配置是以非分布式模式运行,即单 Java 进程,方便进行调试。可以执行附带的例子 WordCount 来感受下 Hadoop 的运行。例子将 Hadoop 的配置文件作为输入文件,统计符合正则表达式 dfs[a-z.]+ 的单词的出现次数。

cd /usr/local/hadoop
mkdir input
cp etc/hadoop/*.xml input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+'
cat ./output/*

执行成功后如下所示,输出了作业的相关信息,输出的结果是符合正则的单词 dfsadmin 出现了 1 次

虚拟机下 Linux 系统 Hadoop 单机 / 伪分布式配置:Hadoop2.5.2+Ubuntu14.04Hadoop 单机 WordCount 输出结果

再次运行会提示出错,需要将 ./output 删除。

rm -R ./output

Hadoop 伪分布式配置

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点即是 NameNode 也是 DataNode。需要修改 2 个配置文件 etc/hadoop/core-site.xmletc/hadoop/hdfs-site.xml。Hadoop 的配置文件是 xml 格式,声明 property 的 name 和 value。

修改配置文件etc/hadoop/core-site.xml,将

<configuration>
</configuration>

修改为下面配置:

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

修改配置文件 etc/hadoop/hdfs-site.xml

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

关于配置的一点说明:上面只要配置 fs.defaultFS 和 dfs.replication 就可以运行,不过有个说法是如没有配置 hadoop.tmp.dir 参数,此时 Hadoop 默认的使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在每次重启后都会被干掉,必须重新执行 format 才行(未验证),所以伪分布式配置中最好还是设置一下。此外也需要显式指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则下一步可能会出错。

配置完成后,首先初始化文件系统 HDFS:

bin/hdfs namenode -format

成功的话,最后的提示如下,Exitting with status 0 表示成功,Exitting with status 1: 则是出错。若出错,可试着加上 sudo, 既 sudo bin/hdfs namenode -format 试试看。

虚拟机下 Linux 系统 Hadoop 单机 / 伪分布式配置:Hadoop2.5.2+Ubuntu14.04初始化 HDFS 文件系统

接着开启 NaneNodeDataNode守护进程。

sbin/start-dfs.sh

若出现下面 SSH 的提示,输入 yes 即可。

虚拟机下 Linux 系统 Hadoop 单机 / 伪分布式配置:Hadoop2.5.2+Ubuntu14.04启动 Hadoop 时的 SSH 提示

有可能会出现如下很多的 warn 提示,下面的步骤中也会出现,特别是 native-hadoop library 这个提示,可以忽略,并不会影响 hadoop 的功能。想解决这些提示可以看后面的附加教程(最好还是解决下,不困难,省得看这么多无用提示)。

虚拟机下 Linux 系统 Hadoop 单机 / 伪分布式配置:Hadoop2.5.2+Ubuntu14.04启动 Hadoop 时的 warn 提示

成功启动后,可以通过命令 jps 看到启动了如下进程 NameNodeDataNodeSecondaryNameNode

通过查看启动日志分析启动失败原因

有时 Hadoop 无法正确启动,如 NameNode 进程没有顺利启动,这时可以查看启动日志来排查原因,不过新手可能需要注意几点:

  • 启动时会提示形如“Master: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-Master.out”,其中 Master 对应你的机器名,但其实启动日志信息是记录在 /usr/local/hadoop/logs/hadoop-hadoop-namenode-Master.log 中,所以应该查看这个 .log 的文件;
  • 每一次的启动日志都是追加在日志文件之后,所以得拉到最后面看,这个看下记录的时间就知道了。
  • 一般出错的提示在最后面,也就是写着 Fatal、Error 或者 Java Exception 的地方。

虚拟机下 Linux 系统 Hadoop 单机 / 伪分布式配置:Hadoop2.5.2+Ubuntu14.04通过 jps 查看启动的 Hadoop 进程

此时可以访问 Web 界面 http://localhost:50070 来查看 Hadoop 的信息。

虚拟机下 Linux 系统 Hadoop 单机 / 伪分布式配置:Hadoop2.5.2+Ubuntu14.04Hadoop 的 Web 界面

Hadoop 伪分布式实例 -WordCount

首先创建所需的几个目录

bin/hdfs dfs -mkdir /user
bin/hdfs dfs -mkdir /user/hadoop

接着将 etc/hadoop 中的文件作为输入文件复制到分布式文件系统中,即将 /usr/local/hadoop/etc/hadoop 复制到分布式文件系统中的 /user/hadoop/input 中。上一步创建的 /user/hadoop 相当于 HDFS 中的用户当前目录,可以看到复制文件时无需指定绝对目录,下面的命令的目标路径就是 /user/hadoop/input:

bin/hdfs dfs -put etc/hadoop input

运行 MapReduce 作业,执行成功的话跟单机模式相同,输出作业信息。

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+'

查看运行结果

bin/hdfs dfs -cat output/*

也可以将运行结果取回到本地。

rm -R ./output
bin/hdfs dfs -get output output
cat ./output/*

结果如下,注意到跟单机模式中用的不是相同的数据,所以运行结果不同(换成原来的数据,结果是一致的)。

虚拟机下 Linux 系统 Hadoop 单机 / 伪分布式配置:Hadoop2.5.2+Ubuntu14.04Hadoop 伪分布式运行 WordCout 结果

可以看到,使用 bin/hdfs dfs - 命令 可操作分布式文件系统,如

bin/hdfs dfs -ls /user/hadoop           # 查看 `/user/hadoop` 中的文件
bin/hdfs dfs -rm -R /user/hadoop/input/*    # 删除 input 中的文件
bin/hdfs dfs -rm -R /user/hadoop/output     # 删除 output 文件夹
运行程序时,输出目录需不存在

运行 Hadoop 程序时,结果的输出目录(如 output)不能存在,否则会提示错误,因此运行前需要先删除输出目录。建议在程序中加上如下代码进行删除,避免繁琐的命令行操作:

Configuration conf = new Configuration();
Job job = new Job(conf);
...
/* 删除输出目录 */
Path outputPath = new Path(args[1]);
outputPath.getFileSystem(conf).delete(outputPath, true);
...

结束 Hadoop 进程,则运行

sbin/stop-dfs.sh
注意

下次再启动 hadoop,无需进行 HDFS 的初始化,只需要运行 sbin/stop-dfs.sh 就可以!

————————————– 分割线 ————————————–

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-03/115268.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计6170字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7982537
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...