hive mysql5.7_安装并使用mysql5.7作为hive的metastore
前言
hive的metastore默認是使用derby來作為metastore,但是derby有一個缺點是不能支持多用戶鏈接,雖然你可以通過切換目錄來支持,但是不同目錄的metastore會不一致,所以這里使用mysql來作為hive的metastore。
在linux上安裝mysql數據庫
1、下載最新的mysql數據庫,這里使用的版本是5.7.13,這里是使用二進制rpm進行安裝
mysql-community-client-5.7.13-1.el7.x86_64.rpm
mysql-community-common-5.7.13-1.el7.x86_64.rpm
mysql-community-libs-5.7.13-1.el7.x86_64.rpm
mysql-community-server-5.7.13-1.el7.x86_64.rpm
mysql-connector-java-5.1.39.tar.gz #jdbc java驅動
2、上傳到linux,并使用rpm命令安裝,若出現庫沖突,先把沖突的庫刪除
rpm -ivh mysql-community-common-5.7.13-1.el7.x86_64.rpm;
rpm -ivh mysql-community-libs-5.7.13-1.el7.x86_64.rpm ;
rpm -ivh mysql-community-client-5.7.13-1.el7.x86_64.rpm;
rpm -ivh mysql-community-server-5.7.13-1.el7.x86_64.rpm;
3、查看是否安裝成功
[root@localhost ~]# rpm -qa | grep mysql
mysql-community-server-5.7.13-1.el7.x86_64
mysql-community-common-5.7.13-1.el7.x86_64
mysql-community-client-5.7.13-1.el7.x86_64
mysql-community-libs-5.7.13-1.el7.x86_64
4、啟動mysql服務,這里我的linux環境是rhel-server-7.0-x86_64
[root@localhost ~]# service mysqld start Redirecting to /bin/systemctl start mysqld.service
5、初始化mysql的密碼
a.編輯/etc/my.cnf配置文件,添加skip-grant-tables,取消密碼驗證
vi /etc/my.cnf
b.啟動服務
service mysqld restart ;
c.命令行輸入mysql進入命令行界面,修改密碼
d.重新編輯/etc/my.cnf配置文件,去掉skip-grant-tables,登錄需密碼驗證,并重啟服務
e.登錄進入mysql客戶端
mysql -uroot -p123;
f.進入客戶端之后,若使用切換數據庫,例如use mysql出現
You must reset your password using ALTER USER statement before executing this statement
那是因為上面修改的密碼相當于在mysql安裝的時候的初始化的密碼變成了我們修改的密碼。所以在登錄系統后mysql數據庫要你修改原始密碼
SET PASSWORD = PASSWORD('123');
g.退出mysql客戶端,再重新登錄,切換數據庫
到此在linux上的mysql數據庫安裝成功,在這里為了允許遠程客戶端可以鏈到mysql數據庫,需要修改下mysql數據庫的登陸權限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
配置mysql作為hive的metastore
1、進入到hive的配置文件目錄
cd /home/cloud/hadoop/apache-hive-0.13.0-bin/conf
2、將hive-default.xml.template復制一份作為hive-site.xml
cp hive-default.xml.template hive-site.xml
hive默認是使用hive-default.xml.template作為配置文件,如果你想要自定義配置文件,需要自定義一個hive-site.xml
3、配置mysql的數據庫鏈接,用戶和密碼
vi hive-site.xml;
配置信息如下:
javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.137.101:3306/hive?createDatabaseIfNotExist=true&useSSL=false
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
root
username to use against metastore database
javax.jdo.option.ConnectionPassword
123
password to use against metastore database
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
root
username to use against metastore database
javax.jdo.option.ConnectionPassword
123
password to use against metastore database
配置該文件之前,注意要把hive-site.xml一些老的配置刪除,即先把configuration節點中的配置先清空,再配置數據庫鏈接
4、需要把mysql的驅動放到/home/cloud/hadoop/apache-hive-0.13.0-bin/lib目錄下
5、啟動hive
發現在mysql的數據庫中生成了一個hive的數據,到此說明配置成功
而創建的數據庫信息和表信息可以分別在hive數據庫中的DBS和TBLS表中查看
總結
以上是生活随笔為你收集整理的hive mysql5.7_安装并使用mysql5.7作为hive的metastore的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 控制器 模板,php学习笔记(一
- 下一篇: mysql 中caption_Djang