Hadoop环境搭建学习之Hive(4)
提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、Hive是什么?
- 二、使用步驟
- 1.環境準備
- 2.集群規劃
- 2.Hive遠程模式安裝
- 2.使用DBeaver圖形化界面工具
- 總結
前言
Hive高可用部署 HiveServer2高可用(HA)Metastore高可用(HA)基于Apache hive 3.1.2
提示:以下是本篇文章正文內容,下面案例可供參考
一、Hive是什么?
Hive是一個基于Hadoop的數據倉庫工具,可以將結構化的數據文件映射成一張數據表,并可以使用類似SQL的方式來對數據文件進行讀寫以及管理。這套Hive SQL 簡稱HQL。Hive的執行引擎可以是MR、Spark、Tez。具體網絡上查看
二、使用步驟
1.環境準備
操作系統:Windows 10
虛擬機:VMware 15.5
集群系統:Centos 7 64位
Zookeeper版本:zookeeper-3.4.10
Hadoop版本:hadoop-3.3.1
HBase版本:Hbase2.4.4
Hive版本:Hive3.1.2
2.集群規劃
| 192.168.74.88 | hadoop01 | hadoop,zookeeper,hbase,hive,mysql | DataNode,NodeManager,QuorumPeerMain,JournalNode,NameNode,DFSZKFailoverController,ResourceManager,HMaster,HRegionServer,RunJar,RunJar |
| 192.168.74.89 | hadoop02 | hadoop,zookeeper | DataNode,NodeManager,QuorumPeerMain,JournalNode,NameNode,DFSZKFailoverController,HRegionServer |
| 192.168.74.90 | hadoop03 | hadoop,zookeeper,hbase,hvie | DataNode,NodeManager,QuorumPeerMain,JournalNode,ResourceManager,HMaster,HRegionServer,RunJar |
Hive metastore (HA)
| metastore | 有 | 有 | |
| hiveserver2 | 有 | ||
| client | 有 |
2.Hive遠程模式安裝
安裝配置(示例):
# 創建一個新目錄root mkdir -p /data/hive chown hadoop:hadoop /data/hive su hadoopcd /data/hive tar -zxvf apache-hive-3.1.2-bin.tar.gz # 重命名一下文件夾 mv apache-hive-3.1.2-bin appcd /data/hive/app/conf/# 將hive-env.sh.template拷貝一份命名hive-env.sh scp hive-env.sh.template hive-env.sh # 系統環境變量 vim ~/.bashrc gedit ~/.bashrcexport HIVE_HOME=/data/hive/app export PATH=$HIVE_HOME/bin:$PATHsource ~/.bashrc# 編輯配置文件 hive-site.xml # Hive 默認是沒有帶 Mysql 驅動程序的,安裝Mysql Hive 將元數據存儲在 RDBMS 中,一般常用 MySQL 和 Derby。默認情況下,Hive 元數據 保存在內嵌的 Derby 數據庫中,只能允許一個會話連接,只適合簡單的測試。實際生產環境中不適用, 為了支持多用戶會話,則需要一個獨立的元數據庫,使用 MySQL 作為元數據庫,Hive 內部對 MySQL 提供了很好的支持 內置的derby主要問題是并發性能很差,可以理解為單線程操作。# 初始化 MySql 數據庫 使用 Hive schematool 初始化當前 Hive 版本的 Metastore 架構。該工具嘗試從 Metastore 中找到當前架構(如果它在那里可用)。schematool 確定初始化或升級架構所需的SQL腳本,然后針對后端數據庫執行這些腳本。從 Hive 配置中提取 Metastore 數據庫連接信息,例如 JDBC URL,JDBC driver 和數據庫憑據。schematool -dbType mysql -initSchema# 創建測試數據,以及在hadoop上創建數據倉庫目錄 vim /data/hive/app/testdata001.dat 12306,mname,yname 10086,my.mshk.top,you.mshk.top# 在 Hadoop 上創建數據倉庫目錄 hadoop fs -mkdir -p /hive/warehouse# 用 Shell 測試連接 Hive nohup hive hive> set hive.server2.logging.operation.level=NONE hive> show databases; hive> create database testmshk; hive> show databases; hive> use testmshk; hive> create external table testtable(uid int,myname string,youname string) row format delimited fields terminated by ',' location '/hive/warehouse/testtable'; hive> LOAD DATA LOCAL INPATH '/data/hive/app/testdata001.dat' OVERWRITE INTO TABLE testtable; hive> select * from testtable; hive> quit;# 拷貝hive到其他機器 scp -r /data/hive/app hadoop@hadoop02:/data/hive scp -r /data/hive/app hadoop@hadoop03:/data/hive# 在hadoop01、hadoop03上分別啟動 metastore 服務 # 啟動 metastore 服務 nohup hive --service metastore &# 查詢9083端口(metastore服務占用的端口) lsof -i:9083# 啟動hadoop01上的 HiveServer2 服務 nohup hive --service hiveserver2 &# 檢查 hiveserver2 端口 lsof -i:10000hadoop01:jps
hadoop03:jps
HiveServer2提供了WebUI:
2.使用DBeaver圖形化界面工具
輸入hiveserver2的地址與用戶,第一次沒有設置密碼,默認為空,點擊完成
在DBeaver界面工具上執行SQL語句
搭建完畢
總結
記錄點點滴滴:
Hive高可用部署有 HiveServer2高可用(HA)和Metastore高可用(HA),下次配置下HiveServer2高可用(HA)
總結
以上是生活随笔為你收集整理的Hadoop环境搭建学习之Hive(4)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浪漫情人节|C语言画心型
- 下一篇: create_proc_read_ent