1. 程式人生 > >大資料BigData之如何安裝配置hive?

大資料BigData之如何安裝配置hive?

在安裝hive之前,希望你已經裝好:

  • Java
  • hadoop

文章目錄


1. 配置環境變數

執行以下命令

$ sudo vi /etc/profile

增加如下配置:

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:/usr/local/hive/lib

2. 配置 hive-env.sh 檔案

所有Hive的配置是在 /usr/local/hive/conf 目錄下,進入這個目錄,我們需要先基於模板新建 hive-env.sh 檔案:

$ cp hive-env.sh.template hive-env.sh
$ vi hive-env.sh

指定Hadoop的路徑,增加以下行:

HADOOP_HOME=/usr/local/hadoop

3. 配置 hive-site.xml

預設配置下是沒有 hive-site.xml 檔案的, 我們要先從模板檔案中 copy 一份 hive-site.xml 出來。

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

**記得要先清空原有的預設資料!!!**否則會報錯,比如說找不到tmpdir目錄!

增加自己需要連線的資料庫 。比如mysql,比如Amazon s3
我這裡的例子是 Amazon s3的

<property
>
<name>fs.s3a.access.key</name> <value>your access key</value> </property> <property> <name>fs.s3a.secret.key</name> <value>your secret key</value> </property>

想要使用 hive 進行操作的話,必須要讓 hive 有元資料庫。
例子1:我想用 hive 進行管理操作 mysql,那麼就在 hive 中配置好並連線 mysql 。
例子2:我想用 hive 建立外部表操作 Amazon s3,那麼就在 hive 中配置一個元資料庫(可以是mysql、SQlite等),元資料庫是必須要有的,否則無法操作 Amazon s3。


4. /hive/conf/下,找到hive-site.xml配置檔案

4.1 需要修改臨時資料夾的路徑,改為正確的路徑

hive-site.xml查詢或新增

<property> 
 <name>hive.exec.local.scratchdir</name>
 <value>[your iotmp dir]</value>
 <description>Local scratch space for Hive jobs</description>
 </property>
 <property>
 <name>hive.downloaded.resources.dir</name>
 <value>[your iotmp dir]</value>
 <description>Temporary local directory for added resources in the remote file system.</description>
 </property>

4.2 如果沒有此路徑,則自己建立

這裡因為我當前使用者是user,所以我在hduser的目錄下建立一個iotmp資料夾,並授權:

$ mkdir -p /home/user/iotmp 
$ chmod -R 775 /home/user/iotmp

5. 修改 hive-config.sh

進入目錄/usr/local/hive/bin

$ vi hive-config.sh

在該檔案的最前面加入以下配置:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
export HADOOP_HOME=/usr/local/hadoop 
export HIVE_HOME=/usr/local/hive