The Streams Quick Start Edition is a great way to get started with Streams without having to install it, since it is a fully configured Streams environment. While using it, you might have encountered one or more of the error messages described in this article. These are often related to issues resolving the hostname of the Virtual Machine and this article will show you how to quickly fix them.
Connecting to a domain fails from Streams Studio
Connect to domain StreamsDomain failed. Unable to connect to URL service jmx://jmxmp://streamsqse.localdomain:9975. Check that the domain is started and the JMX service is running at that URL and either correct that condition or update the domain’s connection information with a new URL.”
This could be because the domain has been disconnected.
Try starting the domain using one of the following options below. If those fail and you get a different error message, try the solution(s) above that correspond to the new error.
This typically resolves the problem. However, sometimes, starting the domain fails. If this happens, try following the suggestions in the next section.
Problems starting embedded Zookeeper or a Domain
When trying to start Zookeeper, or start or create a domain, you might get one of the following errors:
Invalid value for bootstrap property ‘streams.zookeeper.quorum’. For embedded ZooKeeper the value must specify the hostname for the local host. Found: streamsqse.localdomain. Use ‘streamtool setbootproperty’ to update the property value.
CDISA3028W The controller service failed to start on the following resource: streamsqse.localdomain. The SSH exit code is 255.
CDISA5158E Could not allocate enough management resources for the following domain: StreamsDomain.
The embedded Zookeeper could not be started because it is not configured to run on the local host. The configured host is streamsqse.local. Only a local host is supported.
- Or, this error from the domain manager:
Check your hosts file
Most errors of this nature involve a mismatch between the machine’s IP address and hostname and the /etc/hosts file. This can happen, for example, if your virtual machine’s IP address was changed after the VM was booted and the hosts file was not been updated. The information in the hosts file is used to determine the IP address of the embedded Zookeeper, and so if the IP address changes, then Streams is unable to connect to the Zookeeper.
To verify that this is the problem, run the following two commands and compare the reported IP addresses:
As you can see in the image above, the entry in the hosts file for
streamsqse.local differs from the IP address for the host. While the causes of this mismatch are varied, you can resolve this issue by following these steps:
- First, make sure the virtual machine is configured to use NAT:
- Change the value in the hosts file to match the current IP address:
sudo -e /etc/hosts
(Enter the root password when prompted. Check the Passwords.pdf file on the Desktop for the correct root password.)
This will open vim so you can edit the hosts file.
- In our example above, we would change the line
192.168.246.138 streamsqse.local streamsqse
192.168.246.140 streamsqse.local streamsqse
- Retry the failed action such as creating a domain or starting the embedded Zookeeper. If you were trying to start a domain, try resetting the domain by running the reset domain script:
“Zookeeper already running”
Sometimes, however, the steps above do not resolve the problem. Your /etc/hosts file might have the correct IP address, or starting the domain or Zookeeper fails with an error stating that the Zookeeper is already running:
CDISA5309E ZooKeeper was not started on streamsqse.localdomain:21810 since it is running on a different host localhost.
One solution that has worked for me is to delete the zookeeper host file:
Then try starting the domain again.
The aforementioned steps should address most, if not all scenarios. If none of these work for you, however, try restarting the virtual machine. This typically addresses most errors:
Hope this helps!