Support Questions
Find answers, ask questions, and share your expertise

Enable HiveServer (Hive1) interface on CDH4.4 (parcels)


I've deployed a CDH4.4 cluster using CM 5 and parcels. I'd like to have both HiveServer and HiveServer2 interfaces for testing. 

My attempts to launch the HiveServer service standalone resulted in failure (environment basically). I've edited manually /opt/cloudera/parcels/CDH/etc/default/hive-server and /opt/cloudera/parcels/CDH/etc/default/hive-server2 to add the PORT environment variable but they are ignored. HiveServer2 still runs on defualt port (10000) same as defined in CM configuration.


Is this possible? Which approach should I take to have both or at least one at the time?





Expert Contributor

Hi Rudy,

The parcel configs that you modified are only the default configs which are only used out-of-the-box for client components like Sqoop.


For server components like HiveServer2, the configuration is managed by Cloudera Manager and you should go to the appropriate service configuration/safety valve to update the configuration. Cloudera Manager generates service (.e.g Hive Server2) configuration based on the various properties you set via the Cloudera Manager interface and uses that when starting the service instead of the default configuration shipped with the parcel.


Also, in general, it's not recommended to modify anything in the parcel. It's meant to be an immutable bag of bits. In particular, as a consequence, if you were to upgrade to a newer version of CDH, you'd lose any changes you made to the existing parcels, which is not desirable. Any shared objects (e.g. sqoop connectors) that you'd like to be used by across CDH version upgrades, should exist outside any parcel and Cloudera Manager should/would help you with taking care of such things. If you have any further questions or comments, however, please do let us know!




Hi Mark,


thanks for you answer. Now, I'm still wondering how can I enable HiveServer or Hive1 service. Since it is not handled by Cloudera Manager, is this possible or do you recommend to switch to a package-based install?





You can simply start HiveServer1 via the command line, just like you would if you weren't using Cloudera Manager. This should be true for both parcels or packages, though the init scripts are probably not available when using parcels.


Keep in mind that HiveServer1 is not recommended and doesn't have proper support for concurrency.


You can specify configuration for your HiveServer1 by either using the Hive client safety valve(s) and re-deploying Hive client config so /etc/hive/conf has the desired configuration for HiveServer1, or by copying /etc/hive/conf/* somewhere and then using the appropriate command-line or environment argument to specify the hive client configuration dir when starting HiveServer1.