Apache HAWQ集群的安装部署

最近Pivotal公司发布了Apache HAWQ的企业版HDB 2.0,因功能强大,性能出色,很多人已经迫不及待想要安装来玩玩了。今天我们就来聊聊怎么部署强大的HAWQ 2.0吧。

 

企业版的HAWQ你花了钱基本就可以躺着等它安装好了,所以这里先不讨论,我们来讲讲社区版 HAWQ的多节点集群的安装部署。

 

( 想装个单节点来试试的同学也可以参考这里:https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61320026 )

 

 

一. 系备工作:

首先我们准备好5台机器,机器名分别为test1,test2, test3, test4,test5,每台机器安装好CENTOS 7.2,选择软件安装时,‘Base Environment'选择'Development and Creative Workstation',  ’Add-Ons for Selected Environment' 勾选 ‘Additional Development’, 'Development Tools'和‘Platform Development'。

 

1.   修改系统配置文件

1.1备份系统文件 /etc/sysctl.conf

1.2修改 /etc/sysctl.conf文件如下:

 

kernel.shmmax = 1000000000

kernel.shmmni = 4096

kernel.shmall = 4000000000

kernel.sem = 250 512000 100 2048

kernel.sysrq = 1

kernel.core_uses_pid = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.msgmni = 2048

net.ipv4.tcp_syncookies = 0

net.ipv4.ip_forward = 0

net.ipv4.conf.default.accept_source_route = 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

# increase network

net.core.rmem_max=2097152

net.core.wmem_max=2097152

 

1.3 运行sysctl –p 以上置生效

 

 

1.4 备份并添加以下置到/etc/security/limits.conf :

   

     * soft nofile 2900000

     * hard nofile 2900000

     * soft nproc 131072

     * hard nproc 131072

       1.5 重新登以使配置生效

 

   2. 创建用户和用户组 

           2.1 创建用’gpadmin’和用户组’gpadmin’

    groupadd gpadmin

    useradd –g gpadmin -d /home/gpadmin -s /bin/bash -m gpadmin

2.2 将gpadmin加入到sudo组

    echo gpadmin ALL=\(ALL\)      NOPASSWD: ALL >> /etc/sudoers

 

二.安装HDFS

 

HAWQ 2.0支持社区版HDFS和HDP(hortonworks)版,推荐使用HDP 2.4.0版本,因HAWQ 2.0是基于HDP2.4.0来测试的。

 

  1. 本文我设已经安装好了一个非HA非Kerberos的HDFS,namenode安装在test5,secondary namenode 安装在test1 上,datanodes 分安装在test2, test3, test4上。

  2. 建好hdfs目hdfs://test5:8020/hawq ,并将目owner改gpadmin。

 

安装配置参考以下文档(推荐使用Ambari形化安装),里我就不多了。

http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.4.0/index.html

 

 

 

三.安装HAWQ所需的第三方库

 

用YUM 可以很方便的来管理安装所有HAWQ需要的第三方库,安装过程中如果找不到某些库,请多尝试一些YUM的源来解决。我们这里除了CENTOS的源以外还添加了Fedora的Extra Packages forEnterprise Linux (EPEL)源。

 

1. 下安装EPEL YUM 安装包:

curl https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm-o epel-release-latest-7.noarch.rpm

sudo rpm -ivh epel-release-latest-7.noarch.rpm

 

2. 一安装所有的第三方

yum install -y man passwd sudo tar which git mlocate links make bzip2 net-tools autoconf automake libtool m4 gcc gcc-c++ gdbbison flex cmake gperf maven indent libuuid-devel krb5-devel libgsasl-devel expat-devellibxml2-devel perl-ExtUtils-Embed pam-devel python-devel libcurl-develsnappy-devel thrift-devel libyaml-devel libevent-devel bzip2-developenssl-devel openldap-devel protobuf-devel readline-devel net-snmp-develapr-devel libesmtp-devel xerces-c-devel python-pip json-c-devel apache-ivyjava-1.7.0-openjdk-devel openssh-clients openssh-server python-pip

 3. PIP 安装python模块:

pip --retries=50--timeout=300 install pg8000

pip --retries=50--timeout=300 install simplejson

pip --retries=50--timeout=300 install unittest2

pip --retries=50--timeout=300 install pycrypto

pip --retries=50--timeout=300 install pyyaml

pip --retries=50--timeout=300 install lockfile

pip --retries=50--timeout=300 install paramiko

pip --retries=50--timeout=300 install psi

pip --retries=50 --timeout=300 install http://darcs.idyll.org/~t/projects/figleaf-0.6.1.tar.gz

pip --retries=50 --timeout=300 install http://sourceforge.net/projects/pychecker/files/pychecker/0.8.19/pychecker-0.8.19.tar.gz/download

 

四.HAWQ的编译安装及配置

 

1.    在test1上下HAWQ源代编译安装到比如/data/hawq目

 

git clone https://git-wip-us.apache.org/repos/asf/incubator-hawq.git

cd incubator-hawq

./configure –prefix=/data/hawq

make

make install

 

  2. 修改HAWQ的配置文件

 2.1 基于HAWQ的配置文件模板来生成新的配置文件

    cp  /data/hawq/etc/template-hawq-site.xml/data/hawq/etc/hawq-site.xml

 2.2 修改 /data/hawq/etc/hawq-site.xml,在此我将以下换为实际环境中的。修改完配置文件中所有百分号的值已被替完。以下可以根据自己的环境自行修改。

hawq_master_address_host:                  test1

hawq_master_address_port:                   20000

hawq_standby_address_host:                test5

hawq_segment_address_port:                21000

hawq_dfs_url:                                          test5:8020/hawq

hawq_master_directory:                          /data/masterdd

hawq_segment_directory:                       /data/segmentdd

hawq_master_temp_directory:                /tmp

hawq_segment_temp_directory:             /tmp

hawq_global_rm_type:                            none

hawq_rm_yarn_address:                          0.0.0.0:8032

hawq_rm_yarn_scheduler_address:         0.0.0.0:8030


              2.3 修改/data/hawq/etc/slaves为:

test2

test3

test4

 

3. 从test1复制/data/hawq目到所有机器上的对应,确保gpadmin用户对/data/hawq/etc目有写限。

 

4. 在所有机器上配置无密SSH访问,HAWQ提供了一个工具来做个事情

4.1 我首先以gpadmin用test1

4.2创建一个包含所有机器名的文本文件hostfile如下

~/hostfile:

test1

test2

test3

test4

test5

4.3 source greenplum_path.sh

4.4 hawq ssh-exkeys –f ~/hostfile

 

5. 用gpadmin用户创建好HAWQ的data目

    mkdir–p /data/masterdd  (test1, test5)

    mkdir –p /data/segmentdd  (test2, test3, test4)

 

五.初始化HAWQ

    hawq init cluster


初始化成功后,HAWQ就算全部安装完成了。开始玩吧!


以上操作均已在centos7.2上验证过了,但在实际安装中还是难免会遇到各种问题,如果你遇到安装问题,欢迎通过以下途径反馈,谢谢!

Mailto: [email protected]

Jira:     https://issues.apache.org/jira/browse/HAWQ


你可能感兴趣的:(Apache HAWQ集群的安装部署)