在Mac上安装Hadoop

对我这个之前从未接触过*nix的用户来说,使用命令行来做一系列的事情还是废了一番功夫。特写这个记录,以做备份。

获取Java

我的Mac运行的操作系统是OS X 10.7 Lion,之前已经安装过Java了,可以在实用工具->终端中使用java -version命令来确认java的版本。如果没有安装java,也可以进入下面网址下载:http://support.apple.com/kb/dl1421。

获取Hadoop

具体的地址自己百度吧。我下载的是1.0.4的stable版本。

下载完之后解压缩,我这里放置的目录是/users/Billy/Hadoop。

设置环境变量

在实际启动Hadoop之前,有三个文件需要进行配置。

但在这之前,我们需要设置一下几个类似Windows的环境变量,方便以后在命令行敲命令。

export HADOOP_HOME=/users/billy/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

配置hadoop-env.sh

在Hadoop->conf目录下,找到hadoop-env.sh,打开编辑进行如下设置:

export JAVA_HOME=/library/Java/Home(去掉注释)

export HADOOP_HEAPSIZE=2000(去掉注释)

export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"(去掉注释)

注意第三个配置在OS X上最好进行配置,否则会报“Unable to load realm info from SCDynamicStore”。

配置core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/users/billy/hadoop/tmp/hadoop-${user.name}</value>

<description>A base for other temporary directories.</description>

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:8020</value>

</property>

</configuration>

配置hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

</configuration>

配置mapred-site.xml

<configuration>

<property>
        <name>mapred.job.tracker</name>
        <value>localhost:8021</value>
    </property>
    
    <property>
        <name>mapred.tasktracker.map.tasks.maximum</name>
        <value>2</value>
    </property>
    
    <property>
        <name>mapred.tasktracker.reduce.tasks.maximum</name>
        <value>2</value>
    </property>
</configuration>

安装HDFS

经过以上的配置,就可以进行HDFS的安装了。

$HADOOP_HOME/bin/hadoop name node -format

如果顺利的话,会得到类似如下的输出:

BillymatoMacBook-Air:hadoop Billy$ $HADOOP_HOME/bin/hadoop namenode -format

Warning: $HADOOP_HOME is deprecated.

12/12/02 17:11:12 INFO namenode.NameNode: STARTUP_MSG:

/************************************************************

STARTUP_MSG: Starting NameNode

STARTUP_MSG:   host = BillymatoMacBook-Air.local/192.168.1.102

STARTUP_MSG:   args = [-format]

STARTUP_MSG:   version = 1.0.4

STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290; compiled by 'hortonfo' on Wed Oct  3 05:13:58 UTC 2012

************************************************************/

12/12/02 17:11:12 INFO util.GSet: VM type       = 64-bit

12/12/02 17:11:12 INFO util.GSet: 2% max memory = 39.9175 MB

12/12/02 17:11:12 INFO util.GSet: capacity      = 2^22 = 4194304 entries

12/12/02 17:11:12 INFO util.GSet: recommended=4194304, actual=4194304

12/12/02 17:11:12 INFO namenode.FSNamesystem: fsOwner=Billy

12/12/02 17:11:12 INFO namenode.FSNamesystem: supergroup=supergroup

12/12/02 17:11:12 INFO namenode.FSNamesystem: isPermissionEnabled=true

12/12/02 17:11:12 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100

12/12/02 17:11:12 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)

12/12/02 17:11:13 INFO namenode.NameNode: Caching file names occuring more than 10 times

12/12/02 17:11:13 INFO common.Storage: Image file of size 111 saved in 0 seconds.

12/12/02 17:11:13 INFO common.Storage: Storage directory /users/Billy/hadoop/tmp/hadoop-Billy/dfs/name has been successfully formatted.

12/12/02 17:11:13 INFO namenode.NameNode: SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG: Shutting down NameNode at BillymatoMacBook-Air.local/192.168.1.102

************************************************************/

启动Hadoop

很简单,一条命令搞定。

$HADOOP_HOME/bin/start-all.sh

顺利的话,一般会让你输入三次账号的密码。

简单调试

如果想试试看是否已经成功启动,可以用自带的例子试验一下:

$hadoop jar $HADOOP_HOME/hadoop-example-1.0.4.jar pi 10 100

成功的话,会有类似结果:

BillymatoMacBook-Air:hadoop Billy$ hadoop jar $HADOOP_HOME/hadoop-examples-1.0.4.jar pi 10 100

Warning: $HADOOP_HOME is deprecated.

Number of Maps  = 10

Samples per Map = 100

Wrote input for Map #0

Wrote input for Map #1

Wrote input for Map #2

Wrote input for Map #3

Wrote input for Map #4

Wrote input for Map #5

Wrote input for Map #6

Wrote input for Map #7

Wrote input for Map #8

Wrote input for Map #9

到这里,单节点的Hadoop就在Mac OS X上安装完成了。进入你的Hadoop世界吧!

基于MAC OS 操作系统安装、配置hadoop的更多相关文章

  1. 基于MAC OS 操作系统安装、配置mysql

    $ sudo mv mysql-5.1.45-osx10.6-x86_64 /usr/local/mysql$ cd /usr/local$ sudo chown -R mysql:mysql mys ...

  2. 在Mac OS X中配置Apache + PHP + MySQL

    在Mac OS X中配置Apache + PHP + MySQL Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Ap ...

  3. 在Mac OS X中配置Apache + PHP + MySQL 很详细

    这是一篇超级详细的配置mac os下面php+mysql+apache的文章.非常详细我的大部分配置就是参考上面的内容的,比如,PHP不能连接数据库,就是改一下默认的php.ini中pdo_mysql ...

  4. 使用Vmware虚拟机部署开发环境之Mac OS X系统安装

    一.使用VMware虚拟机部署Swift开发环境所需工具: Vmware Workstation 10.0虚拟机软件 VM安装Mac解锁工具Unlock 苹果操作系统(Mac OS X Maveric ...

  5. 如何在Mac OS系统下配置Java服务器开发环境

    1.http://www.oracle.com/technetwork/Java/javase/downloads/index-jsp-138363.html 安装JDK(可通过java -versi ...

  6. 笔记:MAC OS X下配置PHP开发、调试环境

    操作系统:MAC OS X 工具:MAMP.PhpStorm.xdebug.chrome 1.下载MAMP 2.安装比较简单,安装完成后,应用程序中会增加如下4个应用 MacGDBp是PHP调试器,使 ...

  7. 在Mac OS X中配置Apache

    启动Apache 有两种方法: 打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)” 打开“终端( ...

  8. Mac OS环境变量配置(Android Studio之Gradle)

    以gradle环境变量配置为例: Android Studio 自带的gradle路径为: /Applications/Android\ Studio.app/Contents/gradle/grad ...

  9. Mac OS X中配置Apache

    我使用的Mac OS X版本是10.8.2,Mac自带了Apache环境. 启动Apache 设置虚拟主机 启动Apache 打开“终端(terminal)”,输入 sudo apachectl -v ...

随机推荐

  1. javascript入门笔记2-window

    1.JavaScript-输出内容(document.write) <script type="text/javascript"> document.write(&qu ...

  2. java @override 全部报错

    问.java @override 全部报错 答: 错误:在 eclipse 的新工作空间开发项目时,出现大面积方法编译错误.鼠标放在方法名上后显示让我们去掉 @override 注解 原因: @Ove ...

  3. java经常看见 jdk5 jdk1.5 —— jdk6 jdk1.6 这两者有什么区别吗?

    问.java经常看见 jdk5 jdk1.5 —— jdk6 jdk1.6 这两者有什么区别吗? 答:没有区别,jdk5 和 jdk1.5 所代表的意思是一样的,只是叫法不一样 关键字: jdk5 j ...

  4. 【PHP】nl2br转化输出input框的换行

    在input或者textarea框中输入的换行符保存到数据库是/n,如果直接输出到前端的话是不会有换行的,所以要用到nl2br转化 nl2br($test);

  5. CERC2017 F: Faulty Factorial 简单数论题

    #include <iostream> using namespace std; #define ll long long ; ll n,p,r; ll poww(ll a,ll b){ ...

  6. 菜鸟学Linux - Tarball安装的一般步骤

    所谓的Tarball软件,实际上指的是从网络上下载到的源码包.通常是以.tar.gz和tar.bz2结尾.至于gz和bz2的区别在于压缩算法的不同(bz2的压缩效果好像好一些).源码包下载完成后,需要 ...

  7. Storm: 集群安装和配置

    前期准备:3台服务器: 192.168.8.94  192.168.8.95 192.168.8.96 去storm官网下载响应版本的软件包:http://storm.apache.org/downl ...

  8. PHP.29-TP框架商城应用实例-后台6-商品会员添加-价格、级别

    首先把需求分析搞清楚 主要实现两个功能 1.会员管理,设置成为会员的要求 2.添加商品时,可设置会员优惠价格 具体实现 1.建表[会员级别限定表p39_member_level{Id,级别名称,积分下 ...

  9. Maven系列之快速入门

    文章结构 唯快不破---Maven快速入门 稳打稳扎---Maven核心知识 实用为先---Maven如何建立Web项目  1   唯快不破---Maven快速入门       1.1 Maven项目 ...

  10. python面向对象的约束和自定义异常

    基于人为来约束: 即人为主动抛出异常 class BaseMessage(object): def send(self,x1): """ 必须继承BaseMessage, ...