一、环境变量初始化
使用hawq的命令必须先进行环境变量的初始化
命令不能以 root 用户执行,应该以 gpadmin 用户执行
source /usr/local/apache-hawq/greenplum_path.sh
二、启动各个segment节点
数据目录: /data/hawq/segment/
端口: 40000
运行位置:各个节点,每个各运行一次,每次运行后,需要查看是否成功监听40000端口。
postgres -D /data/hawq/segment/ -M segment -p 40000 -h 0.0.0.0 --silent-mode=true
三、启动master节点
数据目录:/data/hawq/master/
端口:5432
运行位置:主节点运行一次,运行后,需要查看是否成功监听5432端口。
postgres -D /data/hawq/master/ -M master -p 5432 -h 0.0.0.0 --silent-mode=true
四、启动standby节点
数据目录:/data/hawq/master/
端口:5432
运行位置:standby节点运行一次,运行后,需要查看是否成功监听5432端口。
gpsyncmaster -D /data/hawq/master/ -p 5432 -h 0.0.0.0
standby节点没有启动一样可以提供基础服务。
五、检查运行的状态
在主节点使用命令查看运行状态
hawq state master
正常运行的集群应该返回如下:

如果在 /data/hawq/master/pg_hba.conf 启用了密码验证,可能到导致hawq state master出现错误提示,如下:
Failed to connect to database, this script can only be run when the database is up.
这个时候请使用
psql postgres
并使用SQL查询
select * from gp_segment_configuration;
了解集群状态。
六、其他遇到问题的处理
1、查看运行的Postgres进程
ps -ef |grep postgres
2、HAWQ配置文件的位置
/usr/local/apache-hawq/etc/hawq-site.xml
3、如果某个Segment节点没有加入节点
如果整体运行正常,但是某个节点没有接入可以通过SQL语句进行查询
select * from gp_segment_configuration;
通过上面的SQL可以查看目前是哪几个segment加入集群
4、如果master、standby或segment节点启动失败的一个原因
可以考虑删除一下文件,可以先备份一下,然后再启动服务
/data/hawq/master/postmaster.pid
浙公网安备 33010602011771号