#!/usr/bin/env python # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # chkconfig: 2345 90 20 # description: hive metastore import sys sys.path.append('/usr/local/fbprojects/fb303/scripts') import fb303_scripts # thrift python packages need to be installed import thrift from thrift import protocol, transport from thrift.transport import TTransport from thrift.protocol import TBinaryProtocol from thrift.transport import * if (len(sys.argv) > 2): port = int(sys.argv[2]) else: port = 9082 if (len(sys.argv) > 1): retval = fb303_scripts.service_ctrl('hive.metastore', port, sys.argv[1], binary_name = "start_meta_store_thrift_server.sh", trans_factory = thrift.transport.TTransport.TBufferedTransportFactory(), prot_factory = TBinaryProtocol.TBinaryProtocolFactory()) sys.exit(retval) else: print 'metastore_ctrl requires a command: start, stop, restart, reload, force-reload, status, or version' sys.exit(2)