1. 程式人生 > >Hive環境的安裝部署(完美安裝)(叢集內或叢集外都適用)(含解除安裝自帶mysql安裝指定版本)

Hive環境的安裝部署(完美安裝)(叢集內或叢集外都適用)(含解除安裝自帶mysql安裝指定版本)

  Hive 安裝依賴 Hadoop 的叢集,它是執行在 Hadoop 的基礎上。 所以在安裝 Hive 之前,保證 Hadoop 叢集能夠成功執行。

  同時,比如我這裡的master、slave1和slave2組成的hadoop叢集。hive的安裝可以安裝在任一一個節點上,當然,也可以安裝在叢集之外,取名為client。只需要ssh免密碼通訊即可。

1、 下載Hive

  這裡很簡單,不多贅述。

http://archive.apache.org/dist/

2、安裝Hive

  把Hive安裝包apache-hive-1.0.0-bin.tar.gz移動到/home/hadoop/app/目錄下並解壓,然後將檔名稱改為 hive-1.0.0。並做好軟連結(實現多版本切換,別問這麼多,高手必須掌握的技巧)

[[email protected] app]$ tar -zxvf apache-hive-1.0.0-bin.tar.gz
[[email protected] app]$ mv apache-hive-1.0.0-bin hive-1.0.0
[[email protected] app]$ ln -s hive-1.0.0  hive

新增hive環境變數

[[email protected] ~]$ vi /etc/profile


#hive export HIVE_HOME
=/home/hadoop/app/hive PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$PATH


[
[email protected]
~]# source /etc/profile

  3、安裝為hive存放元資料的MySQL

  Hive 將元資料儲存在 RDBMS 中,一般常用 MySQL 和 Derby。預設情況下,Hive 元資料儲存在內嵌的 Derby 資料庫中,只能允許一個會話連線,只適合簡單的測試。實際生產環境中不適用, 為了支援多使用者會話,則需要一個獨立的元資料庫,使用 MySQL 作為元資料庫,Hive 內部對 MySQL 提供了很好的支援,配置一個獨立的元資料庫需要增加以下步驟。

  如果你是一名有經驗大資料工程師,無論是安裝jdk(注意:CentOS6.5有自帶的jdk),還是安裝mysql。都是先檢視系統是否已經安裝Mysql包。

[[email protected] app]# rpm -qa|grep mysql 
mysql-libs-5.1.71-1.el6.x86_64
[[email protected] app]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
[[email protected] app]# rpm -qa|grep mysql 
[[email protected] app]#

 線上安裝 mysql 資料庫

[[email protected] app]# yum install mysql-server
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirrors.yun-idc.com
 * extras: mirrors.btte.net
 * updates: mirrors.163.com
....
Is this ok [y/N]: y
...

 

 啟動mysql服務

[[email protected] app]# service mysqld start
Initializing MySQL database:  Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
...

 

設定 mysql 的 root 密碼

  MySQL在剛剛被安裝的時候,它的 root 使用者是沒有被設定密碼的,即回車就好。但是一般需要自定義配置,首先來設定 MySQL 的 root 密碼。

[[email protected] app]# mysql -u root -p
Enter password:           //預設密碼為空,輸入後回車即可
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
mysql> set password for [email protected]=password('rootroot');   密碼設定為rootroot
預設情況下Mysql只允許本地登入,所以只需配置[email protected]就好
mysql> set password for [email protected]%=password('rootroot');       密碼設定為rootroot (其實這一步可以不配)
mysql> set password for [email protected]=password('rootroot');   密碼設定為rootroot (其實這一步可以不配)
mysql> select user,host,password from mysql.user;    檢視密碼是否設定成功

mysql> exit;

 

為 Hive 建立相應的 Mysql 賬戶,並賦予足夠的許可權。

[[email protected] app]# mysql -uroot -prootroot
mysql> create user 'hive' identified by 'hive';    //建立一個賬號:使用者名稱為hive,密碼為hive

或者
mysql> create user 'hive'@'%' identified by 'hive';    //建立一個賬號:使用者名稱為hive,密碼為hive

mysql> GRANT ALL PRIVILEGES ON *.* to 'hive'@'%' IDENTIFIED BY 'hive' WITH GRANT OPTION;   //將許可權授予host為%即所有主機的hive使用者
mysql> GRANT ALL PRIVILEGES ON *.* to 'hive'@'master' IDENTIFIED BY 'hive' WITH GRANT OPTION;  //將許可權授予host為master的hive使用者
mysql> GRANT ALL PRIVILEGES ON *.* to 'hive'@'localhost' IDENTIFIED BY 'hive' WITH GRANT OPTION; //將許可權授予host為localhost的hive使用者(其實這一步可以不配)

預設情況下Mysql只允許本地登入,所以需要修改配置檔案將地址繫結給註釋掉。


Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)


mysql> select user,host,password from mysql.user;



mysql> exit;


 

建立 Hive 專用的元資料庫,記得用剛才建立的 “hive” 賬號登入,命令如下。

[[email protected] app]# mysql -uhive -phive //用hive使用者登入,密碼hive
mysql> create database hive;   //建立為hive存放的元資料庫的名稱為hive
Query OK, 1 row affected (0.00 sec)


mysql>  exit;

 

找到Hive安裝目錄 conf/下的 hive-site.xml檔案,修改以下幾個屬性。

如果conf/目錄下沒有 hive-site.xml檔案,則需要拷貝一個名為hive-site.xml的檔案。

[[email protected] conf]$ cp hive-default.xml.template hive-site.xml 
[[email protected] conf]$ vi hive-site.xml
< 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.ConnectionURL< /name>
    < value>jdbc:mysql://master:3306/hive?characterEncoding=UTF-8< /value>
    < description>JDBC connect string for a JDBC metastore< /description>
< /property>

< property>
    < name>javax.jdo.option.ConnectionUserName< /name>
    < value>hive< /value>
    < description>Username to use against metastore database< /description>
< /property>

< property>
    < name>javax.jdo.option.ConnectionPassword< /name>
    < value>hive< /value>
    < description>password to use against metastore database< /description>
< /property>

在hive 安裝目錄下,建立一個臨時的IO檔案iotmp,專門為hive來存放臨時的io檔案。

[[email protected] hive]$ pwd
/home/hadoop/app/hive

[[email protected] hive]$ mkdir iotmp [[email protected] hive]$ ls bin derby.log hcatalog lib metastore_db README.txt scripts conf examples iotmp LICENSE NOTICE RELEASE_NOTES.txt

然後將路徑配置到hive-site.xml檔案的以下引數中:

[[email protected] conf]$ vi hive-site.xml
< property>
    < name>hive.querylog.location< /name>
    < value>/home/hadoop/app/hive/iotmp< /value>
    < description>Location of Hive run time structured log file< /description>
< /property>
      
< property>
    < name>hive.exec.local.scratchdir< /name>
    < value>/home/hadoop/app/hive/iotmp< /value>
    < description>Local scratch space for Hive jobs< /description>
< /property>
      
< property>
    < name>hive.downloaded.resources.dir< /name>
    < value>/home/hadoop/app/hive/iotmp< /value>
    < description>Temporary local directory for added resources in the remote file system.< /description>
< /property>

將mysql-connector-java-5.1.21.jar驅動包,拷貝到 $HIVE_HOME/lib 目錄下。

[[email protected] lib]#pwd
/home/hadoop/app/hive/lib

[[email protected] lib]#rz //回車,選擇已經下載好的mysql驅動包即可 [[email protected] lib]$ ls mysql-connector-java-5.1.21.jar

  開啟hive前,先啟動mysql和hadoop叢集

[[email protected] app]$ pwd
/home/hadoop/app
[[email protected] app]$ service mysqld status


[[email protected] app]$ service mysqld start

 

儲存,開啟hive即可。

[[email protected] hive]$ pwd
/home/hadoop/app/hive
[[email protected] hive]$ ll
total 400
drwxrwxr-x. 3 hadoop hadoop 4096 Apr 12 11:01 bin
drwxrwxr-x. 2 hadoop hadoop 4096 Apr 12 18:34 conf
drwxrwxr-x. 4 hadoop hadoop 4096 Apr 12 11:01 examples
drwxrwxr-x. 7 hadoop hadoop 4096 Apr 12 11:01 hcatalog
drwxrwxr-x 2 hadoop hadoop 4096 Apr 12 18:34 iotmp
drwxrwxr-x. 4 hadoop hadoop 4096 Apr 12 18:35 lib
-rw-r--r--. 1 hadoop hadoop 23828 Jan 30 2015 LICENSE
-rw-r--r--. 1 hadoop hadoop 397 Jan 30 2015 NOTICE
-rw-r--r--. 1 hadoop hadoop 4044 Jan 30 2015 README.txt
-rw-r--r--. 1 hadoop hadoop 345744 Jan 30 2015 RELEASE_NOTES.txt
drwxrwxr-x. 3 hadoop hadoop 4096 Apr 12 11:01 scripts
[[email protected] hive]$ bin/hive


hive
> show databases; OK default Time taken: 3.684 seconds, Fetched: 1 row(s) hive> exit;

 

   我這裡,給大家推薦一個極好的軟體

 

相關推薦

Hive環境安裝部署完美安裝叢集叢集適用解除安裝mysql安裝指定版本

  Hive 安裝依賴 Hadoop 的叢集,它是執行在 Hadoop 的基礎上。 所以在安裝 Hive 之前,保證 Hadoop 叢集能夠成功執行。   同時,比如我這裡的master、slave1和slave2組成的hadoop叢集。hive的安裝可以安裝在任一一個節點上,當然,也可以安裝在

PSV破解流程+軟體遊戲安裝最簡單/最快的方法整理,已測支援3.65~3.68,理論上支援全系列版本

1.下載相關工具:下載qcma https://codestation.github.io/qcma/ 下載破解自動打包工具(懶人包,能夠根據使用者AIDKEY自動生成破解包) 新地址連結:https://pan.baidu.com/s/1gjwfsxupsxiCgCWNgC7F8Q

聯想拯救者r720win10安裝linuxubuntu雙系統

聯想拯救者R720自帶win10安裝linux(ubuntu)雙系統 準備事項 ubuntu的u盤啟動(網上有教程,下個比較新的版本,本人用的ubuntu16.04) 關閉win10的快速啟動(也可以不關閉,不關閉的話可能會導致以後ubuntu不能讀取windows裡的

ubuntu下安裝python3.5系統預設的是python2.7

正常情況下你的ubuntu系統是已經自帶了python的,不過自帶的版本是2.7的,而現在的Python3.5和2.7其實已經非常不同了,作為開發學習的話還是新版本的Python3.5吧。下面是安裝過

CentOS5.5中卸載jdk 安裝自己的jdk

5.5 eve 當前 nvi 如果 -1 code jdk1.7 profile 因為需要使用JDK1.6的版本,但是RedHat6.4自帶的JDK是1.7版本,因此需要卸載JDK1.7,安裝JDK1.6的版本,我使用的JDK1.6版本為:jdk-6u45-Linux-x6

input type = number 去除上下箭頭,禁用滾輪事件默認的滾輪加減數字

listen class mouse prevent HA scrollbar 圖標 web bar <style type="text/css"> /*盒子大小從邊框開始計算*/ html * { box-sizing: bo

使用CentOS7解除安裝jdk安裝自己的JDK1.8

使用CentOS7解除安裝自帶jdk安裝自己的JDK1.8   不管在什麼地方,什麼時候,學習是快速提升自己的能力的一種體現!!!!!!!!!!! 關於JDK1.8 與之前的版本相比有哪些變化和新特性我也不在這詳細的說明了,畢竟一度娘啥都有了,既然不多說那就直接開始吧!!

Installshield12 安裝 Window Service功能

昨天晚上需要修改一個安裝程式 找了很久,都沒有找到Installshield12 自帶的安裝 Window Service功能 怒了,不幹了,睡了 早上起床,繼續找,找到後做如下記錄,下次不會忘了! 1、點選Organization下Components 2、可以看到元件列

阿里雲搭建hadoop叢集伺服器,網、網訪問問題詳解。。。

  這個問題花費了我將近兩天的時間,經過多次是錯和嘗試,現在想分享給大家來解決此問題避免大家入坑,以前都是在區域網上搭建的hadoop叢集,並且是區域網訪問的,沒遇見此問題。 因為阿里雲上搭建的hadoop叢集,需要配置對映叢集經過內網訪問,也就是區域網的ip地址。   如果配置為公網IP地址,就會出現叢

黑猴子的家:解除安裝Linux系統MySql資料庫

1、關閉mysql服務 [[email protected] ~]# systemctl status mysql [[email protected] ~]# systemctl stop mysql 尖叫提示:解除安裝用root使用者

使用CentOS 7.5解除安裝jdk安裝自己的JDK1.8

本文主要介紹的是如何是Linux環境下安裝JDK的,因為Linux環境下,很多時候也離不開Java的,下面筆者就和大家一起分享如何jdk1.8的過程吧。 一、安裝環境 本機系統:Win 10 虛擬機器軟體:VMware PRO 14 虛擬機器Linux系統:CentOS 7.5 J

windows 10 應用安裝解除安裝

前段時間windows 10 預設程式甚至是開始選單都無法工作,本想放棄了,後來在在國外找到重新安裝預設應用的方法: 檢視所有應用 Get-AppxPackage -allusers | Sel

如何在自己的App中呼叫Android系統安裝/解除安裝程式

AppUtils裡面寫了如何安裝和解除安裝apk(這段程式碼出自這裡:點選開啟連結~),這裡的安裝和解除安裝呼叫的是Android本身的一個安裝解除安裝,所以可能頁面不會太優雅,並不符合商業App的期望,如果要做到更優雅的實現,就要用到靜默安裝/解除安裝,這個可以參照網上教

第三方軟體正確驗證163/126郵箱最新方法使用iPhone的郵件做示例

近期我手機上的163/126郵箱突然無法通過驗證、收發郵件,郵件下方顯示如下的資訊: 在網上查了很久,始終沒有找到真正有效、詳細的方法,後來自己摸索了好久,終於發現瞭解決的辦法。 1. 首先進入網易郵箱網易網頁版 2.進入設定,圖中紅框內的

Linux編譯安裝Python3.X版本並保留系統的Python2.X版本

以CentOS為例子: yum install wget yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-d

CentOS下安裝Solr5.4 服務安裝

前言 Solr現在是一個獨立的伺服器。 從Solr5.0開始,Solr不再發布為在任何Servlet容器中部署的“war”Web應用程式包(Web Application Archive)。Solr現在部署為一個獨立的java伺服器應用程式,包含在Un

把ubuntu的高gcc版本降到低版本如gcc 3.4的方法

用g++編譯C++程式時顯示出: /usr/lib/ld: cannot find -lc /usr/lib/ld: cannot find -lgcc_s /usr/lib/ld: cannot find -lm /usr/lib/ld: cannot find -lgcc_s 的錯誤。在網上看了很多中關

centos6.5解除安裝mysql

解除安裝mysql 輸入命令檢視自帶mysql情況 [[email protected] ~]# rpm -qa|grep mysql mysql-libs-5.1.71-1.

避坑必看:很詳盡的MyBatis返回增主鍵實驗包括插入更新SQL語句insert on duplicate key update的增主鍵返回情況

目錄 (7)介面 5. 總結 本篇文章對MyBatis操作MySQL時自增主鍵返回情況進行詳細的實驗,給出不同情況下Mybatis返回自增主鍵的不同行為,僅基於實驗結果,不做原始碼分

python下安裝 setuptools 和pippython環境部署

執行 pst 下載安裝 setup.py 命令 image python 腳本 執行命令 起因:換了一臺電腦,部署python環境,練習爬蟲。然而,還沒開始敲代碼,就先安裝各種第三方包,就想到了pip 安裝利器。 官網下載好了pip壓縮包,解壓後在pip目錄下執行命令:py