1. 程式人生 > >Hadoop2.9+Hive3.0+Mysql8.0安裝配置,看這一篇就夠了

Hadoop2.9+Hive3.0+Mysql8.0安裝配置,看這一篇就夠了

由於以上均是最新版本,網上以往的資料用起來幾乎都有多少的錯誤,不少的錯誤真的會把人搞瘋,近10篇博文結合我自己在外網上找到的一些方法,記錄下來。
hadoop的安裝推薦看這一篇http://dblab.xmu.edu.cn/blog/install-hadoop/
寫配置檔案的時候注意更改版本資訊,我是在一臺主機上進行的偽分散式配置。

hive的安裝與配置http://dblab.xmu.edu.cn/blog/install-hive/。我發現廈大的這個部落格網站還是比較靠譜的,很多其他的博文直接將配置文件複製為
hive-site.xml檔案,這樣當你修改完這個檔案後,啟動hive時會發現出現錯誤,這個錯誤我試了很多種方法,發現都不能很好的解決,這是個特別大的坑。應該按照廈大部落格裡新建一個檔案,只把修改的部分寫到新檔案中。其中由於版本問題,所以更改了一項引數:新的jdbc驅動jdbc.driver的屬性值從com.mysql.jdbc.Driver換為com.mysql.cj.jdbc.Driver

,一定要更換。

Mysql安裝配置與接入hive:hadoop與hive安裝還是比較簡單的,畢竟有正確的教程。這一部分教程比較亂,總結如下:
ubuntu上的自帶的安裝包是mysql5.7,所以我要手動安裝,首先去官網下載一個安裝包https://dev.mysql.com/downloads/mysql/,
這裡寫圖片描述
選擇好合適的版本後,下載deb bundle就是圖中第一個。下載時甲骨文要求註冊一個賬戶,也蠻快的。如果有下載不下來的,我可以分享給大家我方在百度雲中的安裝包。
解壓:

cd ~
cd Downloads
mkdir mysql
sudo tar -xvf ~/Downloads/mysql-server_5
.7.21-1ubuntu14.04_amd64.deb-bundle.tar -C ~/Downloads/mysql

這裡寫圖片描述
解壓完有不少的安裝包,這裡安裝包安裝有順序的,安裝時會提醒你安裝失敗因為有一個安裝包沒有安裝,你就先把它安裝了就好了。
下面的安裝程式碼僅供參考,是從其他部落格上截下來的只是為了說明問題,大家看著自己的安裝包名字安裝。

cd ~/Downloads/mysql
sudo apt-get install libaio1
sudo dpkg -i mysql-common_8.0.11-1ubuntu16.04_amd64.deb
sudo dpkg -i libmysqlclient20_5.7.21
-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqlclient-dev_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqld-dev_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-community-client_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-client_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-community-server_5.7.21-1ubuntu14.04_amd64.deb **#可能安裝此包的時候會出現 錯誤:未安裝軟體包libmecab2,這時安裝依賴: sudo apt-get -f install,沒有錯就不需要安裝依賴了。** sudo dpkg -i mysql-server_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-community-source_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-community-test_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-testsuite_5.7.21-1ubuntu14.04_amd64.deb

安裝圖中會讓設定密碼,這個是之後登入mysql伺服器時的密碼,使用者名稱預設是root,這裡面的確定鍵滑鼠是無法選中的,用鍵盤方向鍵中下鍵和右鍵進行選擇。確定後會有兩個選項讓你選擇,選擇第二項就好了,雖然第一項是推薦的,但不少博文說選擇第一項後發生hive連不上資料的錯誤。
這樣安裝完時,開始進行配置
首先需要將mysql的驅動放到hive的lib目錄裡去。
https://blog.csdn.net/rav009/article/details/71189347這個博文只看開頭,下面的資訊很亂,估計博主自己沒有親自安裝或者資訊不全。開頭提到了很重要的資訊,就是一般jar檔案會被放在例如/usr/share/java/mysql-connector-java-8.0.11.jar。需要特別說明的是,進官網下載時你會發現ubantu16.04對應的包變成了deb包了,也就是說下載下來不能直接放到hive的lib目錄裡去,先安裝然後去博主說的/usr/share/java/mysql-connector-java-8.0.11.jar中把這個驅動mv到hive的lib目錄裡去。不安裝是不會生成這個驅動的,centos以及其他linux發行版是直接有的,mysql之前的版本對ubuntu直接就是這個驅動,現在8.0這個版本進行了更改,特別注意。
驅動放進去了之後需要將Mysql接入hive,替換掉原來的預設資料庫。
廈大部落格中的配置是之前版本的mysql,會出現錯誤。看這個
https://blog.csdn.net/wangmuming/article/details/25212941
首先啟動mysql sudo service mysql start
直接看標題1 在mysql裡建立hive使用者,並賦予其足夠許可權,
按照這三條語句進行,需要提醒的就是:
create user ‘hivedb’ identified by ‘hivedb’,這一句中建立user:hivedb和密碼hivedb,是使用者自己命名的,最最重要的就是這兩項是需要對應到hive-site.xml中的的name和password,按照直接粘進去,粘進去的是帳號密碼都是hive,因此需要統一下,這裡把這條語句更改為hive就好了,也可以自己隨便命名然後再次編輯hive-site.xml進行更改的。
這三條語句之後,在mysql的互動視窗輸入

create database hive;  #新建hive資料庫,這個分號是立即執行,需要加上。

其實hive-site.xml裡面也就五項引數,改起來很容易。到此位置基本的配置結束了

啟動hadoop,

sbin/start-dfs.sh  #在hadoop的HOME目錄下輸入,比如我的在/usr/local/hadoop

啟動hive:

hive #在終端只要一個hive就好了

上面已經啟動了Mysql。
進行最後一步,將mysql設定為hive的元資料庫:

schematool -dbType mysql -initSchema