最近在研究数据挖掘相关的东西,在本地 Mac 环境搭建了一套伪分布式的 hadoop 开发环境,采用CDH发行版本,省时省心。

参考来源 How-to: Install CDH on Mac OSX 10.9 Mavericks

官网这篇文章有的地方格式不对,部分链接也失效,运行时还会有一些问题,所以这里重新记录如下。


安装 JDK

JDK 1.8 下载地址

安装完成后路径应该是

/Library/Java/JavaVirtualMachines/jdk1.8.x_xx.jdk/Contents/Home 

其中 x_xx 应该是你下载的对应版本号。

在命令行中执行

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.x_xx.jdk/Contents/Home"


本地 SSH 登录

打开 系统分享 设置

 

勾选 Remote Login 复选框。

打开命令行,执行以下命令:

ssh-keygen -t rsa -P ""

一路回车,直到结束。如果你有 ssh 登录的经验,这里可以用你自己的公钥私钥配置登录。

最后执行

ssh localhost

如果没有报错,则配置成功。


下载 CDH Hadoop 压缩包

CDH5下载地址

查找下面四个文件并下载到本地

hadoop-2.6.0-cdh5.7.1.tar.gz

hbase-1.2.0-cdh5.7.1.tar.gz

hive-1.1.0-cdh5.7.1.tar.gz

zookeeper-3.4.5-cdh5.7.1.tar.gz


建立 CDH 环境

打开命令行,执行以下命令

mkdir -p ~/cloudera/lib ~/cloudera/cdh5.7 ~/cloudera/ops/dn ~/cloudera/ops/logs/hadoop ~/cloudera/ops/logs/hbase ~/cloudera/ops/logs/yarn ~/cloudera/nn ~/cloudera/pids ~/cloudera/tmp ~/cloudera/zk

将上一步下载的四个压缩包拷贝到 ~/cloudera/lib 目录,并打开命令行执行以下命令

tar -xvf hadoop-2.6.0-cdh5.7.1.tar.gz

tar -xvf hbase-1.2.0-cdh5.7.1.tar.gz

tar -xvf hive-1.1.0-cdh5.7.1.tar.gz

tar -xvf zookeeper-3.4.5-cdh5.7.1.tar.gz

命令行中 cd ~/cloudera/cdh5.7 ,并执行以下命令

ln -s ~/cloudera/lib/hadoop-2.6.0-cdh5.7.1 hadoop

ln -s ~/cloudera/lib/hbase-1.2.0-cdh5.7.1 hbase

ln -s ~/cloudera/lib/hive-1.1.0-cdh5.7.1 hive

ln -s ~/cloudera/lib/zookeeper-3.4.5-cdh5.7.1 zookeeper

最后你的 ~/cloudera 目录结构应该如下

 

编辑配置文件

~/.profile

CDH="cdh5.1"

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.x_xx.jdk/Contents/Home"

export HADOOP_HOME="/Users/你的用户名/cloudera/${CDH}/hadoop"

export HBASE_HOME="/Users/你的用户名/cloudera/${CDH}/hbase"

export HIVE_HOME="/Users/你的用户名/cloudera/${CDH}/hive"

export HCAT_HOME="/Users/你的用户名/cloudera/${CDH}/hive/hcatalog"

export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${ZK_HOME}/bin:${HBASE_HOME}/bin:${HIVE_HOME}/bin:${HCAT_HOME}/bin:${PATH}

按照 github 上的文件内容编辑下面一系列文件

$HADOOP_HOME/etc/hadoop/core-site.xml

$HADOOP_HOME/etc/hadoop/hdfs-site.xml

$HADOOP_HOME/etc/hadoop/yarn-site.xml

$HADOOP_HOME/etc/hadoop/mapred-site.xml

$HADOOP_HOME/etc/hadoop/hadoop-env.sh (indicated properties only)

$HBASE_HOME/conf/hbase-site.xml

$HBASE_HOME/conf/hbase-env.sh


开始运行

命令行中执行命令

hdfs namenode -format

编辑文件 $HADOOP_HOME/libexec/hadoop-config.sh,查找 # Attempt to set JAVA_HOME if it is not set 到这一行,把下面的四行代码中

if [ -x /usr/libexec/java_home ]; then

export JAVA_HOME=($(/usr/libexec/java_home))

else

export JAVA_HOME=(/Library/Java/Home)

fi

多余的两对括号去除,变成下面这样

if [ -x /usr/libexec/java_home ]; then

export JAVA_HOME=$(/usr/libexec/java_home)

else

export JAVA_HOME=/Library/Java/Home

fi

这两对括号会导致取值不正确,最后 yarn 中会只用硬编码的 JAVA_HOME=/bin/ 来寻找 java 命令的位置,导致所有的任务都会执行失败。

启动服务

sh $HADOOP_HOME/sbin/start-dfs.sh

sh $HADOOP_HOME/sbin/start-yarn.sh

sh $HBASE_HOME/bin/start-hbase.sh

停止服务

sh $HADOOP_HOME/sbin/stop-dfs.sh

sh $HADOOP_HOME/sbin/stop-yarn.sh

sh $HBASE_HOME/bin/stop-hbase.sh

服务管理地址

HDFS: http://localhost:50070/dfshealth.html

Yarn Scheduler: http://localhost:8088/cluster

Yarn NodeManager: http://localhost:8042/node

HBase: http://localhost:60010/master.jsp

测试 MR 任务

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.1.jar pi 100 100

文/Edward_Koios(简书作者)
原文链接:http://www.jianshu.com/p/fbb33a68c77f
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

Mac OS X上搭建伪分布式CDH版本Hadoop开发环境的更多相关文章

  1. Mac OS X上搭建Apache、PHP、MySQL的Web服务器

    mac OS 系统太帅了,安装php的环境如此简单,大赞一个! 转载自http://jingyan.baidu.com/article/39810a23e1939fb636fda6a9.html 在M ...

  2. 在Windows上搭建PhoneGAP(crodova)的开发环境

    PhoneGAP是一个可以将web应用打包成移动应用的开源框架,使用它可以迅速的将HTML.CSS和JavaScript开发的web应用打包成跨平台的移动应用程序,而Apache Cordova是Ph ...

  3. notepad++上搭建gtk+2.0/3.x开发环境

    前言 老师布置了一道题需要用到图形界面,于是开始找图形库.最后选择了gtk+图形库,然后折腾了大概一天. 这里记录自己新学到的知识,同时也给后来者一些便利. 准备 下载以下内容 notepad++(由 ...

  4. CDH版本java开发环境搭建

    1. maven设置 除了阿里云库,还需要引入 cdh, spring库.需要修改maven下面的配置文件setting.xml, 参考下面设置. <mirror> <!--This ...

  5. 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建

    CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...

  6. Mac OS X 上安装 ASP.NET 5

    在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目 终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本 ...

  7. 简单理解在Mac OS X上运行ASP.NET程序

    运行ASP.NET程序的三要素: 1) CLR(.NET运行时) 2) KRE(ASP.NET运行时) 3) Web服务器 所以在Mac OS X上运行ASP.NET程序,就需要对应这三要素的东西: ...

  8. hadoop(二)搭建伪分布式集群

    前言 前面只是大概介绍了一下Hadoop,现在就开始搭建集群了.我们下尝试一下搭建一个最简单的集群.之后为什么要这样搭建会慢慢的分享,先要看一下效果吧! 一.Hadoop的三种运行模式(启动模式) 1 ...

  9. hadoop搭建伪分布式集群(centos7+hadoop-3.1.0/2.7.7)

    目录: Hadoop三种安装模式 搭建伪分布式集群准备条件 第一部分 安装前部署 1.查看虚拟机版本2.查看IP地址3.修改主机名为hadoop4.修改 /etc/hosts5.关闭防火墙6.关闭SE ...

随机推荐

  1. spring-mvc注解(mvc:annotation-driver,JSON,配置详解)

    一.DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter 的使用已经过时! spring 3.1 开始我们应该用 Reque ...

  2. Java中堆的实现类PriorityQueue队列接口Queue

    Application:这层的职责是对接收到的数据做一些非业务性验证,事务的控制,最重要的是协调多个聚合之间的操作.这里应该可以清晰的表达出整个操作所做的事情,并且与通用语言是一致的. 以上我们讲到可 ...

  3. 转:解决npm install慢的问题

    使用NPM(Node.js包管理工具)安装依赖时速度特别慢,为了安装Express,执行命令后两个多小时都没安装成功,最后只能取消安装,笔者20M带宽,应该不是我网络的原因,后来在网上找了好久才找到一 ...

  4. coreseek操作

    开启服务$  /usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft.conf 重新索引: /usr/local/coresee ...

  5. 漫步ASP.NET MVC的处理管线

    ASP.NET MVC从诞生到现在已经好几个年头了,这个框架提供一种全新的开发模式,更符合web开发本质.你可以很好的使用以及个性化和扩展这个框架,但这需要你对它有足够的了解.这篇文章主要从整体角度总 ...

  6. SQL拼接自己需要的字符串

    SQL行转列有多种写法,如果想把多行数据拼接成为新的一行,比如: 首先,将查询转为XML 替换XML的标签 将第一个字符,去掉试用 STUFF函数 sql STUFF用法 1.作用 删除指定长度的字符 ...

  7. oracle锁等级以及解锁

    以下是两遍关于锁的介绍的文章,第一篇介绍锁等级以及常用操作,第二篇主要介绍了oracle中两个用以查询数据库任意对象的两个视图 一: http://www.cnblogs.com/lguyss/arc ...

  8. .Net Core--目录

    参考资料: .Net Core官网 https://www.microsoft.com/net/core 官方文档: https://docs.asp.net 博客园中文文档: http://www. ...

  9. scanf_s

    很多带“_s”后缀的函数是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元素,有时hacker可以利用原版的不安全性黑掉系统 例如: ANSI C中没有scanf_s(),只有s ...

  10. 让用VS2013编写的程序在XP中顺利运行

    vs2013编译好的exe文件拖到虚拟机xp中无法运行,提示错误,从网上搜索.找答案. 参考:http://blog.csdn.net/asanscape/article/details/387526 ...