中共貴州省委組織部 朱懿 邵柱
Greenplum數(shù)據(jù)庫是建立在postgreSQL基礎(chǔ)上的開源標(biāo)準(zhǔn)數(shù)據(jù)庫,它能存儲并高效管理龐大的數(shù)據(jù)量,外部應(yīng)用通過統(tǒng)一SQL 接口訪問數(shù)據(jù),內(nèi)部則由多個(gè)服務(wù)器組成功能強(qiáng)大的集群協(xié)同工作。
Greenplum 數(shù)據(jù)庫不僅可以使用SQL 語句分析結(jié)構(gòu)化數(shù)據(jù),還提供了建立在PostgreSQL 基礎(chǔ)上的模塊和擴(kuò)展應(yīng)用,這些模塊和擴(kuò)展應(yīng)用可用于數(shù)據(jù)庫機(jī)器學(xué)習(xí)、人工智能、地理空間分析等,并且支持使用Python、R、Java、Perl、C、C++語言創(chuàng)建用戶自定義函數(shù)。
Greenplum 數(shù)據(jù)庫是同類產(chǎn)品中唯一一個(gè)擁有大量分發(fā)安裝包的開源產(chǎn)品,而且隨著Greenplum 數(shù)據(jù)庫5.3 版本的發(fā)布,在Ubuntu系統(tǒng)上編譯生成了完整的安裝包,使整個(gè)安裝過程變得更加簡單。Greenplum 數(shù)據(jù)庫(Ubuntu 版)安裝包被托管在Ubuntu 的個(gè)人軟件包文檔系統(tǒng)(Personal Package Archive 系統(tǒng))上。
依托這個(gè)包管理機(jī)制,社區(qū)內(nèi)的成員可以很方便地發(fā)布安裝包,任何一個(gè)接入互聯(lián)網(wǎng)的系統(tǒng)都可以安裝這些安裝包。
圖1 添加環(huán)境變量
首先,請確保已經(jīng)選擇好Greenplum支持Ubuntu操作系統(tǒng)版 本。本文撰寫時(shí),Greenplum數(shù)據(jù)庫支持的是Ubuntu 16.04LTS(Long Term Support:團(tuán)隊(duì)長期支持)版本。
各位讀者可以訪問Greenplum 官網(wǎng)了解Greenplum 最新支持的操作系統(tǒng)版本,在下面的案例中,本文將以Ubuntu 16.04LTS為例。在Ubuntu 安裝完成后的具體操作如下:
1.添加并生效環(huán)境變量(命令:vi .bashrc、source bashrc),如圖1 所示。
2.關(guān)閉防火墻(命令:ufw disable)。
3.添加Greenplum PPA 庫到Ubuntu 系 統(tǒng)的更新源地址池(命令:sudo addapt-repository ppa:greenplum/db),如圖2 所示。
4.從最近添加的更新源地址池中檢索信息,結(jié)果顯示如圖3(命令:sudo apt-get update)。
5.安裝Greenplum 數(shù)據(jù)庫軟件,結(jié)果如圖4所 示(命 令:sudo apt-get install greenplum-dboss)。
上述命令將自動在系統(tǒng)上安裝Greenplum 數(shù)據(jù)庫軟件及所需的所有依賴,并將安裝好的軟件放在/opt/gpdb 路徑中,結(jié)果如圖5 所示。
圖2 更新源地址
圖3 更新檢索信息
圖4 安裝數(shù)據(jù)庫軟件
圖5 自動安裝并放在相應(yīng)路徑中
圖6 加載環(huán)境變量
6.將Greenpl um 軟件加載到環(huán)境變量中,結(jié)果如圖6 所示(命令:./opt/gpdb/greenplum_path.sh)。
7.生效系統(tǒng)環(huán)境變量(命令:source.bashrc)。
8.通過使用Which 命令進(jìn)行測試,可以看到軟件的安裝路徑?,F(xiàn)在可以將Greenplum 集群配置模板文件復(fù)制到本地目錄中進(jìn)行編輯(命令cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_singlenode)。
9.創(chuàng)建DATA_DIRECTORY目錄(命令:mkdir -p/data/primary1/;mkdir -p/data/primary2/;mkdir-p/data/greenplum/gpdata/gpmaster)。
10.新建hostlist_singlenode 這個(gè)文件并在里面保存外部應(yīng)用訪問的主機(jī)名稱master。
11.對gpinitsystem_singlenode 文件進(jìn)行如下編輯,如圖7 所示:
(1)更新MACHINE_LIST_FILE=./hostlist_singlenode 這一行:
(2)將declare -a DATA_DIRECTORY=(/gpdata1/gpdata2) 改為declare-a DATA_DIRECTORY==(/data/primary1/ /data/primary2/)。
請確保第9 步中的相關(guān)目錄已創(chuàng)建成功。
(3)將MASTER_HOSTNAME=hostname_of_machine 修改為MASTER_HOSTNAME=master,以用來保存外部應(yīng)用訪問的主機(jī)名稱,如圖8 所示。
(4)更新進(jìn)入主機(jī)的數(shù)據(jù)目錄。
圖7 對文件進(jìn)行編輯
圖8 保存主機(jī)名稱
將MASTER_DIRECTORY=/gpmaster 修改為MASTER_DIRECTORY=data/greenplum/gpdata/gpmaster
通過以上步驟,初始化準(zhǔn)備工作已就緒,現(xiàn)在我們關(guān)閉文件并開始初始化集群。
通過這些配置,一個(gè)master segmengt 主機(jī)和兩個(gè)primary segment 服務(wù)器的群集已經(jīng)部署完成。
在更高級的安裝過程中,可以在另一臺主機(jī)上配置備用 的master 和segment 鏡像,數(shù)據(jù)將會分布式存儲在primary segment 之間,同時(shí)在mirror segement 中生成primary segement 中的數(shù)據(jù)的鏡像,這一切都是自動完成的。
12.首先,通過執(zhí)行下面的命令來確保ssh 密鑰完成交換(命令:gpssh-exchkeys-fhostlist_singlenode)。
然后,再通過執(zhí)行下面的命令啟動集群(命令:gpinitsystem-cgpinitsystem_singlenode)。在命令執(zhí)行過程中,該程序請求確認(rèn)下一步的操作。
以上就是Greenplum 全部的安裝步驟,下面你可以創(chuàng)建一個(gè)數(shù)據(jù)庫,登錄數(shù)據(jù)庫并開始查詢信息、插入信息。
1.為保證整個(gè)安裝過程順利進(jìn)行,在安裝Ubuntu 系統(tǒng)時(shí)請注意勾選download updates while installing ubuntu 以 及 install third-party software for graphics and wi-fi hardware,flash,mp3 and other media 兩個(gè)選項(xiàng)。
2.為保證數(shù)據(jù)庫安裝過程順利,請?zhí)崆瓣P(guān)閉Ubuntu系統(tǒng)的防火墻。