自建Hive数据仓库跨版本迁移到阿里云E-MapReduce
最佳實(shí)踐概述
應(yīng)用場(chǎng)景
客戶在IDC或者公有云環(huán)境自建Hadoop集群,數(shù)據(jù)集中保存在HDFS文件系統(tǒng),同時(shí)借助Hive進(jìn)行常見(jiàn)的ETL任務(wù)。客戶在決策上云之后,會(huì)將自建Hadoop集群的數(shù)據(jù)遷移到阿里云自建Hadoop或者EMR。
技術(shù)架構(gòu)
本實(shí)踐方案基于如下圖所示的技術(shù)架構(gòu)和主要流程編寫操作步驟。?
方案優(yōu)勢(shì)
- 易用性?
您可以簡(jiǎn)單選擇所需ECS機(jī)型(CPU、內(nèi)存)與磁盤,并選擇所需的軟件,進(jìn)行自動(dòng)化部署。 - 經(jīng)濟(jì)性?
您可以按需創(chuàng)建集群,即離線作業(yè)運(yùn)行結(jié)束就可以釋放集群,還可以在需要時(shí)動(dòng)態(tài)地增加節(jié)點(diǎn)。 - 深度整合?
E-MapReduce與阿里云其它產(chǎn)品(例如,OSS、MNS、RDS 和 MaxCompute 等)進(jìn)行了深度整合,支持以這些產(chǎn)品作為Hadoop/Spark計(jì)算引擎的輸入源或者輸出目的地。 - 安全?
E-MapReduce整合了阿里云RAM資源權(quán)限管理系統(tǒng),通過(guò)主子賬號(hào)對(duì)服務(wù)權(quán)限進(jìn)行隔離。 - 可靠性?
使用阿里云數(shù)據(jù)庫(kù)RDS保存Hive的元數(shù)據(jù)信息,可以提升數(shù)據(jù)可靠性和服務(wù)可用性,免除客戶運(yùn)維自建MySQL數(shù)據(jù)庫(kù)的工作。
前置條件
在進(jìn)行本文操作之前,您需要完成以下準(zhǔn)備工作:
- 注冊(cè)阿里云賬號(hào),并完成實(shí)名認(rèn)證。您可以登錄阿里云控制臺(tái),并前往實(shí)名認(rèn)證頁(yè)面查看是否已經(jīng)完成實(shí)名認(rèn)證。
- 阿里云賬戶余額大于100元。您可以登錄阿里云控制臺(tái),并前往賬戶總覽頁(yè)面查看賬戶余額。
- 擁有已經(jīng)通過(guò)備案的域名。
- 開(kāi)通ECS、OSS、EMR、RDS、DTS和VPN網(wǎng)關(guān)等服務(wù)。
資源規(guī)劃說(shuō)明
- 本方案僅作為實(shí)踐演練使用,在生產(chǎn)環(huán)境中執(zhí)行時(shí)請(qǐng)結(jié)合業(yè)務(wù)系統(tǒng)實(shí)際架構(gòu)進(jìn)行
調(diào)整。 - 本方案購(gòu)買的所有云產(chǎn)品規(guī)格均為演示需要,請(qǐng)根據(jù)實(shí)際業(yè)務(wù)需求購(gòu)買對(duì)應(yīng)規(guī)格
的產(chǎn)品和服務(wù)。 - 本方案重在展示遷移思路和方法,線下IDC的模擬環(huán)境以組件配置呈現(xiàn)。
1. 基礎(chǔ)環(huán)境搭建
本實(shí)踐方案中,將按照技術(shù)架構(gòu)圖搭建相對(duì)完整的實(shí)踐環(huán)境,包括Apache日志發(fā)生
器、Kafka隊(duì)列、Hadoop集群、Hive+MySQL元數(shù)據(jù)庫(kù)。?
1.1. 搭建Hadoop + Kafka + 日志發(fā)生器環(huán)境
請(qǐng)參考《自建Hadoop數(shù)據(jù)遷移到阿里云EMR》最佳實(shí)踐
第1章:1. 自建Hadoop集群環(huán)境搭建,完成本實(shí)踐方案的基礎(chǔ)環(huán)境搭建。
1.2. 創(chuàng)建Hive元數(shù)據(jù)庫(kù)
本實(shí)踐方案將在ECS上安裝MySQL數(shù)據(jù)庫(kù),用于保存Hive元數(shù)據(jù)信息。?
步驟1?登錄云服務(wù)器控制臺(tái),地域:華東2(上海)。?
步驟2?在實(shí)例列表頁(yè)面,單擊右上角的創(chuàng)建實(shí)例。?
步驟3?在自定義購(gòu)買模式下,完成各項(xiàng)配置。?
基礎(chǔ)配置:
- 付費(fèi)模式:本實(shí)踐方案選用搶占式實(shí)例。?
說(shuō)明:在方案演示過(guò)程中,我們選用搶占式實(shí)例來(lái)降低您的成本;在實(shí)際商用環(huán)境中,請(qǐng)選擇適合業(yè)務(wù)場(chǎng)景的ECS實(shí)例付費(fèi)模式。搶占式實(shí)例的具體信息, - 地域及可用區(qū):華東2(上海) 可用區(qū)F?
- 實(shí)例?
ᅳ 實(shí)例規(guī)格:ecs.g6.large(2 vCPU 8 GiB,通用型g6)
ᅳ 單臺(tái)實(shí)例規(guī)格上限價(jià):創(chuàng)建搶占式實(shí)例,必須設(shè)置單臺(tái)實(shí)例規(guī)格的價(jià)格上限。
a) 選擇設(shè)置單臺(tái)上限價(jià)。?
b) 單擊查看歷史價(jià)格。?
c) 在搶占式實(shí)例歷史價(jià)格走勢(shì)圖中,可以看到華東2可用區(qū)F的實(shí)例當(dāng)前市場(chǎng)價(jià)格為0.034 ¥/實(shí)例/小時(shí),因此,我們?cè)O(shè)置單臺(tái)上限價(jià)為0.04 ¥/實(shí)例/小時(shí),要求略高于當(dāng)前市場(chǎng)價(jià)格。使用者在進(jìn)行實(shí)際操作時(shí),請(qǐng)以界面顯示的實(shí)時(shí)價(jià)格為準(zhǔn)。
- 購(gòu)買實(shí)例數(shù)量:1臺(tái)
- 鏡像:
a) 選擇鏡像市場(chǎng)。?
b) 單擊從鏡像市場(chǎng)獲取更多選擇(含操作系統(tǒng))。?
c) 輸入magento,并單擊搜索。?
d) 選擇Magento開(kāi)源電子商務(wù)系統(tǒng)(LAMP | 含演示數(shù)據(jù)),并單擊使用,該鏡像中包含了MySQL數(shù)據(jù)庫(kù),root用戶的默認(rèn)密碼為123456?
- 存儲(chǔ):系統(tǒng)盤?
高效云盤 80GiB
步驟4?配置完成,單擊下一步:網(wǎng)絡(luò)和安全組。?
步驟5?在網(wǎng)絡(luò)和安全組頁(yè)面,參考下表,配置相關(guān)參數(shù)。
配置完成,單擊下一步:系統(tǒng)配置。
步驟6?在系統(tǒng)配置頁(yè)面,參考下表,配置相關(guān)參數(shù)。
配置完成,單擊確認(rèn)訂單。
步驟7?在確認(rèn)訂單頁(yè)面,確認(rèn)各項(xiàng)參數(shù)信息。確認(rèn)無(wú)誤,閱讀、同意并勾選《云服務(wù)器ECS服務(wù)條款》和《鏡像商品使用條款》,并單擊創(chuàng)建實(shí)例。?
步驟8?創(chuàng)建任務(wù)提交成功后,單擊管理控制臺(tái)前往ECS實(shí)例列表頁(yè)面查看詳情。
至此,本實(shí)踐方案中用于模擬客戶自建Hadoop系統(tǒng)的ECS已經(jīng)全部搭建完成,如下圖所示:?
步驟9?通過(guò)如下網(wǎng)址登錄到MySQL控制臺(tái):?
http://mysql所在ecs的公網(wǎng)ip地址/phpmyadmin?
步驟10?創(chuàng)建賬號(hào),該賬號(hào)用于Hive進(jìn)行連接。
完成后界面顯示如下圖所示:?
1.3. 安裝并配置Hive
在本實(shí)踐方案中,采用Hive 1.2.2版本作為源版本。?
步驟1?通過(guò)SSH登錄到hadoop-master節(jié)點(diǎn),執(zhí)行以下命令下載并解壓Hive軟件包。
步驟2?配置環(huán)境變量。?
vim /etc/profile
步驟3?生成hive-site.xml配置文件。
cd /usr/local/apache-hive-1.2.2-bin/conf cp hive-default.xml.template hive-site.xml vim hive-site.xmljdbc:mysql://192.168.100.140:3306/hive122db?createDatabaseIfNotExist=true
說(shuō)明:
(1) 將紅色字體的192.168.100.140替換為您環(huán)境中MySQL的VPC IP地址。?
(2) hive122db為MySQL中的數(shù)據(jù)庫(kù),用于保存Hive的元數(shù)據(jù)。
步驟4?生成并配置hive-env.sh啟動(dòng)文件。
cd /usr/local/apache-hive-1.2.2-bin/conf cp hive-env.sh.template hive-env.sh vim hive-env.sh在文件末尾添加如下內(nèi)容,保存后退出:
export HIVE_AUX_JARS_PATH=/usr/local/apache-hive-1.2.2-bin/lib步驟5?下載MySQL驅(qū)動(dòng)程序。
cd /usr/local/apache-hive-1.2.2-bin/lib- 通過(guò)下面命令下載MySQL Connector庫(kù)文件
步驟6?初始化源數(shù)據(jù)庫(kù)。
cd /usr/local/apache-hive-1.2.2-bin/bin ./schematool -dbType mysql -initSchema -verbose當(dāng)界面出現(xiàn)下圖所示信息時(shí)表示初始化完成。?
?
步驟7?啟動(dòng)Hive進(jìn)入HQL命令行交互界面。?
hive?
說(shuō)明:在hive命令行界面,使用quit退出。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的自建Hive数据仓库跨版本迁移到阿里云E-MapReduce的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 云解析DNS能为你做什么?
- 下一篇: G20杭州峰会上云 实现0安全事件