Mac os 搭建Hadoop和hive环境

参考文章:搭建Hadoop 搭建hive

使用brew install Hadoop 和brew install hive  搭建环境很方便,我按照上面两篇文章做了一下,整体还算顺利遇到了一点点小问题,不过最后都解决了,最后安装的Hadoop版本为2.8.1,hive版本为2.1.1。

一、 安装Hadoop

0. 默认已安装:brew,java

1.  使用 brew install Hadoop 安装Hadoop,然后等待……

《Mac os 搭建Hadoop和hive环境》 hadoop 成功安装

2. 配置ssh 免密码登录

首先在设置中开启远程登录:系统偏好设置—>共享—>勾选“远程登录”

然后执行以下命令: 这里参考的是 这篇文章的第二部分

1. ssh-keygen -t rsa

Press enterforeach line 提示输入直接按回车就好

2. cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys

3. chmod og-wx ~/.ssh/authorized_keys

之后测试 ssh localhost 如果不需要输入密码就成功了。

3. 配置hadoop相关文件

包括core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml 配置的方式按照文章开头给出的的“搭建hadoop”链接中的配置方式即可。

4. 运行hadoop样例程序

1)进入hadoop目录:cd /usr/local/Cellar/hadoop/2.8.1/libexec

     格式化hadoop文件系统:bin/hdfs namenode -format

2) 启动NameNode 和 DataNode的守护进程:sbin/start-dfs.sh

3) 启动ResourceManager 和NodeManager的守护进程 sbin/start-yarn.sh

4) 访问localhost:50070 和localhost:8088,见下图

《Mac os 搭建Hadoop和hive环境》 localhost:50070
《Mac os 搭建Hadoop和hive环境》 localhost:8088

5. 创建hdfs目录:bin/hdfs dfs -mkdir -p /user/chenghengchao/input (chenghengchao可以替换成任意的用户名) 这步的操作是指在hadoop文件系统中创建了一个/user/chenghengchao/input 目录,在50070页面的utiities标签下的browse the file system可以看到创建的目录,现在input目录下什么都没有

6. 拷贝一些文件到input目录 bin/hdfs dfs -put etc/hadoop input 这步操作将本地的etc/hadoop下面的文件拷贝到了input目录下

7. 运行样例  根据hadoop版本号修改命令,这里是执行share/hadoop/mapreduce下面的jar文件,从而检测环境是否已经搭建好

bin/hadoop jar  share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.1.jar grep input/hadoop  output ‘dfs[a-z.]+’ 大概的意思是说,将hdfs文件系统中input/hadoop下的以dfs开头的文件名输出到output中

运行过程截图:

《Mac os 搭建Hadoop和hive环境》 截图一
《Mac os 搭建Hadoop和hive环境》 截图二

8. 运行成功

《Mac os 搭建Hadoop和hive环境》 生成了output1文件夹(output 是之前生成的,不能重名)

在output1 下面有一个part-r-00000文件,下载之后可以看到结果

《Mac os 搭建Hadoop和hive环境》 运行结果

ps:如果中间遇到了问题,仔细看一下报错的地方,看看错误的原因是什么,比如文件路径不存在之类的。如果自己能够解决就更好了,这样才能快速学到东西,也能加深自己的理解

二、安装hive

0. 默认已安装brew,mysql

按照文章开头给出的”搭建hive“链接中的方法

运行brew install hive 安装hive,在mysql中创建元数据库,之后修改hive的配置,按照步骤一步一步做就好。

我遇到的问题是在最后”初始化库“的时候有错误,看了下日志发现是用户名密码在前一步配置错了重新配置之后就OK了。

最后可以将hadoop和hive的安装目录加入到环境变量中,方便下一次启动:

export HADOOP_HOME=”/usr/local/Cellar/hadoop/2.8.1/libexec”

export HIVE_HOME=”/usr/local/Cellar/hive/2.1.1″

export PATH=”$PYENV_ROOT/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin”

到这里,整个搭建过程基本就完成了,搭建的目的是为了更好的学习hive,接下来可能会有相关文章更新。欢迎大家交流!

补充:

按照以上教程配置好之后,在后续的使用中发现了一些问题,都是由于之前缺少配置造成的,更新如下:

1. /usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/hdfs-site.xml 文件需要配置

<property><name>dfs.datanode.data.dir</name><value>/usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/tmp</value><property>

value 值为已经存在的一个目录即可

2./usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/core-site.xm 文件需要配置

<proprety><name>hadoop.tmp.dir</name><value>/usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/tmp</value><property>

以上两个value值应该要一致。

暂时发现这两个问题。

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