Mac os 搭建Hadoop和hive環(huán)境

參考文章:搭建Hadoop?搭建hive

使用brew install Hadoop 和brew install hive ?搭建環(huán)境很方便,我按照上面兩篇文章做了一下,整體還算順利遇到了一點(diǎn)點(diǎn)小問題,不過最后都解決了,最后安裝的Hadoop版本為2.8.1,hive版本為2.1.1。

一、 安裝Hadoop

0. 默認(rèn)已安裝:brew,java

1. ?使用 brew install Hadoop 安裝Hadoop,然后等待......

hadoop 成功安裝

2. 配置ssh 免密碼登錄

首先在設(shè)置中開啟遠(yuǎn)程登錄:系統(tǒng)偏好設(shè)置--->共享--->勾選“遠(yuǎn)程登錄”

然后執(zhí)行以下命令: 這里參考的是 這篇文章的第二部分

1. ssh-keygen -t rsa

Press enterforeach line 提示輸入直接按回車就好

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

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

之后測(cè)試 ssh localhost 如果不需要輸入密碼就成功了。

3. 配置hadoop相關(guān)文件

包括core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml 配置的方式按照文章開頭給出的的“搭建hadoop”鏈接中的配置方式即可。

4. 運(yùn)行hadoop樣例程序

1)進(jìn)入hadoop目錄:cd /usr/local/Cellar/hadoop/2.8.1/libexec

? ? ?格式化hadoop文件系統(tǒng):bin/hdfs namenode -format

2) 啟動(dòng)NameNode 和 DataNode的守護(hù)進(jìn)程:sbin/start-dfs.sh

3) 啟動(dòng)ResourceManager 和NodeManager的守護(hù)進(jìn)程 sbin/start-yarn.sh

4) 訪問localhost:50070 和localhost:8088,見下圖

localhost:50070
localhost:8088

5. 創(chuàng)建hdfs目錄:bin/hdfs dfs -mkdir -p /user/chenghengchao/input (chenghengchao可以替換成任意的用戶名) 這步的操作是指在hadoop文件系統(tǒng)中創(chuàng)建了一個(gè)/user/chenghengchao/input 目錄,在50070頁面的utiities標(biāo)簽下的browse the file system可以看到創(chuàng)建的目錄,現(xiàn)在input目錄下什么都沒有

6. 拷貝一些文件到input目錄 bin/hdfs dfs -put etc/hadoop input 這步操作將本地的etc/hadoop下面的文件拷貝到了input目錄下

7. 運(yùn)行樣例 ?根據(jù)hadoop版本號(hào)修改命令,這里是執(zhí)行share/hadoop/mapreduce下面的jar文件,從而檢測(cè)環(huán)境是否已經(jīng)搭建好

bin/hadoop jar ?share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.1.jar grep input/hadoop ?output 'dfs[a-z.]+' 大概的意思是說,將hdfs文件系統(tǒng)中input/hadoop下的以dfs開頭的文件名輸出到output中

運(yùn)行過程截圖:

截圖一
截圖二

8. 運(yùn)行成功

生成了output1文件夾(output 是之前生成的,不能重名)

在output1 下面有一個(gè)part-r-00000文件,下載之后可以看到結(jié)果

運(yùn)行結(jié)果

ps:如果中間遇到了問題,仔細(xì)看一下報(bào)錯(cuò)的地方,看看錯(cuò)誤的原因是什么,比如文件路徑不存在之類的。如果自己能夠解決就更好了,這樣才能快速學(xué)到東西,也能加深自己的理解

二、安裝hive

0. 默認(rèn)已安裝brew,mysql

按照文章開頭給出的”搭建hive“鏈接中的方法

運(yùn)行brew install hive 安裝hive,在mysql中創(chuàng)建元數(shù)據(jù)庫,之后修改hive的配置,按照步驟一步一步做就好。

我遇到的問題是在最后”初始化庫“的時(shí)候有錯(cuò)誤,看了下日志發(fā)現(xiàn)是用戶名密碼在前一步配置錯(cuò)了重新配置之后就OK了。

最后可以將hadoop和hive的安裝目錄加入到環(huán)境變量中,方便下一次啟動(dòng):

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"

到這里,整個(gè)搭建過程基本就完成了,搭建的目的是為了更好的學(xué)習(xí)hive,接下來可能會(huì)有相關(guān)文章更新。歡迎大家交流!


補(bǔ)充:

按照以上教程配置好之后,在后續(xù)的使用中發(fā)現(xiàn)了一些問題,都是由于之前缺少配置造成的,更新如下:

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 值為已經(jīng)存在的一個(gè)目錄即可

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>

以上兩個(gè)value值應(yīng)該要一致。

暫時(shí)發(fā)現(xiàn)這兩個(gè)問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容