Ubutu18.04.1 LTS 安裝Hive

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.1-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.40.tar.gz   #解壓cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar  /usr/local/hive/lib #將mysql-connector-java-5.1.40-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 hive@localhost identified by 'hive';   #將所有數據庫的所有表的所有權限賦給hive用戶,後面的hive是配置hive-site.xml中配置的連接密碼mysql> flush privileges;  #刷新mysql系統權限關係表

啓動hive

啓動hive之前,請先啓動hadoop集羣。

$ start-all.sh #啓動hadoop
$ hive  #啓動hive
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章