在Hadoop-2.2.0集群上安裝 Hive-0.13.1 with MySQL


 

  fesh個人實踐,歡迎經驗交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3872872.html

軟件環境

操作系統:Ubuntu14.04

JDK版本:jdk1.7.0_51

Hadoop版本:Hadoop-2.2.0

Hive可以理解為在Hadoop和HDFS之上為用戶封裝一層便於用戶使用的接口。Hive需要將元數據存儲在RDBMS中,這對於Hive的運行是非常重要的。

(1)安裝Hadoop-2.2.0集群

參見《Ubuntu12.04-x64編譯Hadoop2.2.0和安裝Hadoop2.2.0集群

(2)下載Hive安裝包

stable版:apache-hive-0.13.1-bin.tar.gz

tar -zxvf apache-hive-0.13.1-bin.tar.gz

對於編譯Hive0.13.1,使用命令

mvn package -Pdist -DskipTests -Phadoop-2

(3)配置環境變量

在/etc/profile或者~/.bashrc中配置

#Set Hive Environment
export HIVE_HOME=/home/fesh/apache-hive-0.13.1-bin
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf

並使配置生效

source /etc/profile

(4)修改Hive配置文檔(不修改則使用默認配置文檔

創建hive-site.xml

cd apache-hive-0.13.1-bin/conf
cp hive-default.xml.template hive-site.xml

配置hive-site.xml

(4.1)參數hive-metastore.warehourse.dir 指定Hive的數據存儲目錄,指定的是HDFS上的位置,默認值為/usr/hive/warehouse

(4.2)參數hive.exec.scratchdir 指定Hive的數據臨時文件目錄,默認位置為/tmp/hive-${user.name}

(4.3)連接數據庫配置

在默認情況下,Hive已經配置好了Derby數據庫的連接參數,並且集成了Derby數據庫及數據庫連接驅動jar包。

參數javax.jdo.option.ConnectionURL指定Hive連接的數據庫:jdbc:derby:;databaseName=metastore_db;create=true

參數javax.jdo.option.ConnectionDriverName指定驅動的類入口名稱:org.apache.derby.jdbc.EmbeddedDriver

參數javax.jdo.option.ConnectionUserName指定數據庫的用戶名:APP

參數javax.jdo.option.ConnectionPassword指定數據庫的密碼:mime

Derby數據庫驅動在目錄$HIVE_HOME/lib/下,Hive-0.13.1默認提供的驅動包:derby-10.10.1.1.jar

 

創建hive-env.sh (也可以不進行這個創建和修改,因為之前已經在/etc/profile中注冊過了

cp hive-env.sh.template hive-env.sh

修改

# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/home/fesh/hadoop-2.2.0

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/home/fesh/apache-hive-0.13.1-bin/conf

(5)運行Hive

由於Hive使用Hadoop,因此必須在/etc/profile中的PATH路徑中設置了Hadoop目錄,或者需要在Hive的conf目錄hive-env.sh中添加路徑  export HADOOP_HOME=<hadoop-install-dir> (這里可以不用管)

另外,在Hive建表之前,(在默認配置文檔下)創建 /tmp 和/user/hive/warehouse文件目錄,並在HDFS中設置它們chmod g+w  (這一步可以不要,會自動新建

  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp
  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse
  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp
  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

必須先啟動Hadoop集群

啟動連接Hive,在目錄$HIVE_HOME下

./bin/hive

退出Hive

hive> exit;

 

附-配置MySQL存儲Hive元數據

(6)Hive配置

(6.1)修改$HIVE_HOME/conf/hive-site.xml,並配置連接字符串、驅動、數據庫用戶名、密碼參數。修改參數

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/hive?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>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>

(6.2)JDBC驅動包

下載MySQL的JDBC驅動包,並將其復制到$HIVE_HOME/lib目錄。這里是mysql-connector-java-5.1.22-bin.jar   鏈接: http://pan.baidu.com/s/1sj2lekX 提取密碼: kr9b

(7)MySQL配置

(7.1)安裝MySQL

sudo apt-get install mysql-server

在安裝過程中,會彈出一個界面要求輸入mysql的root的密碼並確認,然后系統會自動安裝mysql直到完成。

通過netstat -tap|grep mysql來查看系統是否已經有了mysql服務

說明安裝mysql成功。

(7.2)遠程訪問

修改/etc/mysql/my.cnf文件,注釋掉bind-address,該參數綁定本地用戶訪問。

#bind-address        = 127.0.0.1

(7.3)登陸

登錄數據庫命令:mysql -u root -p 回車后,輸入我們前面所設的密碼,就可以登錄成功。

(7.4)創建Hive系統的用戶權限

MySQL安裝完成后,只擁有root用戶。下面創建Hive系統的用戶權限(這里的用戶需要和之前設置的用戶相一致

創建用戶(這里用戶名和密碼都是 hive

CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';

賦予權限

GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;

強制寫入

flush privileges;

(7.5)重啟MySQL

exit退出MySQL,並重啟MySQL數據庫

sudo /etc/init.d/mysql restart

(8)重新運行Hive,並測試是否成功

在Hive中新建表,並查看

查看HDFS

查看MySQL

至此,安裝成功!

 

參考:

1、官網文檔https://cwiki.apache.org/confluence/display/Hive/GettingStarted

2、https://cwiki.apache.org/confluence/display/Hive/AdminManual+SettingUpHiveServer

3、ubuntu下安裝mysqlhttp://cycnet.blog.51cto.com/117809/812625/

 


免責聲明!

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



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