在CDH 6.3.1上安裝HAWQ 2.4.0

目錄

一、安裝環境

二、選擇HAWQ主機

三、安裝前準備

1. 建立gpadmin用戶和HAWQ主目錄

2. 創建HAWQ的本地數據目錄

3. 安裝依賴包

三、安裝HAWQ

1. 下載安裝包

2. 解壓並安裝

四、配置HAWQ

1. 創建HAWQ的HDFS數據目錄

2. 修改配置文件

3. 添加slaves

4. 將配置文件複製到其它主機

五、配置OS內核參數與限制

1. 修改內核參數

2. 修改限制

六、創建HAWQ集羣 

七、驗證HAWQ啓動

參考:


一、安裝環境

        CDH 6.3.1集羣主機:
172.16.1.124:NameNode、SecondaryNameNode
172.16.1.125:DataNode
172.16.1.126:DataNode
172.16.1.127:DataNode

二、選擇HAWQ主機

        在安裝HAWQ之前,使用下面的步驟選擇和準備所需主機。
(1)選擇作爲HAWQ segment的主機。記住有以下限制:

  • 每臺主機都必須滿足安裝相應版本HAWQ的系統要求。
  • 每個HAWQ segment所在主機必須和其上運行的HDFS DataNode協同工作。
  • HAWQ master segment和standby master segment必須部署在不同的主機上。

        在本實驗環境中,CDH集羣中的全部四臺主機均作爲HAWQ segment,172.16.1.124部署爲HAWQ master。由於CDH沒有配置NameNode HA,因此不部署HAWQ的standby master。

(2)選擇運行PXF的主機。記住有以下限制:

  • PXF必須安裝在HDFS NameNode和所有HDFS DataNodes主機上。
  • 如果配置了Hadoop HA,PXF必須安裝在包括所有NameNode和所有HDFS Node的主機上。
  • 如果想通過PXF訪問HBase和Hive,必須在將要安裝PXF的主機上首先安裝HBase和Hive的客戶端。

        由於PXF的性能較差,再有HAWQ 2.4.0本身支持外部表,因此本實驗環境中不安裝PXF。

(3)確認所有主機上的所需端口沒有被佔用
        HAWQ master和standby master服務缺省使用5432端口。

三、安裝前準備

        以下步驟需要用root用戶在全部主機執行。

1. 建立gpadmin用戶和HAWQ主目錄

useradd --home=/opt/gpadmin/ --no-create-home --comment "HAWQ admin" gpadmin 
echo YOURPASSWORD | passwd --stdin gpadmin mkdir /opt/gpadmin
chown gpadmin:gpadmin /opt/gpadmin

        將gpadmin用戶加入sudo,編輯/etc/sudoers文件,添加以下一行:

gpadmin ALL=(ALL) NOPASSWD:ALL

2. 創建HAWQ的本地數據目錄

mkdir -p /opt/gpadmin/hawq-data-directory/masterdd
mkdir -p /opt/gpadmin/hawq-data-directory/segmentdd
chown -R gpadmin:gpadmin /opt/gpadmin/

3. 安裝依賴包

wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm
rpm -Uvh epel-release*rpm
yum -y install libgsasl
yum -y install thrift
yum -y install protobuf
yum -y install boost

三、安裝HAWQ

        以下步驟需要用root用戶在全部主機執行。

1. 下載安裝包

wget https://archive.apache.org/dist/hawq/2.4.0.0/apache-hawq-rpm-2.4.0.0.tar.gz

2. 解壓並安裝

tar -zxvf apache-hawq-rpm-2.4.0.0.tar.gz
cd hawq_rpm_packages/
rpm -ivh apache-hawq-2.4.0.0-el7.x86_64.rpm

四、配置HAWQ

        以下步驟需要用root用戶在172.16.1.124主機執行。

1. 創建HAWQ的HDFS數據目錄

su - hdfs
hdfs dfs -mkdir /hawq_default
hdfs dfs -chown gpadmin:gpadmin /hawq_default

2. 修改配置文件

su - gpadmin
cd /usr/local/apache-hawq/etc/
vi hawq-site.xml

        修改以下屬性:

<property>
        <name>hawq_master_address_host</name>
        <value>172.16.1.124</value>
        <description>The host name of hawq master.</description>
</property>

<property>
        <name>hawq_master_address_port</name>
        <value>5432</value>
        <description>The port of hawq master.</description>
</property>

<property>
        <name>hawq_standby_address_host</name>
        <value>none</value>
        <description>The host name of hawq standby master.</description>
</property>

<property>
        <name>hawq_segment_address_port</name>
        <value>40000</value>
        <description>The port of hawq segment.</description>
</property>

<property>
        <name>hawq_dfs_url</name>
        <value>172.16.1.124:8020/hawq_default</value>
        <description>URL for accessing HDFS.</description>
</property>

<property>
        <name>hawq_master_directory</name>
        <value>/opt/gpadmin/hawq-data-directory/masterdd</value>
        <description>The directory of hawq master.</description>
</property>

<property>
        <name>hawq_segment_directory</name>
        <value>/opt/gpadmin/hawq-data-directory/segmentdd</value>
        <description>The directory of hawq segment.</description>
</property>

3. 添加slaves

        編輯/usr/local/apache-hawq/etc/slaves文件,增加所有主機IP:

172.16.1.124
172.16.1.125
172.16.1.126
172.16.1.127

4. 將配置文件複製到其它主機

scp hawq-site.xml 172.16.1.125:/usr/local/apache-hawq/etc/
scp hawq-site.xml 172.16.1.126:/usr/local/apache-hawq/etc/
scp hawq-site.xml 172.16.1.127:/usr/local/apache-hawq/etc/
scp slaves 172.16.1.127:/usr/local/apache-hawq/etc/
scp slaves 172.16.1.126:/usr/local/apache-hawq/etc/
scp slaves 172.16.1.125:/usr/local/apache-hawq/etc/

五、配置OS內核參數與限制

        參考/usr/local/apache-hawq/etc/gpcheck.cnf文件修改內核參數與限制。以下步驟用root用戶在所有主機執行。

1. 修改內核參數

        編輯/etc/sysctl.conf,增加以下內容:

kernel.sem= 250 512000 100 2048
kernel.msgmnb= 65536
kernel.msgmax= 65536
net.ipv4.tcp_syncookies= 0
net.ipv4.tcp_tw_recycle= 1
net.ipv4.tcp_max_syn_backlog= 200000
net.ipv4.conf.all.arp_filter= 1
net.ipv4.ip_local_port_range= 1281 65535
net.core.netdev_max_backlog= 200000
vm.overcommit_memory= 2
fs.nr_open= 3000000
kernel.threads-max= 798720
kernel.pid_max= 798720
kernel.msgmni = 2048
kernel.shmmax = 1000000000
kernel.shmall = 4000000000
kernel.sysrq = 1

        使配置生效:

sysctl -p

2. 修改限制

        編輯/etc/security/limits.conf文件,增加以下內容:

* soft nofile 2900000
* hard nofile 2900000
* soft nproc 131072
* hard nproc 131072

六、創建HAWQ集羣 

        在172.16.1.124用gpadmin用戶執行以下命令:

cd /usr/local/apache-hawq/
source greenplum_path.sh 
cd ./bin
# 配置gpadmin用戶免密登錄
./hawq ssh-exkeys -h 172.16.1.124 -h 172.16.1.125 -h 172.16.1.126 -h 172.16.1.127
# 初始化集羣
./hawq init cluster

七、驗證HAWQ啓動

        在172.16.1.124用gpadmin用戶執行:

[gpadmin@manager/opt/gpadmin]$source /usr/local/apache-hawq/greenplum_path.sh
[gpadmin@manager/opt/gpadmin]$hawq state
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:-- HAWQ instance status summary
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:------------------------------------------------------
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:--   Master instance                                = Active
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:--   No Standby master defined                           
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:--   Total segment instance count from config file  = 4
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:------------------------------------------------------
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:--   Current HAWQ acl type                          = standalone
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:------------------------------------------------------ 
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:--   Segment Status                                    
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:------------------------------------------------------ 
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:--   Total segments count from catalog      = 4
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:--   Total segment valid (at master)        = 4
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:--   Total segment failures (at master)     = 0
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:--   Total number of postmaster.pid files missing   = 0
20200313:17:28:30:020934 hawq_state:manager:gpadmin-[INFO]:--   Total number of postmaster.pid files found     = 4
[gpadmin@manager/opt/gpadmin]$psql -d postgres
psql (8.2.15)
Type "help" for help.

postgres=# 

參考:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章