Hive環境配置(三)Hive常見屬性配置


Hive常見屬性配置

一、Hive數據倉庫位置配置

1.default數據倉庫的最原始位置是在hdfs上的:/user/hive/warehouse路徑下

 

2.在倉庫目錄下,沒有對默認的數據庫default創建文件夾。如果某張表屬於default數據庫,直接在數據倉庫目錄下創建一個文件夾。

3.修改default數據倉庫原始位置(將hive-default.xml.template如下配置信息拷貝到hive-site.xml文件中)

<property>

<name>hive.metastore.warehouse.dir</name>

<value>/user/hive/warehouse111</value>

<description>location of default database for the warehouse</description>

</property>

4.配置同組用戶有執行權限

hdfs dfs -chmod g+w /user/hive/warehouse111

 

5.之后啟動Hive服務:

[root@bigdata111 hive-1.2.1]# bin/hive

 

6.接着查看默認數據庫中的表

 

發現里面什么也沒有了,之前創建的student表沒有顯示,但確實存放在warehouse里面。

 

這是因為warehouse已經不是默認的數據庫存放位置了,取而代之的是warehouse111目錄。

向默認數據庫中創建一個student1表,它就能夠被顯示出來:

 

Web端:

 

二、 查詢后信息顯示配置

1.在hive-site.xml文件中添加如下配置信息,就可以實現顯示當前數據庫,以及查詢表的頭信息配置

<property>

<name>hive.cli.print.header</name>

<value>true</value>

</property>

 

<property>

<name>hive.cli.print.current.db</name>

<value>true</value>

</property>

2.重新啟動hive,對比配置前后差異

(1)配置前

 

(2)配置后

 

自己這里顯示是這樣的:

 

三、Hive運行日志信息配置

1.Hive的log默認存放在/tmp/itstar/hive.log目錄下(當前用戶名下)。

2.修改hive的log存放日志到/opt/module/hive-1.2.1/logs

(1)修改/opt/module/hive/conf/hive-log4j.properties.template文件名稱為

hive-log4j.properties

[itstar@bigdata111conf]$ pwd

/opt/module/hive/conf

[itstar@bigdata111conf]$ mv hive-log4j.properties.template hive-log4j.properties

(2)在hive-log4j.properties文件中修改log存放位置

hive.log.dir=/opt/module/hive/logs

四、多窗口啟動Hive測試

假設bigdata111壞了訪問不了數據庫,采用bigdata112替換bigdata111訪問數據庫。

思想:

只要Hadoop里的數據是正常的,即使bigdata111的Hive不能訪問數據庫,也可以用另外的機器配置上Hive進行訪問。

當Hadoop是高可用時,Hive就是高可用的,因為Hive是建立在Hadoop上的。

在bigdata112上安裝hive壓縮包並解壓-重要配置文件和bigdata111上的一樣、再安裝上驅動並配置驅動的配置文件即可。

1.安裝、解壓hive壓縮包到bigdata112上

1)集群之間上傳壓縮包:

[root@bigdata111software]# scp -r apache-hive-1.2.1-bin.tar.gz root@bigdata112:/opt/software/

2)解壓到指定目錄:

[root@bigdata112 software]# tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

2.修改配置文件-改路徑(Hadoop、Hive、logs)

1)配置文件修改-改Hadoop、Hive路徑:

[root@bigdata112 conf]# vi hive-env.sh.template

 

2)移動日志位置:

通過修改配置文件進行路徑更改。

[root@bigdata112 conf]# vi hive-log4j.properties.template

 

3.確認環境

檢測是否有已存在的mysql、mariadb包

(1)檢測本地是否有mysql已存在的包

rpm -qa | grep mysql

(2)檢測本地是否有mariadb已存在的包

rpm -qa | grep mariadb

(3)如果存在,則使用yum/rpm命令卸載

yum -y remove mariadb-libs-5.5.56-2.el7.x86_64

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

--nodeps是強制性的~

 

4.Hive元數據配置到MySql

1)驅動拷貝,上傳mysql-connector-java-5.1.27-bin.jar到/opt/module/hive/lib/

2)配置Metastore-元數據到MySql

     (1)在/opt/module/hive/conf目錄下創建一個

            [itstar@bigdata111conf]$ touch hive-site.xml

            [itstar@bigdata111conf]$ vi hive-site.xml

     (2)根據官方文檔配置參數,拷貝數據到hive-site.xml文件中。

           https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin

          這里面進行了小修改-防止報警告(紅色的)

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

        <property>

          <name>javax.jdo.option.ConnectionURL</name>

          <value>jdbc:mysql://bigdata111:3306/metastore?createDatabaseIfNotExist=true&amp;characterEncoding=utf-8&amp;useSSL=false</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>root</value>

          <description>username to use against metastore database</description>

        </property>

 

        <property>

          <name>javax.jdo.option.ConnectionPassword</name>

          <value>000000</value>

          <description>password to use against metastore database</description>

        </property>

</configuration>

5.啟功Hive

接下來啟動hive即可~ 這樣bigdata112也能代替bigdata111進行數據的查詢。

6.接下來也可以進行其他測試

(1)先啟動MySQL

[itstar@bigdata111mysql-libs]$ mysql -uroot -p000000

查看有幾個數據庫

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql             |

| performance_schema |

| test               |

+--------------------+

(2)再次打開多個窗口,分別啟動hive

[itstar@bigdata111hive]$ bin/hive

(3)啟動hive后,回到MySQL窗口查看數據庫,顯示增加了metastore數據庫

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

metastore          |

| mysql             |

| performance_schema |

| test               |

+--------------------+


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM