使用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,然后等待......

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,見下圖


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 下面有一個(gè)part-r-00000文件,下載之后可以看到結(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è)問題。