1. 為什么集成mysql來替換Derby
默認情況下,Hive元數據保存在內嵌的Derby數據庫中,只能允許一個會話連接,只適合簡單的測試。實際生產環境中不使用,為了支持多用戶會話,
則需要一個獨立的元數據庫,使用MySQL作為元數據庫,Hive內部對MySQL提供了很好的支持。
2.在Ubuntu系統下安裝並配置MySQL
2.1 安裝MySQL
sudo apt-get install mysql-server
上述命令會安裝以下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7
因此無需再安裝mysql-client等。安裝過程會提示設置mysql root用戶的密碼,設置完成后等待自動安裝即可。默認安裝完成就啟動了MySQL。
2.2 確認是否啟動成功
2.3 進入mysql shell界面
3.配置MySQL數據庫允許hive接入
3.1 新建hive數據庫,用來保存hive的元數據
mysql> create database hive;
3.2 將hive數據庫下的所有表的所有權限賦給hadoop用戶,並配置mysql為hive-site.xml中的連接密碼,然后
刷新系統權限關系表
mysql> CREATE USER 'hadoop'@'%' IDENTIFIED BY 'mysql';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'%' WITH GRANT OPTION;
mysql> flush privileges;
需要注意的是,在ubuntu系統里,默認情況下MySQL只允許本地登錄,所以需要修改配置文件將地址綁定注釋。
sudo vi /etc/mysql/my.cnf
找到 # bind-address = 127.0.0.1 注釋掉這一行就可以啦
3.3 修改hive-site.xml,設置MySQL為默認的meta數據庫
3.4 將mysql-connector-java-***.jar,復制到hive安裝目錄下的lib下
需要下載mysql的jdbc<mysql-connector-java-5.1.28.jar>,然后將下載后的jdbc放到hive安裝包的lib目錄下
下載鏈接是:http://dev.mysql.com/downloads/connector/j/
也可以從我的雲盤下載 鏈接是:https://pan.baidu.com/s/1i5mTBEH 密碼是:xbf
3.5 測試hive數據庫是否可以正常使用, 請參考 Hive安裝與配置