Mac OS X上搭建伪分布式CDH版本Hadoop开发环境
最近在研究数据挖掘相关的东西,在本地 Mac 环境搭建了一套伪分布式的 hadoop 开发环境,采用CDH发行版本,省时省心。
官网这篇文章有的地方格式不对,部分链接也失效,运行时还会有一些问题,所以这里重新记录如下。
安装 JDK
安装完成后路径应该是
/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 压缩包
查找下面四个文件并下载到本地
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
开始运行
命令行中执行命令
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
测试 MR 任务
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.1.jar pi 100 100
原文链接:http://www.jianshu.com/p/fbb33a68c77f
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
Mac OS X上搭建伪分布式CDH版本Hadoop开发环境的更多相关文章
- Mac OS X上搭建Apache、PHP、MySQL的Web服务器
mac OS 系统太帅了,安装php的环境如此简单,大赞一个! 转载自http://jingyan.baidu.com/article/39810a23e1939fb636fda6a9.html 在M ...
- 在Windows上搭建PhoneGAP(crodova)的开发环境
PhoneGAP是一个可以将web应用打包成移动应用的开源框架,使用它可以迅速的将HTML.CSS和JavaScript开发的web应用打包成跨平台的移动应用程序,而Apache Cordova是Ph ...
- notepad++上搭建gtk+2.0/3.x开发环境
前言 老师布置了一道题需要用到图形界面,于是开始找图形库.最后选择了gtk+图形库,然后折腾了大概一天. 这里记录自己新学到的知识,同时也给后来者一些便利. 准备 下载以下内容 notepad++(由 ...
- CDH版本java开发环境搭建
1. maven设置 除了阿里云库,还需要引入 cdh, spring库.需要修改maven下面的配置文件setting.xml, 参考下面设置. <mirror> <!--This ...
- 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建
CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...
- Mac OS X 上安装 ASP.NET 5
在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目 终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本 ...
- 简单理解在Mac OS X上运行ASP.NET程序
运行ASP.NET程序的三要素: 1) CLR(.NET运行时) 2) KRE(ASP.NET运行时) 3) Web服务器 所以在Mac OS X上运行ASP.NET程序,就需要对应这三要素的东西: ...
- hadoop(二)搭建伪分布式集群
前言 前面只是大概介绍了一下Hadoop,现在就开始搭建集群了.我们下尝试一下搭建一个最简单的集群.之后为什么要这样搭建会慢慢的分享,先要看一下效果吧! 一.Hadoop的三种运行模式(启动模式) 1 ...
- hadoop搭建伪分布式集群(centos7+hadoop-3.1.0/2.7.7)
目录: Hadoop三种安装模式 搭建伪分布式集群准备条件 第一部分 安装前部署 1.查看虚拟机版本2.查看IP地址3.修改主机名为hadoop4.修改 /etc/hosts5.关闭防火墙6.关闭SE ...
随机推荐
- selenium-----chromedriver与chrome版本映射
chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html chromedriver版本 支持的Chrome版本 v2 ...
- MyBatis源码分析(3)—— Cache接口以及实现
@(MyBatis)[Cache] MyBatis源码分析--Cache接口以及实现 Cache接口 MyBatis中的Cache以SPI实现,给需要集成其它Cache或者自定义Cache提供了接口. ...
- 浅谈Android样式开发之布局优化
引言 今天我们来谈一下Android中布局优化常用的一些手段.官方给出了3种优化方案,分别是</include>.</viewstub>.</merge>标签,下面 ...
- hibernate学习三(使用Annotation,注解)
一.新建一个工程hibernate_02_HelloWorld_Annotation(复制01工程并重命名); 二.新建一个实体类teacher.java,数据库中新建teacher表; import ...
- zend studio面板功能
不小心把zend界面右边的显示类中各个方法的窗口关掉了,如何打开呢: 法一:点击Windows菜单,选择show view项,选择outline即可: 法二:点击Windows菜单,选择Reset P ...
- NoSQL指南
一.数据库发展 1.早期出现的数据库包括平面文件数据管理系统.分层数据管理系统和网络数据管理系统,分别对应的数据结构是线性表.树和图. 平面文件数据管理系统是使用磁带对数据进行顺序存储的,带来的问题不 ...
- Spring-test使用JUnit时,测试类autowired报错,create bean error
Spring-test使用JUnit时,测试类里面使用autowired会报错, 报create bean error...... 但是controller里面@autowired可以正常运行的. 在 ...
- 转载:Centos7 从零编译Nginx+PHP+MySql 二
序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...
- mysql怎么查询一条记录的前一条记录和后一条记录
上一条:select * from 表 where 数据id<@当前显示数据id order by 数据_id asc) limit 1下一条:select * from 表 where 数据i ...
- python , angular js 学习记录【3】
1.Alembic是SQLAlchemy作者编写的Python数据库迁移工具.用它实现模型类和数据库的同步更新.(安装以及操作步骤 使用Alembic迁移数据库) 使用Alembic添加数据库字段操作 ...