Skip to content
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

Run ./pravega-controller in k8s cluster #7348

Open
zzkww opened this issue Jan 12, 2024 · 3 comments
Open

Run ./pravega-controller in k8s cluster #7348

zzkww opened this issue Jan 12, 2024 · 3 comments

Comments

@zzkww
Copy link

zzkww commented Jan 12, 2024

Ask your question away

Why do many of the following warnings appear when running the ./pravega-controller service under a k8s cluster:2024-01-12 17:18:52,403 92138 [ClientSocketReaders-2] WARN i.p.controller.server.SegmentHelper - [requestId=-3946867873582637250] Connection dropped 85899345920
2024-01-12 17:18:54,005 93740 [ClientSocketReaders-2] INFO i.p.c.c.impl.TcpClientConnection - Closing TcpClientConnection.Reader because end of input reached.
2024-01-12 17:18:54,009 93744 [ClientSocketReaders-2] WARN i.p.c.connection.impl.RawClient - Closing connection to segment null with exception
io.pravega.shared.protocol.netty.ConnectionFailedException: null
at io.pravega.client.connection.impl.RawClient$ResponseProcessor.connectionDropped(RawClient.java:83)
at io.pravega.client.connection.impl.FlowHandler.lambda$close$3(FlowHandler.java:218)
at java.base/java.util.concurrent.ConcurrentHashMap.forEach(Unknown Source)
at io.pravega.client.connection.impl.FlowHandler.close(FlowHandler.java:215)
at io.pravega.client.connection.impl.FlowHandler.connectionDropped(FlowHandler.java:205)
at io.pravega.client.connection.impl.TcpClientConnection$ConnectionReader.stop(TcpClientConnection.java:186)
at io.pravega.client.connection.impl.TcpClientConnection$ConnectionReader.run(TcpClientConnection.java:146)
at java.base/java.lang.Thread.run(Unknown Source)

@RaulGracia
Copy link
Contributor

Hi @zzkww, thanks for your question!

In a nutshell, the Controller in Pravega uses the Segment Stores to create and orchestrate the streams, as well as to store metadata. Apparently, this error is showing a connection issue in the SegmentHelper class, which is the class in the Controller that encapsulates the operations on segments against Segment Stores. So, this may mean that the Controller has problems to connect with a Segment Store, or that Segment Stores are not working well for some reason. It would also be interesting to know if this problem is persistent or transient. Hope it helps, thanks!

@zzkww
Copy link
Author

zzkww commented Jan 18, 2024

Hi @zzkww, thanks for your question!

In a nutshell, the Controller in Pravega uses the Segment Stores to create and orchestrate the streams, as well as to store metadata. Apparently, this error is showing a connection issue in the SegmentHelper class, which is the class in the Controller that encapsulates the operations on segments against Segment Stores. So, this may mean that the Controller has problems to connect with a Segment Store, or that Segment Stores are not working well for some reason. It would also be interesting to know if this problem is persistent or transient. Hope it helps, thanks!

Thank you for your answer!
There are two lines of related configuration in conf/controller.config.properties, controller.segmentstore.connect.host.nameOrIp=${SERVICE_HOST_IP}: The default value is localhost
controller.segmentstore.connect.port=${SERVICE_HOST_PORT}:The default value is: 12345
Is it related to these two configurations?

@RaulGracia
Copy link
Contributor

RaulGracia commented Jan 18, 2024

Hi @zzkww, in my experience, if you are deploying Pravega in Kubernetes you don't need to change this configuration parameter.

One question to begin with: are you using the Pravega Operator to deploy Pravega on Kubernetes? https://github.com/pravega/pravega-operator

Because this is the way to go for deploying Pravega in a Kubernetes cluster. Trying to do that manually as it was a bare metal cluster is not going to work. You have scripts and examples of how to set up a Pravega cluster on Kubernetes that will help you to get started:

For further discussion, I suggest you to join our Slack space (if you haven't already): https://join.slack.com/t/pravega-io/shared_invite/zt-245sgpw47-vbLBLiLfBdW9TlKemXkUnw

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants