Hive安装与配置MySQL元数据库
一.MySQL的安裝
1.1 更新獲取最新軟件源,并安裝MySQL。
sudo apt-get update sudo apt-get install mysql-server1.2 啟動和關閉MySQL服務器。
service mysql start service mysql stop1.3 確認MySQL 是否啟動成功,MySQL 處于LISTEN狀態則表示啟動成功。
sudo netstat -tap | grep mysql1.4 安裝過程中若提示設置密碼則設置登錄密碼,若沒有提示設置密碼,則需要修改默認密碼。若 mysql -u root 和mysql -u root -p 都無法登錄則需要修改密碼。如下修改密碼步驟。
1.5 查看mysql 相關信息。
sudo cat /etc/mysql/debian.cnf1.6 設置無需驗證密碼登錄,打開my.cnf文件,添加skip-grant-tables,需要關閉mysql 服務。
service mysql stop vim /etc/mysql/my.cnf在文件末尾添加如下內容,按i進入輸入模式。
[mysqld] skip-grant-tables1.7 保存內容,由于文件是只讀文件,需要通過如下方式保存。
按Esc,然后Shift+ : ,輸入如下命令,保存文件。
1.8 啟動服務,無密碼登錄mysql。
service mysql start mysql -u root -p1.9 選擇一個數據庫,我選擇mysql。
show databases; use mysql;1.20 執行如下命令,查詢plugin 字段和更新plugin字段為默認值。
select plugin from user where user='root'; update user set plugin = 'mysql_native_password'; select plugin from user where user='root';1.21 執行更新密碼操作。
update user set authentication_string =password('root') where user ='root' and host='localhost';1.22 刷新權限。
flush privileges;1.23 退出mysql ,關閉服務,修改my.cnf文件,刪除skip-grant-tables。
exit service mysql stop1.24 重啟mysql ,密碼更新成功。
1.25 設置利用sqoop 導入MySQL中文亂碼問題,是由于character_set_server默認為latin1。
1.26 配置文件,修改編碼,添加character_set_server=utf8。
1.27 重啟服務,查看設置。
二.Hive 的安裝與配置
2.1 準備Hive 3.1.2。
https://pan.baidu.com/s/1h3UNBcXOeI3IYVYIOEhY_Q
提取碼: yj3x
2.2 進入Hive3.1.2所在目錄,解壓文件到/usr/local目錄。
sudo tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local cd /usr/local/ sudo mv apache-hive-3.1.2-bin hive sudo chown -R hadoop:hadoop hive #hadoop為當前登錄的用戶名2.3 修改環境變量
vim ~/.bashrc添加如下內容。
export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin export HADOOP_HOME=/usr/local/hadoop使配置生效。
source ~/.bashrc2.4 修改配置文件hive-site.xml。
cd /usr/local/hive/conf mv hive-default.xml.template hive-default.xml vim hive-site.xml添加如下配置,保存退出。
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>Driver class name for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionUserName</name><value>hive</value><description>username to use against metastore database</description></property><property><name>javax.jdo.option.ConnectionPassword</name><value>hive</value><description>password to use against metastore database</description></property> </configuration>2.5 下載mysql jdbc 包,解壓并配置,如下相關命令。
tar -zxvf mysql-connector-java-5.1.40.tar.gz cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib2.6 登錄數據庫,并進行相關設置操作創建數據庫hive。
service mysql start #啟動mysql服務mysql -u root -p #登陸shell界面create database hive;2.7 配置mysql 允許hive 接入。
grant all on *.* to hive@localhost identified by 'hive'; #將所有數據庫的所有表的所有權限賦給hive用戶,后面的hive是配置hive-site.xml中配置的連接密碼 flush privileges;2.8 啟動hive ,已經配置了PATH,可以直接輸入啟動名利,否則需要加上路徑。
start-dfs.sh #啟動Hadoop的HDFS hive #啟動hive2.9 相關錯誤解決。
- 出現 java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument
是因為hive內依賴的guava.jar和hadoop內的版本不一致造成的。 - 解決方法
1.查看hadoop安裝目錄下share/hadoop/common/lib內guava.jar版本
2.查看hive安裝目錄下lib內guava.jar的版本 如果兩者不一致,刪除版本低的,并拷貝高版本的 問題解決。
- 出現 org.datanucleus.store.rdbms.exceptions.MissingTableException: Required table missing : “VERSION” in Catalog “” Schema “”. DataNucleus requires this table to perform its persistence operations.
- 解決辦法:
2.10 Hive 簡單編程
導入的數據集是HDFS 文件目錄的數據,不是本地數據。
查看結果,也可以通過網頁方式查看結果。
select * from word_count;2.11 源文檔
http://dblab.xmu.edu.cn/blog/2440-2/#more-2440
總結
以上是生活随笔為你收集整理的Hive安装与配置MySQL元数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux的基础知识——模型结构和数据包
- 下一篇: python-朴素贝叶斯分类器