Ubutu18.04.1 LTS 安裝Hive
阿新 • • 發佈:2018-11-24
hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,可以將sql語句轉換為MapReduce任務進行執行。 其優點是可以通過類SQL語句快速實現簡單的MapReduce統計。
安裝hive
1. 下載並解壓hive源程式
Hive下載地址
$ sudo tar -zxvf ~/Downloads/apache-hive-1.2.2-bin.tar.gz -C /usr/local # 解壓到/usr/local中
$ cd /usr/local/
$ sudo mv apache-hive-1.2.2-bin hive # 將資料夾名改為hive
$ sudo chown -R hadoop:hadoop hive # 修改檔案許可權
2. 配置環境變數
把hive命令加入到環境變數中:vim ~/.bashrc
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
使配置生效:source ~/.bashrc
3. 修改/usr/local/hive/conf下的hive-site.xml
$ cd /usr/local/hive/conf $ mv hive-default.xml.template hive-default.xml $ vim hive-site.xml
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>
安裝並配置mysql
Hive使用mysql作為底層的資料庫。預設已經為Ubuntu系統安裝好了Mysql。
1.安裝mysql-connetctor以連線hive。下載地址中找到previous GA versions中的tar包,下載mysql-connector-java-5.1.47.tar。
tar -zxvf mysql-connector-java-5.1.47.tar.gz #解壓
cp mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/local/hive/lib #將mysql-connector-java-5.1.47-bin.jar拷貝到/usr/local/hive/lib目錄下
2.啟動並登陸mysql shell
$ service mysql start #啟動mysql服務
$ mysql -u root -p #登陸shell介面
3. 新建hive資料庫。
mysql> create database hive; #這個hive資料庫與hive-site.xml中localhost:3306/hive的hive對應,用來儲存hive元資料
4. 配置mysql允許hive接入:
mysql> grant all on *.* to [email protected] identified by 'hive'; #將所有資料庫的所有表的所有許可權賦給hive使用者,後面的hive是配置hive-site.xml中配置的連線密碼
mysql> flush privileges; #重新整理mysql系統許可權關係表
啟動hive
啟動hive之前,請先啟動hadoop叢集。
$ start-all.sh #啟動hadoop
$ hive #啟動hive