搭建Quorum节点后Tessera节点启动失败,请求技术协助
I've successfully set up 3 Quorum nodes following the official guide, and I'm now configuring corresponding Tessera nodes for them. However, the Tessera nodes won't start. Here's the critical error from the logs:
Failed to bind to 0.0.0.0/0.0.0.0:9081
Full log output:
2019-11-09 00:57:30.942 [main] INFO org.eclipse.jetty.util.log - Logging initialized @7972ms to org.eclipse.jetty.util.log.Slf4jLog 2019-11-09 00:57:31.069 [main] INFO c.quorum.tessera.server.JerseyServer - Starting http://localhost:9081 2019-11-09 00:57:31.075 [main] INFO org.eclipse.jetty.server.Server - jetty-9.4.z-SNAPSHOT; built: 2019-04-18T19:45:35.259Z; git: aa1c656c315c011c01e7b21aabb04066635b9f67; jvm 1.8.0_231-b11 2019-11-09 00:57:32.051 [main] WARN o.g.jersey.internal.inject.Providers - A provider com.quorum.tessera.thirdparty.RawTransactionResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider com.quorum.tessera.thirdparty.RawTransactionResource will be ignored. 2019-11-09 00:57:32.519 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@37c5284a{/,null,AVAILABLE} Failed to bind to 0.0.0.0/0.0.0.0:9081 2019-11-09 00:57:32.540 [Thread-2] INFO c.quorum.tessera.server.JerseyServer - Stopping Jersey server at http://localhost:9081 2019-11-09 00:57:32.555 [Thread-2] INFO o.e.jetty.server.AbstractConnector - Stopped ServerConnector@41853299{HTTP/1.1,[http/1.1]}{0.0.0.0:9081} 2019-11-09 00:57:32.782 [Thread-2] INFO o.e.j.server.handler.ContextHandler - Stopped o.e.j.s.ServletContextHandler@37c5284a{/,null,UNAVAILABLE} 2019-11-09 00:57:32.787 [Thread-2] INFO c.quorum.tessera.server.JerseyServer - Stopped Jersey server at http://localhost:9081 2019-11-09 00:57:32.787 [Thread-2] INFO c.quorum.tessera.server.JerseyServer - Stopping Jersey server at unix:/home/srikant/Desktop/fromscratch/new-node-1t/tm.ipc 2019-11-09 00:57:32.787 [Thread-2] INFO c.quorum.tessera.server.JerseyServer - Stopped Jersey server at unix:/home/srikant/Desktop/fromscratch/new-node-1t/tm.ipc 2019-11-09 00:57:32.788 [Thread-2] INFO c.quorum.tessera.server.JerseyServer - Stopping Jersey server at http://localhost:9001 2019-11-09 00:57:32.788 [Thread-2] INFO c.quorum.tessera.server.JerseyServer - Stopped Jersey server at http://localhost:9001
Troubleshooting Steps to Resolve the Port Binding Issue
The root cause here is that Tessera can't claim port 9081—either it's already in use by another process, or there's a configuration conflict across your 3 nodes. Let's walk through the fixes:
1. Check if Port 9081 is Occupied
First, confirm if another service is using port 9081. Run these commands based on your OS:
- Linux/macOS:
sudo lsof -i :9081 # Alternative command sudo netstat -tulpn | grep 9081 - Windows:
netstat -ano | findstr :9081
If you find a process using this port, either terminate it (if it's unnecessary) or update your Tessera config to use a different port.
2. Assign Unique Ports to Each Tessera Node
Since you have 3 nodes, they can't all use port 9081. Open your Tessera config.json file and adjust the port value in the server section:
"server": { "port": 9081, // Change to 9082 for the second node, 9083 for the third "hostName": "localhost", // ... other settings }
Ensure each node has a distinct, unused port for its HTTP/HTTPS endpoint.
3. Verify Bind Address Configuration
The log shows Tessera is attempting to bind to 0.0.0.0:9081, but your config might be set to localhost:9081. While both usually work, explicitly setting the hostName to 0.0.0.0 can resolve network binding issues:
"server": { "port": 9081, "hostName": "0.0.0.0", // ... }
4. Rule Out Permission Issues
Ports below 1024 require root privileges, but 9081 is above this threshold, so this shouldn't be an issue. If you accidentally used a lower port, either run Tessera with sudo (not recommended) or switch to a higher, unrestricted port.
5. Ignore the Jersey Provider Warning
The warning about RawTransactionResource being ignored is non-critical and doesn't cause the startup failure. You can safely disregard it unless you're using Tessera's third-party API features.
After making these changes, restart your Tessera node. If issues persist, double-check that your Quorum nodes are configured to communicate with the correct Tessera ports in their static-nodes.json or startup parameters.
内容的提问来源于stack exchange,提问作者Srikant Sahu

