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。並做好軟鏈接(實現多版本切換,別問這么多,高手必須掌握的技巧)

[hadoop@master app]$ tar -zxvf apache-hive-1.0.0-bin.tar.gz
[hadoop@master app]$ mv apache-hive-1.0.0-bin hive-1.0.0
[hadoop@master app]$ ln -s hive-1.0.0  hive

 

 

添加hive環境變量

[root@master ~]$ vi /etc/profile


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


[root@master ~]# source /etc/profile

 

 

 

 

  3、安裝為hive存放元數據的MySQL

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

 

 

 

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

[root@master app]# rpm -qa|grep mysql 
mysql-libs-5.1.71-1.el6.x86_64
[root@master app]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
[root@master app]# rpm -qa|grep mysql 
[root@master app]#

 

 

 

 

 

 

 在線安裝 mysql 數據庫

[root@master 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服務

[root@master 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 密碼。

[root@master 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 root@localhost=password('rootroot');   密碼設置為rootroot
默認情況下Mysql只允許本地登錄,所以只需配置root@localhost就好


mysql> set password for root@%=password('rootroot');       密碼設置為rootroot (其實這一步可以不配)
 
         
mysql> set password for root@master=password('rootroot');   密碼設置為rootroot (其實這一步可以不配)
 
         
mysql> select user,host,password from mysql.user;    查看密碼是否設置成功

mysql> exit;

 

 

 

 

 

 

 

 

 

 

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

[root@master 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” 賬號登錄,命令如下。

[root@master 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的文件。

[hadoop@master conf]$ cp hive-default.xml.template hive-site.xml 

 

[hadoop@master 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文件。

 
         
[hadoop@master hive]$ pwd
/home/hadoop/app/hive

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

 

 

 

 

然后將路徑配置到hive-site.xml文件的以下參數中:

[hadoop@master 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 目錄下。

[hadoop@master lib]#pwd
/home/hadoop/app/hive/lib

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

 

 

 

 

 

 

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

[hadoop@master app]$ pwd
/home/hadoop/app
[hadoop@master app]$ service mysqld status


[hadoop@master app]$ service mysqld start
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

保存,開啟hive即可。

 
         

[hadoop@master hive]$ pwd
/home/hadoop/app/hive
[hadoop@master 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
[hadoop@master hive]$ bin/hive


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

 

 

 

 

 

   我這里,給大家推薦一個極好的軟件

基於JDBC的跨平台數據庫管理工具DbVisualizer安裝步驟(圖文詳解)(博主推薦)

 
        

 




 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM