1. 程式人生 > >Hive:基本架構、將mysql作為元資料庫

Hive:基本架構、將mysql作為元資料庫

什麼是hive

hive基本思想

Hive是基於Hadoop的一個數據倉庫工具(離線),可以將結構化的資料檔案對映為一張資料庫表,並提供類SQL查詢功能。

為什麼使用Hive

直接使用hadoop所面臨的問題 

人員學習成本太高 

專案週期要求太短 

MapReduce實現複雜查詢邏輯開發難度太大 

為什麼要使用Hive 

操作介面採用類SQL語法,提供快速開發的能力。 

避免了去寫MapReduce,減少開發人員的學習成本。 

功能擴充套件很方便。

Hive的特點

  • 可擴充套件 

Hive可以自由的擴充套件叢集的規模,一般情況下不需要重啟服務。

  • 延展性 

Hive支援使用者自定義函式,使用者可以根據自己的需求來實現自己的函式。

  • 容錯 

良好的容錯性,節點出現問題SQL仍可完成執行。

hive的基本架構

Jobtracker是hadoop1.x中的元件,它的功能相當於:Resourcemanager+MRAppMaster

TaskTracker 相當於:  Nodemanager  +  yarnchild

hive安裝

最簡安裝:用內嵌derby作為元資料庫

準備工作:安裝hive的機器上應該有HADOOP環境(安裝目錄,HADOOP_HOME環境變數)

安裝:直接解壓一個hive安裝包即可

此時,安裝的這個hive例項使用其內嵌的derby資料庫作為記錄元資料的資料庫

此模式不便於讓團隊成員之間共享協作

標準安裝:將mysql作為元資料庫

mysql安裝

上傳mysql安裝包,解壓:

[[email protected] ~]# tar -xvf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar 

安裝mysql的server包

[[email protected] ~]# rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm 

依賴報錯:缺perl

yum install perl

可以配置一個本地yum源進行安裝:

1、先在vmware中給這臺虛擬機器連線一個光碟映象

2、掛在光碟機到一個指定目錄:mount -t iso9660 -o loop /dev/cdrom /mnt/cdrom

3、將yum的配置檔案中baseURL指向/mnt/cdrom

安裝完perl後 ,繼續重新安裝mysql-server

[[email protected] ~]# rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm 

又出錯:包衝突conflict with

移除老版本的衝突包:mysql-libs-5.1.73-3.el6_5.x86_64

[[email protected] ~]# rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps

繼續重新安裝mysql-server

[[email protected] ~]# rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm 

成功後,注意提示:裡面有初始密碼及如何改密碼的資訊

初始密碼:/root/.mysql_secret  

改密碼指令碼:/usr/bin/mysql_secure_installation

安裝mysql的客戶端包:

[[email protected] ~]# rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm

啟動mysql的服務端:

[[email protected] ~]# service mysql start

Starting MySQL. SUCCESS!

修改root的初始密碼:

[[email protected] ~]# /usr/bin/mysql_secure_installation  按提示

測試:

用mysql命令列客戶端登陸mysql伺服器看能否成功

[[email protected] ~]# mysql -uroot -proot

mysql> show databases;

給root使用者授予從任何機器上登陸mysql伺服器的許可權:

mysql> grant all privileges on *.* to 'root'@'%' identified by '你的密碼' with grant option;

Query OK, 0 rows affected (0.00 sec)



mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

注意點:要讓mysql可以遠端登入訪問

最直接測試方法:從windows上用Navicat去連線,能連,則可以,不能連,則要去mysql的機器上用命令列客戶端進行授權:

在mysql的機器上,啟動命令列客戶端: 

mysql -uroot -proot

mysql>grant all privileges on *.* to 'root'@'%' identified by 'root的密碼' with grant option;
mysql>flush privileges;

hive的元資料庫配置

vi conf/hive-site.xml

<configuration>
<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>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>
  1. 上傳一個mysql的驅動jar包到hive的安裝目錄的lib中
  2. 配置HADOOP_HOME 和HIVE_HOME到系統環境變數中:vim /etc/profile
  3. source /etc/profile

hive啟動測試

然後用命令啟動hive互動介面:   

[[email protected] ~]# hive

相關推薦

Hive基本架構mysql作為資料庫

什麼是hive hive基本思想 Hive是基於Hadoop的一個數據倉庫工具(離線),可以將結構化的資料檔案對映為一張資料庫表,並提供類SQL查詢功能。 為什麼使用Hive 直接使用hadoop所面臨的問題  人員學習成本太高  專案週

大資料BigData之如何配置hive連線mysql,把mysql作為資料庫

如何配置hive連線mysql,把mysql作為元資料庫? 文章目錄 1.增加mysql資料庫的連線配置 2.修改臨時資料夾的路徑 3.修改 hive-config.sh 4.下載MySQL JDBC驅動 5.在HDFS中建立目錄和設定許可權

Ubuntu下安裝hive,並配置mysql作為資料庫

一、安裝hive 1.下載並解壓hive源程式 sudo tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/local # 解壓到/usr/local中 cd /usr/local/ sudo mv apa

專案中使用的一些基本知識(mysqljdktomcat打包放在一起供使用者使用)

專案中使用的一些基本知識(將mysql、jdk、tomcat打包放在一起供使用者使用) 目的:使用者只需要執行一個bat檔案即可啟動mysql服務和Tomcat服務,然後直接在瀏覽器訪問到專案 1.在C盤根目錄下建立一個名為Install3DModeling的資料夾。 2.找到mysql

MySQL作為hive資料庫時遇到的問題

  Mysql版本  Ver 14.14 Distrib 5.6.40, for Linux (x86_64) using  EditLine wrapper Hive版本      apache-hive-2.

Python筆記---DAY1基本操作if語句

分支 刪除 font years cto rec else if direct tab 1、輸出字符串: print(“字符串”) 2、用python打開文檔文件: cmd 命令指示器 cd c:\ 其中cd是chang directory更改目錄,用tab鍵可快速尋找

hive 空值NULL判斷空值的處理

hive中空值判斷基本分兩種 (1)NULL 與 \N hive在底層資料中如何儲存和標識NULL,是由 alter table name SET SERDEPROPERTIES('serialization.null.format' = '\N'); 引數控制的 比如

IPFS基本配置如何上傳一張圖片

1 下載IPFS軟體 下載地址:https://dist.ipfs.io/#go-ipfs 開啟這個地址後網頁會根據你的當前作業系統自動為你選擇可供下載的版本,這個頁面上有很多ipfs相關的軟體下載,看清楚下載 go-ipfs, 這是IPFS的go語言版本實現,IPFS目前還有 js版本和

WebRTC實時音視訊技術基礎基本架構和協議棧

概述 本文主要介紹WebRTC的架構和協議棧。 最基本的三角形WebRTC架構 為了便於理解,我們來看一個最基本的三角形WebRTC架構(見下圖): 在這個架構中,行動電話用“瀏覽器M”表示,膝上型電腦用“瀏覽器L”表示,通過Web伺服器將它們連線起來。要建立

Spark(二) 基本架構解析

1,spark基礎及體系架構 1.1 spark why?   Apache Spark是一個圍繞速度、易用性和複雜分析構建的大資料處理框架,最初在2009年由加州大學伯克利分校的AMPLab開發,並於2010年成為Apache的開源專案之一,與Hadoop和Storm等其他大資料

Google leveldb學習筆記一基本架構與安裝使用

簡介 LevelDB是一個Google編寫的快速鍵值儲存庫,它提供從字串鍵到字串值的有序對映。 基本架構 LSM樹儲存引擎 先說什麼是儲存引擎: 儲存引擎是儲存系統的發動機,直接決定了儲存系統能夠提供的效能和功能 儲存系統的基本功能包括:增刪讀改,讀取操作又

linux筆記下匯入匯出mysql資料庫命令

文章目錄 一、匯出資料庫用mysqldump命令(注意mysql的安裝路徑,即此命令的路徑): 1、匯出資料和表結構: 2、只匯出表結構 二、匯入資料庫 1、首先建空資料庫 2、匯入資料庫

Python基本運算基本函式(包括複數)Math模組NumPy模組

基本運算 x**2 : x^2 若x是mat矩陣,那就表示x內每個元素求平方 inf:表示正無窮 邏輯運算子:and,or,not 基本函式 字典的get方法 a.get(k,d) get相當於一條if…else…語句。若k在字典a中,

Latex基本用法表格公式演算法(持續更新)

在檢視的時候可以直接使用目錄快捷索引直接定位 基本用法 1、中文例項 \documentclass{cctart} \begin{document} \kaishu 這是中文楷體字 \end

hive 操作(二)——使用 mysql 作為 hive 的metastore

hive 預設使用 derby 作為對映表(SQL 操作對映為MapReduce Job,將SQL中建立的表對映為 hdfs 的檔案/資料夾,欄位對映為其中的行),但 derby 的一大缺陷在於它不允許多個客戶端同時執行sql操作(可能新版本的hive會有所

Zookeeper入門基本概念5項配置啟動

起源   最早接觸Zookeeper,是在學習Hadoop權威指南這本書的時候,印象中是Hadoop專案的一個子工程。      最近,專案中需要用到“分散式鎖”。      之前,在開發P2P網貸系統的時候,就用到了“分散式鎖”,這個概念聽起來挺高階的,實際就是多臺機器下,

hive條件查詢join關聯查詢分組聚合子查詢

hive查詢語法 提示:在做小資料量查詢測試時,可以讓hive將mrjob提交給本地執行器執行,可以在hive會話中設定如下引數: hive> set hive.exec.mode.local.auto=true; 基本查詢示例 select * fr

hue-使用mysql作為數據庫

base AS migrate tin 數據 syn 能夠 qlite 生產 hue默認使用sqlite作為元數據庫,不推薦在生產環境中使用這個數據庫使用mysql做元數據 1, 修改hue.ini文件[[database]]engine=mysqlhost=<mys

使用PowerDesingermysql中的資料庫逆向生成為PDM檔案

Part 1  常用的建模工具有:PowerDesigner和ERWin,後者已快被淘汰,但前者依然活躍。相信大家都遇到過專案組已經運營很很久,但是竟然連一個ER圖都沒有,今天就講解一下PowerDesigner連線mysql逆向生成pdm。PS:網路上各種老版本

關於mysql資料庫的幾個隨想

現在已經是凌晨了,昨天晚上寫了我人生中的第一篇筆記,覺得沒什麼可寫的,寫了一個多小時都沒寫出什麼,現在突然想寫點東西了,這是一個比較有趣的問題,前兩個月換了新工作,記得當初面試這份工作的時候面試到第三關(專案經理這關)的時候,他問到了我用過什麼資料庫,因為在回答過程中無意中說了oracle資料庫是百萬級別的資