基於Hadoop叢集的Hive安裝配置(Derby資料庫)
Hive是一個數據倉庫基礎工具在Hadoop中用來處理結構化資料,提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行執行(具體的Hive架構大家自行搜尋)。接下來主要講下Hadoop叢集下Hive的安裝配置,並搭載Derby資料庫(一款小巧的資料庫,用於測試,不推薦開發使用,具體大家自行百度),進行一些基本的資料庫操作,好了,讓我們開始吧。
一、環境:同樣的啟用三個節點,分別是虛擬機器slave01,slave02,slave03,基於之前已經搭建好的環境,包括JDK、Zookeeper、Hadoop
二、Hive、Derby配置(自行解壓)
這裡 推薦下載版本較低的Hive ,本人經驗教訓告訴大家:高版本易出現問題,比如說我的Hadoop 2.7.6,下載Hive 2.2.0 安裝配置後就出現了很多問題,體驗極差,像 報錯為:

就屬於版本過高導致的,所以,大家儘量下載低版本的。
(1)設定Hive、Derby環境變數

新增HIVE_HOME、DERBY_HOME,如下:

使檔案生效,執行命令:

(2)修改Hive資料夾conf目錄下配置檔案 hive-env.sh
複製一份 hive-env.sh.template 重新命名為 hive-env.sh:

修改 hive-env.sh 內容:

(3)配置Hive的Metastore
配置Metastore意味著,指定要Hive的資料庫儲存,同樣,Hive/conf目錄下,複製一份 hive-default.xml.template重新命名為 hive-site.xml:

修改 hive-site.xml 內容,由於裡面原內容較多,可通過命令gedit以編輯器模式開啟:

刪除所有的配置,替換為:

其中,<value>jdbc:derby:;databaseName=metastore_db;create=true</value> 表示使用嵌入式的derby,create為true表示自動建立資料庫,資料庫名為metastore_db,另一種客服模式大家感興趣的可以自己看下;<value>org.apache.derby.jdbc.EmbeddedDriver</value> 表示使用嵌入式的derby;warehouse資料夾手動建立。
三、驗證Hive
執行Hive之前,需要建立/tmp資料夾在HDFS獨立的Hive資料夾,並給這些新建立的資料夾寫許可權:

啟動Hive前,先啟動Hadoop叢集,注意關閉防火牆,再然後啟動Hive,首次啟動可能會出現一個報錯提示:

雖然過了幾秒後Hive仍然成功啟動,但這個報錯資訊是怎麼回事呢?
原因:spark2以後,原有lib目錄下的大JAR包被分散成多個小JAR包,原來的spark-assembly-*.jar已經不存在,所以hive沒有辦法找到這個JAR包。
解決辦法:進入hive安裝路徑下的bin目錄下,編輯hive,如通過編輯器開啟:gedit hive,找到下面的Shell指令碼命令:

修改為:

好了,讓我們再次啟動Hive,成功啟動如下:

以上就是基於Hadoop叢集Hive+derby的安裝配置過程,當然對於資料庫的選擇比如mysql配置過程類似,大家自行參考資料。接下來就是Hive對資料庫的操作了,敬請期待吧!
對大資料的概念都是模糊不清的,大資料是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入瞭解
想學習的同學歡迎加入大資料學習qq群:458345782,有大量乾貨(零基礎以及進階的經典實戰)分享給大家
並且有清華大學畢業的資深大資料講師給大家免費授課,給大家分享目前國內最完整的大資料高階實戰實用學習流程體系 。