天天看點

Hive部署

什麼是 Hive

        Hive 是一個翻譯器,它可以将SQL語句翻譯成一個 MapReduce 程式

        常見的資料分析引擎: Hive, Pig,  Impala,  Spark SQL

        Hive 是一個基于Hadoop 之上的資料分析引擎(資料倉庫)

        Hives               HDFS

         表      --------> 目錄

        資料    --------> 檔案

        分區    --------> 目錄

環境部署:

    部署前準備:

    環境變量:vi ~/.bash_profile

        HIVE_HOME=/root/training/apache-hive-2.3.0-bin

        export HIVE_HOME

        PATH=$HIVE_HOME/bin:$PATH

        export PATH

     嵌入式部署:

        (1)使用Hive自帶的Derby資料庫來存儲元資訊

        (2)Hive隻支援一個連接配接

             建立 conf/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:derby:;databaseName=metastore_db;create=true</value>

                    </property>    

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

                      <value>org.apache.derby.jdbc.EmbeddedDriver</value>

                      <name>hive.metastore.local</name>

                      <value>true</value>

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

                      <value>file:///root/training/apache-hive-2.3.0-bin/warehouse</value>

                    </property>        

                </configuration>    

            初始化MetaStore:

            schematool -dbType derby -initSchema

     遠端模式(需要MySQL資料庫):

            1. 安裝 MySQL資料庫(此處省略)

            2. 配置 hive-site.xml  (JDBC的參數)

                <?xml version="1.0" encoding="UTF-8" standalone="no"?>

                      <value>jdbc:mysql://localhost:3306/hive?useSSL=false</value>

                      <value>com.mysql.jdbc.Driver</value>

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

                      <value>hiveowner</value>

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

                      <value>Welcome_1</value>

                </configuration>

            3. 把MySQL 資料庫的驅動放到: Hive/lib 下

            4. 初始化 MySQL資料庫

                老版本的hive 在第一次運作時自動初始化 MySQL資料庫

                新版本的hive 需要執行指令:

                    schematool   -dbType  mysql  -initSchema

本文轉自 菜鳥的征程 51CTO部落格,原文連結:http://blog.51cto.com/songqinglong/2055914