troubleshooting

How to resolve 'etcdserver: user name is empty' error when connecting to etcd on EC2?

I'm trying to connect to an etcd cluster on an EC2 instance but I'm getting an error that says 'etcdserver: user name is empty'. I suspect that Risingwave is not picking up the authentication parameters correctly. Here's the relevant section of my values file:

metaStore:
  etcd:
    endpoints:
    - <IP>:2379

  authentication:
    enabled: true
    username: "user"
    password: "password"

I can successfully execute etcdctl --user=root:root user list, but etcdctl user list fails. What might be wrong here?

Su

Sumit Singh

Asked on Mar 06, 2024

It seems like the authentication block in your values file is at the wrong indentation level. It should be nested under the etcd block. You can correct it like this:

metaStore:
  etcd:
    endpoints:
    - <IP>:2379

    authentication:
      enabled: true
      username: "user"
      password: "password"

After fixing the indentation, if you're running in Kubernetes, make sure to pass the --etcd-username and --etcd-password parameters or set the corresponding environment variables RW_ETCD_USERNAME and RW_ETCD_PASSWORD for the meta component to connect to etcd with authentication enabled.

Mar 07, 2024Edited by