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 一些准备工作的基本步骤和步骤具体说明本文不再列出,文章中提到的“见参考”均指以上 ...
随机推荐
- lvs,haproxy,keepalived,heartbeat
lvs的是通过vrrp协议进行数据包转发的,提供的是4层的负载均衡.特点是效率高,只要你机器网卡抗的住就不是问题. haproxy可以提供4层或7层的数据转发服务,能做到7层的好处是可以根据服务所处的 ...
- [iOS] iOS系统中各种设置项的url链接
在代码中调用如下代码:NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"];[[UIApplication sharedApplic ...
- .\Obj\main.axf: Error: L6406E: No space in execution regions with .ANY selector matching sin_i.o(.co
这个问题原因是 芯片的 空间不足 解决方法是 在KEIL 的DEVICE中选择 更大的空间的芯片型号
- 与IO相关的等待事件troubleshooting-系列5
'db file scattered read' 这是另一种常见的等待事件.他产生于Oracle从磁盘读取多个块到Buffer Cache中非连续(" scattered&q ...
- jquery中字符串类型转换成整形的方法
jQuery有一个自带的函数为parseInt():这个函数可以把字符型的数字转换成整形例如: parseInt("1234"); //返回1234 parseInt(" ...
- 【Android - 框架】之GreenDao的使用
上一篇博客([Android - 框架]之ORMLite的使用)中介绍了ORMLite的基本使用,今天我们来研究以下GreenDao的使用. GreenDao和ORMLite一样,都是基于ORM(Ob ...
- python模拟登陆之下载
好长时间没有更新博客了,哈哈. 今天公司给了这么一个需求,现在我们需要去淘宝获取上一天的订单号,然后再根据订单号去另一个接口去获取订单详情,然后再给我展示到web! 中间涉及到的技术点有: 模拟登陆 ...
- mac tips
1. Mac Terminal color for different types 在 ~ 先建立一个文件 ~/.bash_profile 加入下面的两行:export CLICOLOR=1expo ...
- alloc、init你弄懂50%了吗?
前言 这是一篇我记录对alloc.init分析思考的笔记.如果读者想看懂我的第二个思考,可能需要您至少了解内存的分段分页管理,如果您对其一点都不知道,可以先看这篇软文简单了解一下.另外很重要的一点是, ...
- java获取计算机硬件参数
public class HardWareUtils { /** * * 获取主板序列号 * * * * @return */ public static String g ...