Mac Hadoop CDH5 伪分布式 搭建(无脑版)

       网上关于Mac原生系统CDH5搭建的千篇一律,对于Hadoop/Linux小白的我来说,终于在各种百度后,搭建CDH5成功。为了让其他想要自学Hadoop又在网上四处碰壁的兄弟们少走弯路。我把我的搭建步骤和经验教训分享给大家。祝大家可以早入Hadoop的坑。

先上效果图:

《Mac Hadoop CDH5 伪分布式 搭建(无脑版)》 HDFS
《Mac Hadoop CDH5 伪分布式 搭建(无脑版)》 Yarn Scheduler
《Mac Hadoop CDH5 伪分布式 搭建(无脑版)》 Yarn NodeManager

《Mac Hadoop CDH5 伪分布式 搭建(无脑版)》 HBase

下面开始正式的教程:

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

       全是一步一步来的,所有截图都是自己截的,而且会提到很多初学者容易犯的问题,尽可能提到每一个细节。O(∩_∩)O

1.安装JDK

JDK 1.8 下载地址

2.本地ssh登录

打开 系统偏好设置–>共享 ,选中远程登录。

《Mac Hadoop CDH5 伪分布式 搭建(无脑版)》 远程登录 选中

打开终端,执行:(此步骤为生成、管理和转换认证密钥)

ssh-keygen -t rsa -P “”

然后执行,会要求输入本机密码。

ssh localhost

输入密码后,如果显示最后一次登录时间,则登录成功。

《Mac Hadoop CDH5 伪分布式 搭建(无脑版)》 ssh连接成功

3.下载 CDH Hadoop 压缩包

        我这里提供的是cdh5.7.1版本,就是我亲测版本。如果想下载其他版本可以到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

4.搭建CDH环境

     打开终端,执行下面指令,及在User/你的用户名/  下建立目录结构。想看发生了什么,请在执行命令前移至你用户名文件夹下,看变化。

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

步骤3下载的文件拷贝到User/你的用户名/cloudera/lib目录下,然后执行下面指令(下面指令为解压步骤3下载的压缩文件):

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

可以看到lib目录下出现四个解压后的文件。然后在命令行输入(到cdh5.7文件夹):

cd ~/cloudera/cdh5.7

然后执行以下命令(本命令为在cdh5.7文件夹下创建lib中刚才解压的四个文件夹的快捷方式):

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文件夹下目录结构如下(此时下载的放在lib中的压缩文件可以删除):

《Mac Hadoop CDH5 伪分布式 搭建(无脑版)》 cloudera文件夹下结构

5.编辑配置文件profile

执行下面指令:

vi ~/.bash_profile

然后进行编辑,添加下面指令在配置文件中添加PATH:

CDH=”cdh5.7″

export JAVA_HOME=”/Library/Java/JavaVirtualMachines/jdk1.8.x_xx.jdk/Contents/Home”(这里jdk1.8.x_xx.jdk处改为你电脑的java版本,查看java版本可以用指令java -version来查看)

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}

然后最容易有问题的一步来了。我在这儿耗了很长时间。/(ㄒoㄒ)/~~

分别依次执行(!!!先看下面备注)

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

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

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

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

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

vi $HBASE_HOME/conf/hbase-site.xml

vi $HBASE_HOME/conf/hbase-env.sh

备注: 每执行上面的一句 把里面的内容替换为github上对应文件的内容,也可以不用vi指令修改,可以自己根据文件路径找到对应文件进行内容编辑链接如下:(☆☆注意一定要把文件中所有的jordanh替换为你的用户名!!!!!因为jordanh是原作者的用户名)

$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

$HBASE_HOME/conf/hbase-site.xml

$HBASE_HOME/conf/hbase-env.sh

6.运行

只要上面的步骤都没有问题,那么你已经基本成功了。

终端中执行命令:

hdfs namenode -format

然后执行下面命令:

vi $HADOOP_HOME/libexec/hadoop-config.sh

编辑这个文件找到# Attempt to set JAVA_HOME if it is not set这一行,把下面的几句话改成:

《Mac Hadoop CDH5 伪分布式 搭建(无脑版)》 去掉两组括号

启动服务

start-dfs.sh

start-yarn.sh

start-hbase.sh

mr-jobhistory-daemon.sh start historyserver

启动后,没有报错,则启动成功。

可打开下面服务管理地址进行测试:

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

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

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

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

想要停止服务则输入一下指令:

stop-all.sh

sh $HADOOP_HOME/sbin/stop-dfs.sh

sh $HADOOP_HOME/sbin/stop-yarn.sh

sh $HBASE_HOME/bin/stop-hbase.sh

到这里就结束了,有问题可以留言问我~祝大家一遍成功!

    原文作者:地上最萌程序兔
    原文地址: https://www.jianshu.com/p/61137cf00c68
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞