Greenplum 原始碼編譯安裝教程
一、Greenplum支援的作業系統
SuSE Linux SLES 10 update
CentOS 5.0 or higher
RedHat Enterprise Linux 5.0 or higher
Mac OS 10.5 or higher
本教程的系統是CentOS 6.5,用了3臺1核1G記憶體的虛擬機器,一臺用作master,兩臺用於segment。除了Mac OS 的配置有所區別,其他的系統可以參照本文進行部屬。
強烈建議:每臺虛擬機器建立時使用gpadmin作為使用者名稱,centos語言選擇英語!!!
二、引數調整
在每臺虛擬機器中調整如下引數:
1)編輯/etc/sysctl.conf
kernel.shmall = 4000000000
net.ipv4.tcp_max_syn_backlog = 4096
vm.overcommit_memory = 2
net.core.netdev_max_backlog = 10000
kernel.sem = 250 64000 100 512
net.ipv4.ip_local_port_range = 1025 65535
net.ipv4.tcp_tw_recycle = 1
2)修改檔案開啟數限制
編輯/etc/security/limits.conf,新增
* soft nofile 65536
* hard nofile 65536
編輯/etc/security/limits.d/90-nproc.conf,新增
* soft nproc 131072
* hard nproc 131072
3)安裝前關閉防火牆
使用/sbin/chkconfig iptables off命令關閉
使用/sbin/chkconfig –list iptables檢視防火牆狀態,全部為off即可
修改/etc/selinux/config 檔案
SELINUX=disabled
4)編輯/boot/grub/grub.conf
新增elevator=deadline
三、GP原始碼編譯安裝
1)下載greenplum原始碼
使用unzip指令或者直接右鍵解壓到/home/gpadmin目錄下,會生成gpdb-master資料夾
2)下載依賴項
執行以下幾條命令,中間選擇yes安裝完成即可
$ sudo yum -y install rsync coreutils glib2 lrzsz sysstat e4fsprogs xfsprogs ntp readline-devel zlib zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl perl-devel perl-ExtUtils* OpenIPMI-tools openldap openldap-devel logrotategcc-c++ python-py curl-devel pam
$ sudo yum install apr-devel libevent-devel libyaml-devel
$ sudo python get-pip.py
$ sudo pip install psi lockfile paramiko setuptools epydoc
$ sudo pip install --upgrade setuptools
(注:安裝pip因系統原因可能會失敗,可以百度其他方法完成安裝)
3)編譯安裝
進入到剛才解壓的目錄/home/gpadmin/gpdb-master,通過prefix命令指定目錄,這裡我們安裝在/home/gpadmin/gpsql下
$ ./configure--prefix=/home/gpadmin/gpsql --with-gssapi --with-pgport=5432--with-libedit-preferred --with-perl --with-python --with-openssl --with-pam--with-krb5 --with-ldap --with-libxml --enable-cassert --enable-debug --enable-testutils--enable-debugbreak --enable-depend
$ make
$ make install
安裝完成會在/home/gpadmin/gpsql中生成資料庫檔案
4)檢查一下檔案所有者確保gpsql檔案的所有者是gpadmin,如果不是可以通過以下命令修改(如果管理員即為gpadmin則可跳過該步)
$ ls -l #檢視檔案許可權和所有者
$ chown -R gpadmin/home/gpadmin/gpsql
$ chgrp -R gpadmin/home/gpadmin/gpsql
5)配置環境變數
參照/home/gpadmin/gpsql/greenplum_path.sh配置環境變數,使用
$ vi /etc/profile新增
source /home/gpadmin/gpsql/greenpum_path.sh
6)這是master主機的資料目錄,指定資料儲存位置
$ mkdir /home/gpadmin/gpmaster
然後修改環境變數指定該位置,在gpadmin使用者下
$ sudo vi ~/.bashrc
在末尾新增
MASTER_DATA_DIRECTORY=/home/gpadmin/gpmaster/gpseg-1
export MASTER_DATA_DIRECTORY
儲存退出之後記得source ~/.bashrc
四、在各個區段安裝gp
可以在每臺機器上採用和主機master一樣的安裝方法,這樣的話機器一多了就很麻煩,在此就不介 紹這種方法了;我們直接通過master主機對每臺segment安裝GP。
(1)對每臺主機修改主機名(這個步驟我是單獨到每臺機器上去修改的):
修改主機名要在兩個地方做修改:
a. /etc/hosts檔案下:
$ vi /etc/hosts
將第一行:127.0.0.1 localhost localhost.localdomainlocalhost4 localhost4.localdomain4
改為: 127.0.0.1 localhost sdw1 localhost4 localhost4.localdomain4
(這裡的sdw1表示segment1節點,其他機器類似,這裡主節點叫mdw)
b./etc/sysconfig/network
$ vi /etc/sysconfig/network
修改HOSTNAME=mdw,如果是segment節點則為sdw1、sdw2…
2)在主節點中新增對應Segment伺服器的IP與主機名
$ vi /etc/hosts
在末尾新增如下內容
主節點IP 主節點名
從節點IP 從節點名
從節點IP 從節點名
如圖所示:
修改生效之後,主機名會變成mdw或者sdw1、sdw2
3)在/home/gpadmin目錄下新建兩個檔案新建一個all_hosts文字和一個all_segs文字,編輯內容:
對all_hosts:
mdw
sdw1
sdw2
對all_segs:
sdw1
sdw2
也就是分別儲存了所有節點和所有從節點的主機名4)交換祕鑰建立ssh免密碼連結
$ source /home/gpadmin/gpsql/greenplum_path.sh
$ gpssh-exkeys -f /home/gpadmin/all_hosts (all_hosts是剛剛我們建立的文字)
這個過程需要輸入root密碼,輸入即可。成功之後就可以從master節點免密碼登入segment節點,如下圖所示5)複製greenplum軟體到segment host
a. 主節點上建立安裝GP 的tar檔案
$ cd /home/gpadmin
$ gtar -cvf /home/gpadmin/gp.tar gpsql
b. 用gpscp命令將其安裝到各個segment
$ source /home/gpadmin/gpsql/greenplum_path.sh
$ gpscp -f /home/gpadmin/all_segs /home/gpadmin/gp.tar=:/home/gpadmin
啟動gpssh會話
$ gpssh -f /home/gpadmin/all_segs
在gpssh下解壓
=> gtar - -directory /usr/local -xvf/usr/local/gp.tar
然後更改gpsql為gpsqlsegment
建立gp當前版本目錄連線:
=> ln -s /home/gpadmin/gpsqlsegment /home/gpadmin/gpsql
6) 建立segment上的儲存區
=>mkdir /home/gpadmin/primary #主檔案
=>mkdir /home/gpadmin/mirror #映象檔案
五、初始化GP
1)同步時鐘
在gpadmin下:
檢查時鐘: gpssh -f /home/gpadmin/all_hosts -v date
同步: gpssh -f /home/gpadmin/all_hosts -v ntpd
出錯就以root再次執行,如果還出錯,則可以通過手動將所有機器時鐘設定為一致即可。
2)系統檢測:
$ gpcheckos -f /home/gpadmin/all_hosts (新的開源版本好像不支援該命令,跳過這一步)
此步驟會修復一些問題,不再列出,配置中存在錯誤都會提示如何修改,如果沒有報錯那麼之前的配置成功了
3)初始化資料庫
將/gpsql/docs/cli_help/gpconfigs/gpinitsystem_config檔案copy到/home/gpadmin目錄下然後編輯,保留如下引數即可
然後執行如下命令進行初始化
$ gpinitsystem -c /home/gpadmin/gpinitsystem_config –a
至此GP搭建完成
接下來就是gpstart -a 命令啟動資料庫;
psql -d postgres 連線到預設資料,然後就可以寫sql語句
關閉資料庫則用gpstop -a
單節點搭建請參照:http://www.lwxshow.com/db/greenplum/how-to-build-gpdb.html
相關推薦
Greenplum 原始碼編譯安裝教程
一、Greenplum支援的作業系統 SuSE Linux SLES 10 update CentOS 5.0 or higher RedHat Enterprise Linux 5.0 or higher Mac OS 10.5 or higher 本教程的系統是Ce
seafile server原始碼編譯安裝教程
seafile為一個開源的雲端儲存系統,github地址:https://github.com/haiwen/seafile 實驗室研究工作需要在此基礎上實現一些新的東西,所以需要走對整個編輯->編譯->部署->執行過程。首先是將現有版本進行後三步。 系統
原始碼編譯安裝Greenplum資料庫
文章目錄 概述 下載原始碼包 安裝一些常用的依賴 安裝c++ 11 開始編譯 按greenplum正常步驟安裝 一些細節問題 第二次新增 新的configure選項
保姆級教程——Ubuntu16.04 Server下深度學習環境搭建:安裝CUDA8.0,cuDNN6.0,Bazel0.5.4,原始碼編譯安裝TensorFlow1.4.0(GPU版)
寫在前面 本文敘述了在Ubuntu16.04 Server下安裝CUDA8.0,cuDNN6.0以及原始碼編譯安裝TensorFlow1.4.0(GPU版)的親身經歷,包括遇到的問題及解決辦法,也有一些自己的經驗,希望能對讀者有所幫助。期間參考了許多前人的文章,後文會一一附上鍊接,在此先行謝過。在下能力有限,
CentOS和Ubuntu下安裝配置Greenplum資料庫叢集(包括安裝包和原始碼編譯安裝)
首先說一下,無論是CentOS/RedHat還是Ubuntu都可以按原始碼方式、安裝包方式編譯安裝。 1. 規劃 192.168.4.93(h93) 1個主master 2個主segment、2個映象segment 192.168.4.94(h94)
CentOS 7中Nginx1.9.5編譯安裝教程systemctl啟動
pat align temp prefix 軟件 復制代碼 all automake 軟件目錄 先安裝gcc 等 yum -y install gcc gcc-c++ wget 復制代碼 .然後裝一些庫 yum -y install gcc wget automa
CentOS 7中mariadb編譯安裝教程systemctl啟動
mysqld complete 復制 sin 安裝包 useradd 雲盤 http limit mariadb做為mysql的替代品 現在centos的新版本yum包已換成mariadb 跟上篇一樣只是啟動方式改為systemd安裝一些庫 yum install g
Linux之Nginx原始碼編譯安裝,並實現Nginx版本升級,秒級切換和Nginx版本回滾,秒級回退
Linux之Nginx原始碼編譯安裝,並實現Nginx版本升級,秒級切換和Nginx版本回滾,秒級回退 1、先檢查Nginx依賴庫(主要4個gcc、pcre、zlib、openssl,通過yum安裝) 2、GCC——GNU編譯器集合(GCC可以使用預設包管理器的倉庫(reposito
[環境配置]Ubuntu 16.04 原始碼編譯安裝OpenCV-3.2.0+OpenCV_contrib-3.2.0及產生的問題
1.OpenCV-3.2.0+OpenCV_contrib-3.2.0編譯安裝過程 1)下載官方要求的依賴包 GCC 4.4.x or later CMake 2.6 or higher Git GTK+2.x or higher, including headers (libgtk2.
: 擴充套件的幾個應用 釋出網路YUM源 vim編輯技巧 原始碼編譯安裝 systemctl控制 總結和答疑
Top NSD SERVICES DAY01 案例1:補充應用技巧 案例2:軟連線與硬連線 案例3:man手冊、zip備份 案例4:自定義yum軟體倉庫 案例5:釋出及測試yum倉庫 案例6:vim效率操作 案例7:編譯安裝軟體包 案例8:使用
擴充套件的幾個應用 釋出網路YUM源 vim編輯技巧 原始碼編譯安裝 systemctl控制 總結和答疑
Top NSD SERVICES DAY01 案例1:補充應用技巧 案例2:軟連線與硬連線 案例3:man手冊、zip備份 案例4:自定義yum軟體倉庫 案例5:釋出及測試yum倉庫 案例6:vim效率操作 案例7:編譯安裝軟體包 案例8:使用
Ubuntu 18.04.1下原始碼編譯安裝OpenJDK8
自己編譯個JDK來提升對JVM的興趣。本文分三部分來描述編譯OpenJDK的過程,分別是編譯前準備工作、構建編譯環境、進行編譯,在這三部分內容中順帶把趟的坑一起說明下。 一、編譯前準備工作 1.1 安裝Linux環境 https://askubuntu.com/questions/107059
Ubuntu nginx php7 原始碼編譯安裝
在Ubuntu 16.04下原始碼編譯安裝PHP7 過程記錄。 nginx 安裝 ./configure --prefix=/opt/nginx --with-http_ssl_module --with-pcre
在Linux上進行原始碼編譯安裝程式詳解
文章轉載自:http://xuweitao.blog.51cto.com/11761672/1905357 1. 編譯安裝概述 前面兩篇關於程式包管理器的文章談到,無論是使用rpm命令還是yum命令安裝的都是已編譯好的程式包,在整個安裝過程中使用者只需執行一條命令即可完成安裝。這樣帶
原始碼編譯安裝swoole,並讓php支援swoole
第一步:下載swoole : git clone https://gitee.com/swoole/swoole.git 第二步:進入下載目錄。輸入phpize(phpize是在php/bin/phpize) phpize擴充套件php的擴充套
mcached快取之原始碼編譯安裝
系統環境: 主機名 作業系統 ip地址 服務軟體 memcached centos7.5 192.168.80.100 memcached-1.5.9.tar.gzlibevent-2.1.8-stable.tar.gz web1 centos7.5 192.168.80.101 yum
Linux 原始碼編譯安裝mysql
MySQL 安裝與使用 MySQL Installer 5.7.24 1、 MySQl安裝 1.1 下載MySQL MySQL 官網:https://dev.mysql.com/downloads/mysql/ 下載連線:https://cdn.mysql.com//Downloads/M
Linux下原始碼編譯安裝mariadb資料庫
環境:centos7 準備:mariadb-10.2.18.tar 資料庫安裝包 [[email protected] ~]# rz Transferring mariadb-10.2.18.tar.gz... 第一步: 建立mysql使用者 [[email
Linux原始碼編譯安裝詳解
1. 編譯原始碼步驟 configure、Makefile.in一般是專案管理器自動生成的,這依賴於兩個開發工具: autoconf:生成configure指令碼檔案; autoconf需要結合一個配置檔案來和其它命令生成configure指令碼;這個配置檔案告訴autoco
原始碼編譯安裝Apache/2.4.37-------踩了無數坑,重灌了十幾次伺服器才會的,不容易啊!
1.先進入/usr/local/中建立三個資料夾 apr apr-util apache cd /usr/local目錄 mkdir apr mkdir apr-util mkdir apache 2.再進入 src中 cd src