Kai Guo
Kai Guo

Reputation: 39

HAWQ stop cluster failed

I installed HAWQ from source code. After initializing and starting HAWQ cluster, I tried to stop it with "hawq stop cluster". However, it failed.

The error shows:

[hadoop@Master ~]$ hawq stop cluster 
20161217:19:59:31:004594 hawq_stop:Master:hadoop-[INFO]:-Prepare to do 'hawq stop'
20161217:19:59:31:004594 hawq_stop:Master:hadoop-[INFO]:-You can check log in /home/hadoop/hawqAdminLogs/hawq_stop_20161217.log
20161217:19:59:31:004594 hawq_stop:Master:hadoop-[INFO]:-Stop hawq with args: ['stop', 'cluster']

Continue with HAWQ service stop Yy|Nn (default=N):

20161217:19:59:38:004594 hawq_stop:Master:hadoop-[INFO]:-No standby host configured
20161217:19:59:38:004594 hawq_stop:Master:hadoop-[INFO]:-Stop hawq cluster
Traceback (most recent call last):
  File "/home/hadoop/hawq/bin/hawq_ctl", line 1276, in <module>
    stop_hawq(opts, hawq_dict)
  File "/home/hadoop/hawq/bin/hawq_ctl", line 1043, in stop_hawq
    instance.run()
  File "/home/hadoop/hawq/bin/hawq_ctl", line 891, in run
    check_return_code(self._stopAll())
  File "/home/hadoop/hawq/bin/hawq_ctl", line 816, in _stopAll
    master_result = self._stop_master()
  File "/home/hadoop/hawq/bin/hawq_ctl", line 760, in _stop_master
    self._stop_master_checks()
  File "/home/hadoop/hawq/bin/hawq_ctl", line 712, in _stop_master_checks
    self.conn = dbconn.connect(self.dburl, utility=True)
  File "/home/hadoop/hawq/lib/python/gppylib/db/dbconn.py", line 211, in connect
    cnx  = pgdb._connect_(cstr, dbhost, dbport, dbopt, dbtty, dbuser, dbpasswd)
AttributeError: 'module' object has no attribute '_connect_'

At present, I used the alternative way to stop the cluster, that is, stop master and segments separately with pg_ctl.

pg_ctl stop -D <master_data_dir>/<segment_data_dir>

Anything about this error is helpful. Thanks!

Upvotes: 0

Views: 80

Answers (2)

Kai Guo
Kai Guo

Reputation: 39

Because directly use the command 'pip install pygresql', it will install the latest version(5.0.3) pygresql. In the errors above, pgdb._connect_() is the old version (4.2.2) routine, in 5.0.3 it is pgdb._connect().

The solution is :

pip install pygresql==4.2.2

Upvotes: 1

Radar Lei
Radar Lei

Reputation: 1

Before stop cluster, if it's not '-M immediate' stop, hawq will connect to database to check running connections.

From your log, the connection to master node is failed due to python module issues. Seems like pygresql module is not installed properly. Please try to reinstall it.

Upvotes: 0

Related Questions