Skip to content

Conversation

Maleware
Copy link
Member

Description

Adds brief docs on troubleshooting kerberos auth in hbase.

Definition of Done Checklist

  • Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
  • Please make sure all these things are done and tick the boxes

Author

  • Changes are OpenShift compatible
  • CRD changes approved
  • CRD documentation for all fields, following the style guide.
  • Helm chart can be installed and deployed operator works
  • Integration tests passed (for non trivial changes)
  • Changes need to be "offline" compatible
  • Links to generated (nightly) docs added
  • Release note snippet added

Reviewer

  • Code contains useful comments
  • Code contains useful logging statements
  • (Integration-)Test cases added
  • Documentation added or updated. Follows the style guide.
  • Changelog updated
  • Cargo.toml only contains references to git tags (not specific commits or branches)

Acceptance

  • Feature Tracker has been updated
  • Proper release label has been added
  • Links to generated (nightly) docs added
  • Release note snippet added
  • Add type/deprecation label & add to the deprecation schedule
  • Add type/experimental label & add to the experimental features tracker

@Maleware Maleware self-assigned this Oct 21, 2025
@Maleware Maleware moved this to Development: Waiting for Review in Stackable Engineering Oct 21, 2025
@@ -0,0 +1,18 @@
= Troubleshooting

== Hbase access with kerberos authentication
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
== Hbase access with kerberos authentication
== HBase access with Kerberos authentication


== Hbase access with kerberos authentication

Currently, xref:zookeeper:index.adoc[Zookeeper] is not secured with authentication. This means, if an application tries to connect to Hbase, it would ask the zookeeper quorum to figure the correct nodes to talk to. In a Java world, you would define a `Client` which would carry the kerberos requirements.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pls separate sentences with newlines (in docs)

Suggested change
Currently, xref:zookeeper:index.adoc[Zookeeper] is not secured with authentication. This means, if an application tries to connect to Hbase, it would ask the zookeeper quorum to figure the correct nodes to talk to. In a Java world, you would define a `Client` which would carry the kerberos requirements.
Currently, xref:zookeeper:index.adoc[Zookeeper] stacklets can only be secured using mutual TLS.
This means, if an application tries to connect to HBase, it would contact Zookeeper to figure the correct HBase nodes to talk to.
In a Java world, you would define a `Client` which would carry the Kerberos requirements.


Currently, xref:zookeeper:index.adoc[Zookeeper] is not secured with authentication. This means, if an application tries to connect to Hbase, it would ask the zookeeper quorum to figure the correct nodes to talk to. In a Java world, you would define a `Client` which would carry the kerberos requirements.

However, those requirements might be passed through and thus your client ( e.g. xref:spark-k8s:usage-guide:operations:applications.adoc[SparkApplications] ) would try to authenticate with kerberos at the corresponding Zookeeper endpoint. This will result in a kerberos ( authentication ) error.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
However, those requirements might be passed through and thus your client ( e.g. xref:spark-k8s:usage-guide:operations:applications.adoc[SparkApplications] ) would try to authenticate with kerberos at the corresponding Zookeeper endpoint. This will result in a kerberos ( authentication ) error.
However, those requirements might be passed through and thus your client (e.g. xref:spark-k8s:usage-guide:operations:applications.adoc[SparkApplications]) would try to authenticate with Kerberos at the corresponding Zookeeper endpoint.
This will result in a Kerberos ( authentication ) error.


However, those requirements might be passed through and thus your client ( e.g. xref:spark-k8s:usage-guide:operations:applications.adoc[SparkApplications] ) would try to authenticate with kerberos at the corresponding Zookeeper endpoint. This will result in a kerberos ( authentication ) error.

To prevent this, you can set a jvm argument like ( again e.g. SparkApplications )
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To prevent this, you can set a jvm argument like ( again e.g. SparkApplications )
To prevent this, you can set a JVM argument like this (again e.g. SparkApplications) in all Pods which would like to talk to HBase:

Comment on lines +13 to +15
jvmArgumentOverrides:
add:
- "-Dzookeeper.sasl.client=false"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK we normally use 2 spaces

Suggested change
jvmArgumentOverrides:
add:
- "-Dzookeeper.sasl.client=false"
jvmArgumentOverrides:
add:
- "-Dzookeeper.sasl.client=false"

Comment on lines +17 to +18

in all pods which would like to talk to Hbase.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
in all pods which would like to talk to Hbase.


However, those requirements might be passed through and thus your client ( e.g. xref:spark-k8s:usage-guide:operations:applications.adoc[SparkApplications] ) would try to authenticate with kerberos at the corresponding Zookeeper endpoint. This will result in a kerberos ( authentication ) error.

To prevent this, you can set a jvm argument like ( again e.g. SparkApplications )
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please link to https://docs.stackable.tech/home/stable/concepts/overrides/#jvm-argument-overrides?
Please make sure the docs still build afterwards (you need to build the documentation repo locally for that)

@sbernauer sbernauer moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Oct 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Development: In Review

Development

Successfully merging this pull request may close these issues.

2 participants