OS X Yosemite下安装Hadoop2.5.1伪分布式环境
最近开始学习Hadoop,一直使用的是公司配好的环境。用了一段时间后发现对Hadoop还是一知半解,故决定动手在本机上安装一个供学习研究使用。正好自己用的是mac,所以没啥说的,直接安装。
总体流程
1.安装jdk并配置好环境变量。因为Hadoop是使用java开发的,所以JDK是必须的。
2.实现ssh无密码验证配置 可以用ssh无需登陆连接到localhost。Hadoop并不要求一定要ssh无密码登录,主要是考虑到集群环境中机器数目多,一个一个输入密码浪费时间而且麻烦,不方便管理。
3.安装与配置Hadoop
4.格式化与启动
5.验证是否启动
环境
由于mac 10.10系统中已去掉JDK,所以需要手动安装。官网下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html。我下在的是JDK最新版,安装过程就不多说了,双击运行jdk-8u25-macosx-x64.dmg就可以。安装完后,在终端中输入java -version,显示版本即安装成功。下面是配置环境变量。在终端中输入/usr/libexec/java_home会出现JDK所在的真实路径。Mac 10.5后,Apple建议设置JAVA_HOME使用/usr/libexec/java_home。然后export$JAVA_HOME in file ~/. bash_profile or ~/.profile。由于我用的是zsh,所以vi打开~/.zshrc,输入图片所示。保存并退出。在终端中执行source .zshrc。环境变量即生效。
SSH无密码验证配置
Hadoop 需要使用SSH 协议,namenode 使用SSH 协议启动 namenode 和datanode 进程,伪分布式模式数据节点和名称节点均是本身,为了操作方便,需要配置 SSH localhost无密码验证。由于mac自带了ssh,所以直接进行设置。
1. 执行命令:ssh localhost
会有错误提示信息,表示当前用户没有权限。这是系统为安全考虑,默认设置的。更改设置如下:进入system preference --> sharing --> 勾选remote login,并设置allow access for all users。再次输入“ssh localhost",再输入密码并确认之后,可以看到ssh成功。中文版如下图:系统偏好设置->共享->远程登录
不过这里面还有一个麻烦,就是每次都会要求输入用户密码,那么就实现免登陆的配置
2.执行命令:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
3.执行命令:cat .ssh/id_rsa.pub >>.ssh/authorized_keys
4.再执行命令:ssh localhost
出现次登录信息则表示免登陆配置成功。
配置
下面开始正式搭建。
Hadoop三种运行模式:
1. 单机模式(standalone):单机模式是Hadoop的默认模式。当配置文件为空时,Hadoop完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
2. 伪分布模式(Pseudo-Distributed Mode):Hadoop守护进程运行在本地机器上,模拟一个小规模的的集群。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。
3. 全分布模式(Fully Distributed Mode):Hadoop守护进程运行在一个集群上。
Hadoop并没有特别区分伪分布式和集群环境,伪分布式可以理解为只有一个节点的集群环境,方便学习和使用。
安装Hadoop2.5.1
官网下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/
下载到本机后解压到你工作空间中即可。
配置Hadoop环境变量
打开终端,输入vi .zshrc。输入图片所示,保存退出后。执行source .zshrc。
在使用Hadoop之前,还需要对一些配置文件进行修改,Hadoop 2.5.1的配置文件都保存在$HADOOP_HOME/etc/hadoop文件夹下。以下直接列出几个配置文件的修改方法。
hadoop-env.sh,主要是设置JAVA_HOME,由于我们之前已设置过JAVA_HOME,所以在这里可以不用修改。
至此,hadoop的单机环境就算安装完了。
伪分布式环境搭建
这里需要设定4个文件:core-site.xml,hdfs-site.xml,mapred-site.xml和yarn-site.xml.都在/opt/hadoop-2.5.1/etc/hadoop/目录下
core-site.xml:Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等。
hdfs-site.xml:Hadoop 守护进程的配置项,包括namenode,辅助namenode和datanode等。
mapred-site.xml:MapReduce 守护进程的配置项,包括jobtracker和tasktracker。
yarn-site.xml: Yarn 框架用于执行MapReduce 处理程序
core-site.xml
hdfs-site.xml
mapred-site.xml
请注意这里安装的2.5.1版本,2.*版本较1.*版本改动很大,主要是用Hadoop MapReduceV2(Yarn) 框架代替了一代的架构,其中JobTracker 和 TaskTracker 不见了,取而代之的是 ResourceManager, ApplicationMaster 与 NodeManager 三个部分,而具体的配置文件位置与内容也都有了相应变化。所以我们在mapred-site.xml中设置了处理map-reduce的框架Yarn,接下来就需要在yarn-site.xml中配置ResourceManager, ApplicationMaster 与 NodeManager。
yar-site.xml
格式化HDFS
通过以上步骤,我们已经设定好Hadoop伪分布式环境,接着就是启动Hadoop的相关服务,格式化namenode,secondarynamenode,tasktracker:
hadoop namenode -format
如上图所示,代表格式化成功。
启动Hadoop
接着执行start-all.sh来启动所有服务,包括namenode,datanode,start-all.sh脚本用来装载守护进程。
./start-all.sh #2.5.1版推荐使用start-dfs.sh和start-yarn.sh来启动
用Java的jps命令列出所有守护进程来验证安装成功
检查运行状态
此时,Hadoop已经启动,用浏览器打开localhost:50070和localhost:8088,可以分别看到HDFS和YARN的管理页面。
http://localhost:50070 #HDFS管理页面
http://localhost:8088 #YARN管理页面
停止Hadoop服务
stop-all.sh
待解决问题:
查阅有关官方介绍 http://wiki.apache.org/hadoop/HowToContribute 中有说明:Hadoop本地库只支持*nix平台,已经广泛使用在GNU/Linux平台上,但是不支持 Cygwin 和 Mac OS X 。需要本地编译,由于时间原因一直没弄好,稍后更新!
OS X Yosemite下安装Hadoop2.5.1伪分布式环境的更多相关文章
- 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境
近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...
- (转)ubuntu 14.04下安装hadoop2.6(伪分布式)
安装: http://pingax.com/install-hadoop2-6-0-on-ubuntu/ 写的非常好(国外人比较实在,他说的单机实际上是伪分布式...). 另外要注意的是,如果对新 ...
- 安装hadoop2.6.0伪分布式环境
集群环境搭建请见:http://blog.csdn.net/jediael_lu/article/details/45145767 一.环境准备 1.安装linux.jdk 2.下载hadoop2.6 ...
- 安装hadoop2.6.0伪分布式环境 分类: A1_HADOOP 2015-04-27 18:59 409人阅读 评论(0) 收藏
集群环境搭建请见:http://blog.csdn.net/jediael_lu/article/details/45145767 一.环境准备 1.安装linux.jdk 2.下载hadoop2.6 ...
- Hadoop2.5.0伪分布式环境搭建
本章主要介绍下在Linux系统下的Hadoop2.5.0伪分布式环境搭建步骤.首先要搭建Hadoop伪分布式环境,需要完成一些前置依赖工作,包括创建用户.安装JDK.关闭防火墙等. 一.创建hadoo ...
- Ubuntu15.10下Hadoop2.6.0伪分布式环境安装配置及Hadoop Streaming的体验
Ubuntu用的是Ubuntu15.10Beta2版本,正式的版本好像要到这个月的22号才发布.参考的资料主要是http://www.powerxing.com/install-hadoop-clus ...
- Ubuntu16.04 下 hadoop的安装与配置(伪分布式环境)
一.准备 1.1创建hadoop用户 $ sudo useradd -m hadoop -s /bin/bash #创建hadoop用户,并使用/bin/bash作为shell $ sudo pass ...
- CentOS5.4 搭建Hadoop2.5.2伪分布式环境
简介: Hadoop是处理大数据的主要工具,其核心部分是HDFS.MapReduce.为了学习的方便,我在虚拟机上搭建了一个伪分布式环境,来进行开发学习. 一.安装前准备: 1)linux服务器:Vm ...
- ubuntu14.04搭建Hadoop2.9.0伪分布式环境
本文主要参考 给力星的博文——Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 一些准备工作的基本步骤和步骤具体说明本文不再列出,文章中提到的“见参考”均指以上 ...
随机推荐
- 新手入门 acm 输入输出练习
A + B Problem(1000) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- 使用Jquery解析Json基础知识(转)
在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. 先明 ...
- 关于JNI程序中引用另外一个lib
我最近在写一个j2se的程序,我用的是开源的org.amse.ys.zip包里的代码,这部分代码是在FBReaderJ里抽取的,但是其中包含了一些native的方法,需要用的zlib库,而FBRead ...
- vijosP1195“非常男女”计划
vijosP1195“非常男女”计划 链接:https://vijos.org/p/1195 [思路] 人数差. 人数差相等的两点之间的区间一定有男女人数相等. 计目前为止到i的1为sum1,0为su ...
- [CSS]利用伪元素实现一些特殊图形
给定的html代码是: <div class='square'></div> 平常实现我们常是通过添加小的icon来实现,不仅需要添加图片资源,还需要改动html结构. CSS ...
- A Round Peg in a Ground Hole - POJ 1584 (判断凸多边形&判断点在多边形内&判断圆在多边形内)
题目大意:首先给一个圆的半径和圆心,然后给一个多边形的所有点(多边形按照顺时针或者逆时针给的),求,这个多边形是否是凸多边形,如果是凸多边形在判断这个圆是否在这个凸多边形内. 分析:判断凸多边形可 ...
- Distinct Substrings - spoj 694(不重复子串个数)
题目大意:RT 分析:练手题目....后缀数组确实很强大.....多理解height数组, 切勿使用模版,后缀数组本身就有很多细节,多犯错更有利理解这个算法. 代码如下: ========== ...
- 用js判断一个复选框是否被选中
<html> <head> <title> 复选框全选.全不选.反选.必选一个 </title> ...
- uva10829 L-Gap Substrings
题意 给出一个长度为\(n(\leqslant 50000)\)的字符串,求形如\(\mathrm{UVU}\)形式的字串,其中\(\mathrm{V}\)的长度给定. 题解 枚举\(\mathrm{ ...
- Amoeba实现mysql主从读写分离
Amoeba实现mysql主从读写分离 这段在网上看了下关于amoeba的文章,总体感觉好像要比mysql-proxy好的多,也参考了不少的资料,此文章可能与其他文章作者会有雷同的地方,请谅解,但是此 ...