在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=# 

参考:

发布了370 篇原创文章 · 获赞 599 · 访问量 218万+

猜你喜欢

转载自blog.csdn.net/wzy0623/article/details/104845576