本文主要介紹如何在Linux上安裝部署Hive,以及存儲Hive Metastore的依賴庫MySQL的安裝。關注專欄《破繭成蝶——大數據篇》,查看更多相關的內容~
目錄
一、安裝Hive
1.1 下載安裝包
首先我們需要去下載安裝包,請點擊這裏下載對應的安裝包,這裏我們選擇的是1.2.1版本的安裝包。
1.2 Hive的安裝部署
1.2.1 上傳解壓
1、將下載的安裝包上傳到master節點
2、解壓到/opt/modules/目錄下
tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C ../modules/
3、重命名
爲了方便後續操作,我們這裏對該目錄重新命名一下。
1.2.2 修改配置文件
1、複製hive-env.sh.template文件
在Hive的conf目錄下,複製一份hive-env.sh.template配置文件,如下:
cp hive-env.sh.template hive-env.sh
2、修改hive-env.sh文件
在hive-env.sh文件下配置Hadoop的路徑已經Hive conf目錄的路徑。
HADOOP_HOME=/opt/modules/hadoop-2.7.2
export HIVE_CONF_DIR=/opt/modules/hive/conf
1.2.3 Hadoop集羣配置
1、啓動HDFS和Yarn,這裏需要注意的是:Yarn的啓動需要到安裝ResourceManager的機器上啓動,我們這裏安裝在了slave01上面。
start-dfs.sh
start-yarn.sh
2、在HDFS上創建/tmp和/user/hive/warehouse兩個目錄並修改他們的權限。
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir /tmp
hdfs dfs -chmod g+w /tmp
hdfs dfs -chmod g+w /user/hive/warehouse
1.2.4 將Hive添加到環境變量
vim /etc/profile
##HIVE_HOME
export HIVE_HOME=/opt/modules/hive
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
1.3 測試
輸入hive進入命令行模式,可以進行簡單的操作測試,語句跟SQL沒什麼差別。
二、Hive實例測試
Hive安裝完之後,我們來弄一個小例子簡單的測試一下。
2.1 啓動Hive
啓動Hive,並新建一個數據庫(xzw)。
hive
create database xzw;
2.2 創建表
這裏我們創建一個people表,用來存放個人信息。people表有三個字段:id、姓名、性別,數據之間使用英文的逗號進行分割。
create table people(id int, name string, sex string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
2.3 加載本地數據
1、首先需要在本地構造一部分數據。這裏需要注意的是在建表的時候我們指定英文逗號爲分隔符,在導數據的時候它會自動識別英文逗號作爲字段的分割標誌。
2、加載本地數據到Hive。
load data local inpath '/root/files/p.txt' into table people;
三、安裝MySQL
一次不經意之間,我在另外一個窗口進入了Hive的命令行界面,然後就發生了下面的問題:
這是因爲Metastore默認存儲在自帶的derby數據庫中,推薦使用MySQL存儲Metastore。故有了MySQL的安裝,具體安裝過程可以參考《CDH6.3.1部署大數據集羣》中(五、安裝MySQL)的部分。這裏就不再贅述了。
四、將Hive Metastore配置到MySQL
4.1 拷貝驅動
將數據庫驅動拷貝的指定目錄,如下圖所示:
4.2 修改配置文件
1、新建hive-site.xml文件
touch hive-site.xml
2、在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://master:3306/metastore?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>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>p@ssw0rd</value>
<description>password to use against metastore database</description>
</property>
</configuration>
4.3 測試
啓動Hadoop集羣,在master節點上打開多個窗口,在其中一個裏面創建數據庫,另外的窗口也能發現剛剛創建的數據庫,證明配置成功。
這就是這篇文章的全部內容,你們在此過程中遇到了什麼問題,歡迎留言,讓我看看你們都遇到了哪些問題~