hive安裝用mysql作為元數據庫,mysql的設置


mysql的設置

在要作為元數據庫的mysql服務器上建立hive數據庫:

#建立數據庫
create database if not exists hive; #設置遠程登錄的權限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; #刷新配置 FLUSH PRIVILEGES;

或者創建專門訪問hive的用戶:

CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive'; create database hive; grant all on hive.* to hive@'%' identified by 'hive'; grant all on hive.* to hive@'localhost' identified by 'hive'; flush privileges; 

並將mysql jdbc驅動放入hive/lib目錄下。

 

注:grant all privileges on來更改用戶對應某些庫的遠程權限

grant all privileges on 庫名.表名 to '用戶名'@'IP地址' identified by '密碼' with grant option; flush privileges;

庫名:要遠程訪問的數據庫名稱,所有的數據庫使用“*”
表名:要遠程訪問的數據庫下的表的名稱,所有的表使用“*”
用戶名:要賦給遠程訪問權限的用戶名稱
IP地址:可以遠程訪問的電腦的IP地址,所有的地址使用“%”
密碼:要賦給遠程訪問權限的用戶對應使用的密碼

需要注意mysql的配置文件中的bindaddress 的參數和skip-networking 配置

bindaddress : 設定哪些ip地址被配置,使得mysql服務器只回應哪些ip地址的請求),最好注釋掉該參數或設置成為127.0.0.1以外的值

skip-networking : 如果設置了該參數項,將導致所有TCP/IP端口沒有被監聽,也就是說出了本機,其他客戶端都無法用網絡連接到本mysql服務器,所以應該注釋掉該參數

另外還需要在hive-site.xml配置文件配置mysql驅動,用戶名,及密碼配置信息

附:如果更改mysql root用戶密碼,需在/etc/my.cnf配置文件中增加host =localhost和password    =root123兩項配置項,不然會導致本地或者遠程工具連接不上mysql,進而也會導致hive啟動報一些連接元數據庫mysql相關的錯誤

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM