1. 程式人生 > >Greenplum 原始碼編譯安裝教程

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