大資料BigData之如何安裝配置hive?
阿新 • • 發佈:2018-12-19
在安裝hive之前,希望你已經裝好:
- Java
- hadoop
文章目錄
- 1. 配置環境變數
- 2. 配置 hive-env.sh 檔案
- 3. 配置 hive-site.xml
- 4. /hive/conf/下,找到hive-site.xml配置檔案
- 5. 修改 hive-config.sh
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