StreamParse: IOError: Local port: 6627 already in use, unable to open ssh tunnel to nimbus.server.local:6627 - apache-storm

Setup:
Storm 0.10.0
Streamparse 2.1.4
Centos 6.5
Python 2.7 (Streamparse needs it)
(Yes i know they are outdated, however i couldnt get anything working with Storm 1.0, its just broken with streamparse 3)
When I attempt to launch a "streamparse submit" from either my nimbus server, or another server in my topology I get the following error:
"IOError: Local port: 6627 already in use, unable to open ssh tunnel
to nimbus.server.local:6627."
But ofcourse 6627 is in use on my nimbus server? Its the Thrify port. So i tried moving the Thrifty port to 6637 and restarting Nimbus. But I get the same error back from the client submitting it:
IOError: Local port: 6627 already in use, unable to open ssh tunnel to
nimbus.server.local:6627.
Even a netstat tuanp shows that 6627 shows that nothing is listening on that port on nimbus or the box executing the submit.
I have a feeling something to do with SSHD config and allowing tunneling, and that isn't being handled properly by Nimbus and giving an incorrect error when trying to establish the tunnel.
Has anyone else experienced this?

This is what I ended up doing to deploy streamparse Storm topology in the local Storm cluster:
> sparse quickstart quickstart-2.1.4
> cd quickstart-2.1.4
> sparse jar
> storm jar _build/quickstart-2.1.4-0.0.1-SNAPSHOT-standalone.jar streamparse.commands.submit_topology topologies/wordcount.clj
This worked with streamparse 2.1.4 and Storm 0.9.5

I got the same error when running storm topology.
I made following changes, then it worked fine,
Added the following property
In config.json,
"use_ssh_for_nimbus": false,
"use_virtualenv": false,
In fabfile.py,
from fabric.api import env
env.use_ssh_config = False
env.password = '****'
from streamparse.ext.fabric import *
And submitted as "sparse submit"
Please let me know, if it worked, or share the config file

Related

Flink localhost dashboard not working despite cluster starting

I have downloaded Flink 1.5.0 and ran the start-cluster script and the cluster seems to have started successfully:
$ ./bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host LAPTOP-HRAHBL24.
Starting taskexecutor daemon on host LAPTOP-HRAHBL24.
However, I am when I access http://localhost:8081/ the connection is being refused. I followed the question to un-comment the localhost lines in my hosts file:
https://superuser.com/questions/1008349/unable-to-connect-to-localhost-after-windows-10-upgrade
I checked the logs and I have this error in it:"/d/Programs/flink-1.5.0/bin/flink-daemon.sh: line 131: C:\Program: No such file or directory" I had this error with Flink 1.10.1, I tried searching it but couldn't find anything
Any idea what I can do to fix this?
In conf/flink-conf.yaml, set java home with this variable env.java.home
The problem was the space in "Program Files", so I set the java home in conf/flink-conf.xml instead and this error was gone.

how to make kubernetes to run in docker for desktop in windows

looks like this
using windows version 10,
docker for windows(docker verion) : 18.09.2
how to resolve this issue ?
Kubernetes should be running.
But check your cluster-info:
> kubectl cluster-info
Kubernetes master is running at http://localhost:8080
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.
That is reported both in docker/machine and docker/for-win or kubernetes/minikube.
While the issue is pending, and if no firewall/proxy is involved, I have seen the error caused because the port is already taken.
See also this article:
Issue
The reason you are getting the error message is that Kuberentes is not looking into the correct configuration folder because the configuration path is not configured on the Windows 10 machine.
Solution
To fix the problem, I will run the command below that will tell Kubernetes where to find the configuration file on the machine.
Powershell
[Environment]::SetEnvironmentVariable("KUBECONFIG", $HOME + "\.kube\config", [EnvironmentVariableTarget]::Machine)

ejabberdctl start succeeds,but status and stop failed to connect to node

I was following this guide to set up jabbed on cluster http://chadillac.github.io/2012/11/17/easy-ejabberd-clustering-guide-mnesia-mysql/
I am using two was instances having ip
Master -> 111.222.333.444
Slave -> 222.333.444.555
But since I do not have DNS configured so I am using ip addresses like 111.222.333.444 etc instead of ‘master.domain.com’ .
I haven’t been successful at seeing up the cluster yet but before that I am having a problem at my master node .
I start the server with
/tmp/ej1809/sbin/ejabberdctl start
Then I get no output but I see in the logs that that the server started.
then I check the status using
/tmp/ej1809/sbin/ejabberdctl status
But I get the error as
Failed RPC connection to the node 'ejabberd#111.222.333.444’: nodedown
And even when I try to stop the node using /tmp/ej1809/sbin/ejabberdctl stop then also
I get
Failed RPC connection to the node 'ejabberd#111.222.333.444’: nodedown
But I cannot understand the reason behind it.
Can anyone help me solve it please?
Stop and kill processes like epmd, erl, beam.
Then start ejabberd with "ejabberdctl live", that will keep the erlang shell open for you to see the log messages in realtime, including the erlang node name:
...
13:21:22.662 [info] ejabberd 19.02.52 is started in the node ejabberd#localhost in 7.07s
13:21:22.667 [info] Start accepting TCP connections at 0.0.0.0:5444 for ejabberd_http
13:21:22.667 [info] Application ejabberd started on node ejabberd#localhost
You can check if "epmd" knows about that node:
$ epmd -names
epmd: up and running on port 4369 with data:
name ejabberd at port 33519
Then let's see if ejabberdctl can connect with that node:
$ ejabberdctl help | grep "node name:"
--node nodename ejabberd node name: ejabberd#localhost
And finally:
$ ejabberdctl status
The node ejabberd#localhost is started with status: started
ejabberd 19.02.52 is running in that node
I assume you didn't yet edit anything in ejabberdctl.cfg, specifically the ERLANG_NODE. But if you did, I recommend to reinstall ejabberd, to ensure you have default configuration, and then retry those steps. Once ejabberd works perfectly, you can start modifying the configuration files (ejabberd.yml and ejabberdctl.cfg) to suit your real requirements (clustering, etc).
At some time, if you have problems setting clustering, you may find some ideas to debug the problem in
https://ejabberd.im/interconnect-erl-nodes/index.html

Cannot run styleguidist along side with laravel development server

I am trying to document my React Components and I am running styleguidist server along side with Laravel development server but the styleguidist server crashes with this error.
You have another server running at port 6060 somewhere, shut it down first
You can change the port using the `serverPort` option in your style guide config:
https://react-styleguidist.js.org/docs/configuration.html
I have configured the styleguidist server to run at port 6060 as to resolve this issue and succeeded to run the server only once. After that I am getting this issue again.
How can i resolve this??
The error is saying you have something else running at that port. Have you tried a different one? If you are running a UNIX system, you can see what is running on that port with:
lsof -i tcp:6060

Unable to get Mesos to run from tutorial: Setting up a Single Node Mesosphere Cluster

I have been following this tutorial to try and setup a single node mesosphere cluster from their
official tutorial:
http://mesosphere.com/docs/getting-started/developer/single-node-install/
I followed all the commands without any issues, and I also added the ports 5050 and 8080 to my security group. When I try to access the console for mesos/marathon, I get a "Internet Explorer cannot display the webpage" message.
They also recommend checking it the following way:
MASTER=$(mesos-resolve `cat /etc/mesos/zk`)
mesos-execute --master=$MASTER --name="cluster-test" --command="sleep 5"
But that comes up with an error:
WARNING: Logging before InitGoogleLogging() is written to STDERR
F0106 17:03:08.126703 20993 process.cpp:1561] Failed to initialize, gethostbyname2: Unknown host
*** Check failure stack trace: ***
I am not really sure how to troubleshoot this either, and there are not many tutorials I could find on how to install mesos on ubuntu.
I checked the contents of the zk file, seems to be the default value.
$ cat /etc/mesos/zk
zk://localhost:2181/mesos
I would really appreciate any clues on how to go about this one.
Edit: The process is definitely running too - just an fyi:
root 31545 8.5 5.9 187464 35604 ? Ssl 17:28 0:00 /usr/local/sbin/mesos-slave --master=zk://localhost:2181/mesos --log_dir=/var/log/mesos
root 31563 28.5 2.1 116304 12856 ? Rs 17:28 0:00 /usr/local/sbin/mesos-master --zk=zk://localhost:2181/mesos --port=5050 --log_dir=/var/log/mesos --quorum=1 --wo
Mesos uses gethostbyname2 to resolve hostnames to IPs. The first thing I would recommend, is to try "ping localhost" and "ping hostname", and verify that there are no strange settings in /etc/hosts. If you're doing a multi-node cluster, I'd recommend that hostname map to the public IP address (not 127.0.x.1).
If that doesn't help, you can try setting the --ip and --hostname flags when starting mesos-master and mesos-slave, to bypass the gethostbyname2 resolution. These can also be set by writing to the file-based parameters, e.g. /etc/mesos/mesos-master/ip
For additional troubleshooting, try running wget http://localhost:5050 (or curl -L) from the mesos master, to verify that it is locally visible. Also try wget http://<public_ip>:5050 to verify that the web server is up and serving to the public IP. Depending on how your (EC2?) node is setup, you may need to expose/forward the port, or connect to a VPN.
Thanks Adam. I ran the wget and curl commands, and nothing was actually listening on port 8080 or 5050. I did open those ports in the ec2. A simple reboot did the trick however, once I ssh'ed into the ec2 instance after the reboot, both mesos and marathon were running and both ports are now showing after I ran
netstat -ntln.

Resources