hive單機安裝(實戰)


hive使用與注意事項:http://blog.csdn.net/stark_summer/article/details/44222089

連接命令:beeline -n root -u jdbc:hive2://10.149.11.215:10000

退格亂碼解決:http://www.cnblogs.com/BlueBreeze/p/4232369.html

1,安裝好hadoop

2,下載hive

http://mirror.bit.edu.cn/apache/hive/hive-2.0.1/

hadoop2.6.2

1.7.0_80

3,配置:

啟動單機模式

Hive和Hadoop一樣,有3種啟動模式,分別是單機模式,偽分布模式,分布模式。這里先來說一下單機模式的啟動方式。

mv apache-hive-2.0.1-bin hive-2.0.1

 

vi hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
     <property>
          <name>hive.metastore.warehouse.dir</name>
          <value>/usr/bigdata/hive-2.0.1/warehouse</value>
          <description>location of default database for the warehouse</description>
          </property>
     <property>
          <name>javax.jdo.option.ConnectionURL</name>
          <value>jdbc:derby:/usr/bigdata/hive-2.0.1/metastore_db;create=true</value>
          <description>JDBC connect string for a JDBC metastore</description>
     </property>
</configuration>

  

4,環境變量:

vi /etc/profile

 

HIVE_HOME=/usr/bigdata/hive-2.0.1

PATH=$PATH:$HIVE_HOME/bin

 

5,初始化數據庫

schematool -initSchema -dbType derby

出現以下幾行說明初始化成功:

Starting metastore schema

initialization to 2.0.0

Initialization script hive-schema-2.0.0.derby.sql

Initialization script completed

schemaTool completed

 

6,

啟動程序

mkdir -p /usr/bigdata/hive-2.0.1/warehouse

chmod a+rwx /usr/bigdata/hive-2.0.1/warehouse

hive

 

如果出現hive>提示符則說明啟動成功

 

 

5. 常見錯誤

5.1 運行hive時出現

Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, don't forget to include the option to auto-create the underlying database in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for mysql)

錯誤原因:  數據庫沒有初始化,請參照4.2

5.2 使用schematool初始化數據庫時出現

Initialization script hive-schema-2.0.0.derby.sql Error: FUNCTION 'NUCLEUS_ASCII' already exists. (state=X0Y68,code=30000) org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! *** schemaTool failed ***

錯誤原因:數據庫文件夾中已經存在一些文件,解決方法就是清空數據庫文件夾(也就是前面配置的/opt/hive-2.0.0/metastore_db文件夾)

 

 

 

 

 

HIVE基本使用:

http://blog.csdn.net/f328310543/article/details/42682685

 

 

 

 

 

 

hive-env.xml

cp  hive-env.sh.template  hive-env.sh

$HIVE_HOME/bin的hive-env.sh,增加以下四行

export HADOOP_HOME=/usr/local/hadoop-2.6.0
export HIVE_HOME=/usr/local/hive-1.2.1
export JAVA_HOME=/usr/local/jdk1.7.0_80

  

拷貝mysql鏈接驅動到 hive/lib下面 

 

HIVE 元數據mysql保存配置 hive-site.xml



     <property>
          <name>hive.metastore.warehouse.dir</name>
          <value>/usr/bigdata/hive-2.0.1/warehouse</value>
          <description>location of default database for the warehouse</description>
          </property>

     <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>
     </property>

     <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value><!-- In my case UserName is hadoop-->
     </property>

     <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value><!-- In my case password is hadoop-->
     </property>


修改的配置的內容如下
    <property>
        <name>datanucleus.readOnlyDatastore</name>
        <value>false</value>
    </property>
    <property> 
        <name>datanucleus.fixedDatastore</name>
        <value>false</value> 
    </property>
 
加入以下:
    <property> 
        <name>datanucleus.autoCreateSchema</name> 
        <value>true</value> 
    </property>
    <property>
        <name>datanucleus.autoCreateTables</name>
        <value>true</value>
    </property>
    <property>
        <name>datanucleus.autoCreateColumns</name>
        <value>true</value>
    </property>
    




   啟動hive服務:

hive --service metastore &

hive --service hiveserver &

高版本用:

hive --service hiveserver2 &

 

 

hive 的metadata從1.0升級到2.0 數據遷移 

 有自帶的腳本的 

hive/scripts/metastore/upgrade

 

 


免責聲明!

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



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