-
-
Notifications
You must be signed in to change notification settings - Fork 362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cluster example out of date #111
Comments
Just tried it again. Unfortunately I cannot get either a single-node or multi-node setup running. Single node
I spy something dubious there: (8301 exists in the source code as In another screen I try to create a topic:
Back in the broker screen I see:
I don't know what's supposed to be listening on port 6831; this number doesn't appear in the Jocko source code anywhere. And indeed nothing is listening on this port, although jocko has a connected UDP socket to send to 6831:
ClusterThe instructions in
(Note: same problem with SerfLANAddr having two ports) In another screen, trying to add a second broker:
This one exits because it tries to bind to 8301; that port is already in use by the first process. AnalysisIt seems that
However,
And
... although in the test suite, it is set explicitly:
I can't see how this can possibly work outside the test suite. What I can do is force
However it still fails in the same same way as single node cluster (client says |
P.S. Looking in the source code of serf itself, it uses a helper to split
And I found port 6831 in jaeger-client-go. Since this is for OpenTracing, the failure to send to this UDP port may not matter. It would of course be nice to turn off when not needed.
|
Thanks for working on this. I ran into the same issue with the ports conflicting. Let me know if I can help with testing or code review. |
Current status: you can start a one-node cluster with When I try to publish a message with confluent-kafka-python, it fails with the following error:
You can start multiple nodes with e.g. |
Cluster startup now kind-of working: serf needs to have a unique node name, so I added a There seems to be a problem with negative message transit times (!)
And the client still has to know which node to connect to:
|
@candlerb thanks for the PRs, merged them. you need both serf and raft cause they do different things, serf does discovery and raft does consensus. right |
By "discovery" do you mean discovery of which nodes are members of the raft cluster, to avoid having to statically configure peers? I wasn't sure that a gossip protocol was suitable for that. UPDATE: I have moved this discussion to #140 |
After latest push on branch candlerb/serfaddr (pull request #136), metadata response now works. Next problem is when publishing to a topic:
|
The cluster example uses command line flags which are no longer valid:
--debug
--log-dir
(should be--data-dir
?)--prometheus-addr
--serf-members
(should be--join
or--join-wan
?)So I tried running it like this:
These options are accepted; but no broker is listening on ports 9001, 9101 or 9201, nor is serf listening on 9003, 9103 or 9203.
Captured output:
I tried running the first process under strace. Here are all the lines matching
htons
:(I don't see any attempt to open ports 9001 or 9003?)
Here are the lines matching
= -1
:The EPERM issues are a bit worrying. Maybe this is a symptom of running within an lxd container (but then again, running in a docker container is supposed to work)
The text was updated successfully, but these errors were encountered: