ZooKeeper startup script doesn't use JAVA_HOME
----------------------------------------------
Key: ZOOKEEPER-976
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-976
Project: ZooKeeper
Issue Type: Bug
Affects Versions: 3.3.2
Reporter: Patrick Hunt
Assignee: Patrick Hunt
Priority: Minor
Fix For: 3.3.3, 3.4.0
>From bug filed on CDH: https://issues.cloudera.org/browse/DISTRO-47 - moving
>it to this jira to address:
------------------------------------------------------
Bug filed by "grep.alex" at
http://getsatisfaction.com/cloudera/topics/cdh3b3_zookeeper_startup_script_doesnt_use_java_home
On RedHat 5 (using the RPM installer) I was able to install and run all the
Hadoop components. The Zookeeper install was fine, but it wouldn't start:
{noformat}
[root@aholmes-desktop init.d]# ./hadoop-zookeeper start
JMX enabled by default
Using config: /etc/zookeeper/zoo.cfg
Starting zookeeper ...
STARTED
[root@aholmes-desktop init.d]# Exception in thread "main"
java.lang.NoSuchMethodError: method
java.lang.management.ManagementFactory.getPlatformMBeanServer with signature
()Ljavax.management.MBeanServer; was not found.
at org.apache.zookeeper.jmx.ManagedUtil.registerLog4jMBeans(ManagedUtil.java:48
...
{noformat}
After some digging around I found the cause - the Zookeeper startup script
(/usr/lib/zookeeper/bin/zkServer.sh ) uses the java found in the path, whereas
the other startup scripts use JAVA_HOME. In my case I had the default RHEL5 1.4
JDK in the path, and the 1.6 JDK RPM's installed under /usr/java, hence the
above error, which I'm guessing is a fairly common setup.
In my opinion all the startup scripts should all use the same mechanism to
determine where to pick java.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.