hive mysql 远程_Hive配置 远程连接MySQL
因為hive是Hadoop的一個組件,作為數據廠庫,hive的數據是存儲在Hadoop的文件系統中的,hive為Hadoop提供SQL語句,是Hadoop可以通過SQL語句操作文件系統中的數據。hive是依賴Hadoop而存在的。
因此hive的安裝詳解,請參考博客:http://blog.csdn.net/qq_38799155/article/details/77605615
在hadfs上創建目錄并修改權限
hadoop fs -mkdir /tmp
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -chmod 777 /tmp
hadoop fs -chmod 777 /user/hive/warehouse
最重要的是對hive/conf/中的hive-site.xml文件進行配置 ,配置如下:
javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.150.1:3306/hive_metadata?createDatabaseIfNotExsit=true&characterEncoding=UTF-8
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
mysql
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
datanucleus.schema.autoCreateAll
true
hive.metastore.schema.verification
false
這里需要注意有幾個問題,很重要!!!
1. 遠程訪問mysql用在xml里配置上述代碼就夠了,其他教程里一直添加其他變量,實際上并不需要
2. jdbc:mysql://192.168.150.1:3306/hive? 這里必須是hive,我之前設置成其他數據庫名字,發現執行時候一直報錯。
3. 為了連接mysql需要在hive的lib中添加mysql connection的jar包
4. 同時啟動時候可能會出現問題需要將/home/hadoop-2.7.3/share/hadoop/yarn/目錄下的jline jar包刪除
然后可以直接啟動hive了;
啟動hive后可以看到遠程mysql下多了個hive數據庫
然后創建table譬如create table test(id int);
可以看到在hive的tbls表格TBL_Name下回多一個test表格
同時hdfs的/user/hive/warehouse下也會多一個test表格
總結
以上是生活随笔為你收集整理的hive mysql 远程_Hive配置 远程连接MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqlite 导入 mysql_SQLi
- 下一篇: mysql慢sql增加读写分离_MySQ