hadoop之旅7-centerOS7 : Hive環境搭建

以前的文章帶你們一塊兒從hadoop最開始的搭建,到最終寫一個MapReduce結尾,相信你們也基本瞭解什麼是hadoop。固然了現現在的開發,基本少不多有人寫MapReduce,由於寫起來太麻煩了,又是map,又是reduce,還要寫運行的客戶端。程序猿們太喜歡偷懶了,因此hive就出現了java

Hive

Hive是一個數據倉庫基礎工具在Hadoop中用來處理結構化數據。它架構在Hadoop之上,總歸爲大數據,並使得查詢和分析方便。並提供簡單的sql查詢功能,能夠將sql語句轉換爲MapReduce任務進行運行.mysql

是的,你沒有看錯,hive就是把sql語句轉換爲咱們MapReduce任務的,因此作hive開發徹底能夠不懂編程,只須要會寫sql語句就能夠了。linux

貼一張hive的結構圖,你們能夠體會如下web

注意

Hive不是爲在線事務處理而設計。它最適合用於傳統的數據倉庫任務sql

接下來就帶你們在CenterOS7上搭建一下Hive環境數據庫

Hive安裝有三種模式

嵌入模式:

元熟悉信息被存儲在Hive自帶的Derby數據庫中編程

只容許建立一個鏈接api

多用於Demo安全

本地模式:

元數據信息被存儲在MySQL數據庫中bash

MySQL數據庫與Hive運行在同一臺物理機器上

多用於開發和測試

遠程模式:

Hive與Mysql安裝在不一樣的操做系統上

在這裏就給搭建演示本地模式安裝,元數據存在mysql中

第一步

  1. 準備Hive-2.3.3工具包:點擊下載
  2. 放入linux本身目錄下,經過tar -zxvf xxxxx命令解壓,而後經過如下命令建立一個臨時目錄mkdir hive_tmpdir爲後面配置作準備

第二步

  1. 進入conf目錄,複製hive-default.xml.templatehive-site.xml文件
cp hive-default.xml.template hive-site.xml
複製代碼
  1. 配置hive-site.xml文件

將全部的${system:java.io.tmpdir}替換爲第一步建立的臨時目錄hive_tmpdir 若是後面還接的有相似這樣引用的變量${},能夠直接刪除

如:
<property>
    <name>hive.exec.local.scratchdir</name>
    #<value>${system:java.io.tmpdir}/${system:user.name}</value>
    <value>/home/mmcc/hive_tmpdir</value>
  </property>
 ...
複製代碼

而後將hive.metastore.schema.verification的值設置爲false,取消metastore驗證, 再將datanucleus.schema.autoCreateTables設置爲true,自動在數據庫裏建表。 其次配置咱們的mysql數據庫,關於mysql的安裝你們能夠自行研究。 依然是在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>root</value>  #數據庫帳號
  <description>username to use against metastore database</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>123456</value>  #數據庫密碼
  <description>password to use against metastore database</description>
</property>
複製代碼

配置好hive-site.xml以後保存退出。

第三步

  1. 將mysql的驅動包放入hive的lib目錄下,mysql-5.1.25驅動下載
  2. 去掉hive裏的sl4j的jar包,可能會和hadoop裏的衝突(保留log4j-api和log4j-core和log4j-web)

第四步

到這裏關於準備配置及一些準備工做就已經完成了,接下來就能夠正式進行啓動的流程了。首先關閉hadoop的安全模式,避免出現沒必要要的錯誤,執行命令hdfs dfsadmin -safemode leave,而後執行如下命令進行啓動。

#啓動hive的metastore服務
[root@master bin]# ./hive --service metastore &
#初始化元數據爲mysql數據庫(只有第一次須要),這一步完成後,在mysql裏其實就會生成hive表
[root@master bin]# ./schematool -dbType mysql -initSchema #
#接下來能夠直接運行hive了
[root@master bin]# ./hive
複製代碼

而後咱們就進入到了hive的命令行模式,就能夠作hive的執行操做了。

相關文章
相關標籤/搜索