环境搭建前提
安装Centos7.x系统
安装Centos7.x系统,升级到最新版本(可选)
安装 epel-release wget 等基本软件
安装CDH环境
安装HAWQ
本文采用rpm包方式安装。以下配置,如无特别说明,需要在集群中所有设备中执行。
修改系统配置
修改 /etc/sysctl.conf
kernel.shmmax = 1600000000
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.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
使修改配置立即生效:sysctl -p
修改 /etc/security/limits.con
* soft nofile 2900000
* hard nofile 2900000
* soft nproc 131072
* hard nproc 131072
安装依赖包
建议每次安装几个包,分多次安装
yum install -y man passwd sudo tar which git mlocate links make bzip2 net-tools \
autoconf automake libtool m4 gcc gcc-c++ gdb bison flex gperf maven indent \
libuuid-devel krb5-devel libgsasl-devel expat-devel libxml2-devel \
perl-ExtUtils-Embed pam-devel python-devel libcurl-devel snappy-devel \
thrift-devel libyaml-devel libevent-devel bzip2-devel openssl-devel \
openldap-devel protobuf-devel readline-devel net-snmp-devel apr-devel \
libesmtp-devel python-pip json-c-devel \
java-1.7.0-openjdk-devel lcov cmake3 \
openssh-clients openssh-server perl-JSON perl-Env
安装HAWQ集群
安装HAWQ Rpm包
1、下载
wget http://archive.apache.org/dist/incubator/hawq/2.3.0.0-incubating/apache-hawq-rpm-2.3.0.0-incubating.tar.gz
2、解压
tar -zxvf apache-hawq-rpm-2.2.0.0-incubating.tar.gz -C /opt/
3、安装
yum install -y /opt/hawq_rpm_packages/apache-hawq-2.3.0.0-el7.x86_64.rpm
配置
1、切换到用户hdfs
,创建HAWQ所需文件夹,并改变文件夹所有者
su hdfs
hdfs dfs -mkdir /hawq_default
hdfs dfs -chown gpadmin:gpadmin /hawq_default
2、切换到用户 gpadmin
(此用户在上面软件安装时已经自动创建,如果没有,请自行创建),修改配置文件。
su - gpadmin
vim /usr/local/apache-hawq/etc/hawq-site.xml
确认HDFS和YARN的主节点,最简单的方法就是查看端口8020(HDFS),8030\8032(YARN),
修改以下几处:
25行
<property>
<name>hawq_master_address_host</name>
<value>10.10.3.166</value> #原为localhost,修改为HAWQ主节点地址。
<description>The host name of hawq master.</description>
</property>
37行
<property>
<name>hawq_standby_address_host</name>
<value>10.10.3.168</value> ## 原为NONE,修改为HDFS从节点地址
<description>The host name of hawq standby master.</description>
</property>
49行
<property>
<name>hawq_dfs_url</name>
<value>10.10.3.166:8020/hawq_default</value> ## 原为localhost,修改为HDFS主节点地址。
<description>URL for accessing HDFS.</description>
</property>
55行
<property>
<name>hawq_master_directory</name>
<value>/opt/hawq-data-directory/masterdd</value> ## 原为 ~/ 更改为/opt/ 主节点数据目录
<description>The directory of hawq master.</description>
</property>
61行
<property>
<name>hawq_segment_directory</name>
<value>/opt/hawq-data-directory/segmentdd</value> ## 原为 ~/ 更改为/opt/
<description>The directory of hawq segment.</description>
</property>
105行
<property>
<name>hawq_rm_yarn_address</name>
<value>10.10.3.168:8032</value> ## 修改为Yarn的主节点
<description>The address of YARN resource manager server.</description>
</property>
111行
<property>
<name>hawq_rm_yarn_scheduler_address</name>
<value>10.10.3.168:8030</value> ## 修改为Yarn的主节点
<description>The address of YARN scheduler server.</description>
</property>
3、 修改slaves,添加segment从服务器的ip
vim //usr/local/apache-hawq/etc/slaves
10.10.3.167 #每行一个
10.10.3.168
4、 创建文件夹
mkdir -p /opt/hawq-data-directory/masterdd ## HDFS 主节点,建议在所有节点上创建
mkdir -p /opt/hawq-data-directory/segmentdd ## HDFS 从节点,建议在所有节点上创建
chown -R gpadmin /opt/hawq-data-directory/masterdd ## 更改属主
chown -R gpadmin /opt/hawq-data-directory/segmentdd ## 更改属主
5、配置gpadmin
用户免密登录
先给每个节点上的 gpadmin 用户设置相同的密码。
然后执行:
source /usr/local/apache-hawq/greenplum_path.sh
/usr/local/apache-hawq/bin/hawq ssh-exkeys -h 10.10.3.166 -h 10.10.3.167 -h 10.10.3.168 ## -h xxx.xxx.xxx.xxx 为节点IP
按照提示,输入刚刚设置的gpadmin
用户密码
以下均在HDFS主节点执行
6、在主节点执行
/usr/local/apache-hawq/bin/hawq init cluster
输入 yes 执行初始化。
集群启动和停止命令
/usr/local/apache-hawq/bin/hawq start cluster
/usr/local/apache-hawq/bin/hawq stop cluster
7、添加postgresql
可访问IP
vim /data/opt/hawq-data-directory/masterdd/pg_hba.conf
host all gpadmin 10.10.3.166/32 trust
8、查看一下效果
psql -U gpadmin -d postgres
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 long@longger.xin