Hive基礎之Hive環境搭建

來源:互聯網
上載者:User

標籤:des   style   blog   http   color   java   使用   os   

Hive預設中繼資料資訊儲存在Derby裡,Derby內建的關係型資料庫、單Session的(只支援單用戶端串連,兩個用戶端串連過去會報錯);

Hive支援將中繼資料存放區在關係型資料庫中,比如:Mysql/Oracle;

本案例採用的是將hive的中繼資料存放區在MySQL中,故需要先安裝MySQL資料庫,使用的是CentOS6.4版本。

 

MySQL安裝

採用yum安裝方式安裝:

yum install mysql     #安裝mysql用戶端yum install mysql-server  #安裝mysql服務端

 判斷MySQL是否已經安裝好:

chkconfig --list|grep mysql

啟動mysql服務:

service mysqld start
或者
/etc/init.d/mysqld start

 檢查是否啟動mysql服務:

/etc/init.d/mysqld status

 設定MySQL開機啟動:

chkconfig mysqld on 

檢查設定MySQL開機啟動是否配置成功:

chkconfig --list|grep mysql

顯示2 3 4 5為on表示開機啟動配置成功

建立MySQL的root管理員帳號:

mysqladmin -uroot password root

 登入MySQL

mysql -uroot -proot

 

Hive安裝

安裝依賴

Hive安裝所需要的依賴:

1)JDK6以上;

2)Hadoop安裝完畢;

 

安裝版本

hive-0.12.0-cdh5.0.0.tar.gz

:http://archive.cloudera.com/cdh5/cdh/5/

一般hive是安裝在NameNode上

 

安裝步驟

1)解壓

tar -zxvf hive-0.12.0-cdh5.0.0.tar.gz -C /app

2)修改Hive設定檔

cd /app/hive-0.12.0-cdh5.0.0/confcp hive-env.sh.template hive-env.shvi hive-env.sh
HADOOP_HOME=/app/hadoop-2.3.0-cdh5.0.0 #多hadoop叢集中需要手工指向你需要的hadoop叢集export HIVE_CONF_DIR=/app/hive-0.12.0-cdh5.0.0/conf #多hive叢集中需要手工指向安裝hive的conf目錄

hive-site.xml配置成如下

如果hive-site.xml檔案不存在,則從hive-default.xml.template拷貝一份

cp hive-default.xml.template hive-site.xml

<?xml version="1.0"?><?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>    </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> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> </property></configuration>

注意:此處的hive資料庫不需要手工建立,在hive正常啟動後,會自動建立hive資料庫;hive啟動成功會在mysql的hive資料庫中自動建立一系列的表;

hive預設資料存放區的目錄是: /user/hive/warehouse,也可以手工指定

<property>  <name>hive.metastore.warehouse.dir</name>  <value>/user/hive/warehouse</value></property>

3)拷貝mysql驅動包到hive/lib

cp /home/hadoop/software/mysql-connector-java-5.1.17-bin.jar /app/hive-0.12.0-cdh5.0.0/lib/

4)為使用者指派許可權

在mysql中執行如下命令:

grant all on hive.* to [email protected]‘%‘ identified by ‘root‘ WITH GRANT OPTION ;

意思是hive資料庫中的任何對象都給任意主機的root使用者以密碼為root的方式遠端存取。

5)配置環境變數

配置HIVE_HOME以及將$HIVE_HOME/bin添加到path中,方便操作

6)啟動

在linux命令列執行:hive   因為已經將$HIVE_HOME/bin添加到bin中,所以直接使用hive即可

補充:

A)hive指定記錄層級方式啟動:

hive --hiveconf hive.root.logger=DEBUG,console

B)啟動hive遠端存取(thriftserver方式),比如java代碼調用hive

hive --service hiveserver &

C)瀏覽器訪問方式

在hive-site.xml中添加

<property>  <name>hive.hwi.war.file</name>  <value>lib/hive-hwi-0.12.0-cdh5.0.0.jar</value></property>

啟動Hive的UI

hive --service hwi

瀏覽器訪問:http://hostname:9999/hwi

 

Hive常用命令

先介紹幾個Hive常用的命令,後續會詳細介紹各種命令的用法

查看所有資料庫: show databases

切換到hive資料庫: use hive

顯示hive資料庫下的所有表: show tables

建立表: create table test(id int, name string)

查看錶結構。僅包含欄位資訊: desc table_name

查看錶結構詳細資料。不僅包含欄位資訊,還包含儲存路徑等資訊: desc extended table_name

查看function: desc function function_name 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.