Hi Yangze,

I tried the following: maybe I am missing something.
https://ci.apache.org/projects/flink/flink-docs-release-1.10/ops/cli.html
-yt,--yarnship <arg>

Run:
/usr/lib/flink/bin/flink run -m yarn-cluster
-yt ${app_install_path}/conf

my KRB5.conf is in  ${app_install_path}/conf n master node (local build
path)

When this folder is shipped to yarn, how should i reference this KRB5.conf
now in run command?

I tried like:   -yD java.security.krb5.conf=./krb5.conf                \

Didn't work this way. Please suggest, can file be used as relative path
./krb5.conf or what is misinterpreted?

Note: When we manually updated KRB5.conf on all cluster nodes in
/etc/KRB5.conf it was working. But I am trying to make it available as JVM
property.

Regards,
Vijay


On Thu, Aug 13, 2020 at 9:21 PM Yangze Guo <karma...@gmail.com> wrote:

> Hi,
>
> When deploying Flink on Yarn, you could ship krb5.conf by "--ship"
> command. Notice that this command only supports to ship folders now.
>
> Best,
> Yangze Guo
>
> On Fri, Aug 14, 2020 at 11:22 AM Vijayendra Yadav <contact....@gmail.com>
> wrote:
> >
> > Any inputs ?
> >
> > On Tue, Aug 11, 2020 at 10:34 AM Vijayendra Yadav <contact....@gmail.com>
> wrote:
> >>
> >> Dawid, I was able to resolve the keytab issue by passing the service
> name, but now I am facing the KRB5 issue.
> >>
> >> Caused by: org.apache.kafka.common.errors.SaslAuthenticationException:
> Failed to create SaslClient with mechanism GSSAPI
> >> Caused by: javax.security.sasl.SaslException: Failure to initialize
> security context [Caused by GSSException: Invalid name provided (Mechanism
> level: KrbException: Cannot locate default realm)]
> >>
> >> I passed KRB5 from yaml conf file like:
> >>
> >> env.java.opts.jobmanager: -Djava.security.krb5.conf=/path/krb5.conf
> >> env.java.opts.taskmanager: -Djava.security.krb5.conf=/path/krb5.conf
> >>
> >> How can I resolve this? Is there another way to pass KRB5?
> >>
> >> I also tried via option#1 from flink run command -D parameter.
> >>
> >> Regards,
> >> Vijay
> >>
> >>
> >> On Tue, Aug 11, 2020 at 1:26 AM Dawid Wysakowicz <
> dwysakow...@apache.org> wrote:
> >>>
> >>> Hi,
> >>>
> >>> As far as I know the approach 2) is the supported way of setting up
> Kerberos authentication in Flink. In the second approach have you tried
> setting the `sasl.kerberos.service.name` in the configuration of your
> KafkaConsumer/Producer[1]? I think this might be the issue.
> >>>
> >>> Best,
> >>>
> >>> Dawid
> >>>
> >>> [1]
> https://ci.apache.org/projects/flink/flink-docs-stable/dev/connectors/kafka.html#enabling-kerberos-authentication
> >>>
> >>>
> >>> On 09/08/2020 20:39, Vijayendra Yadav wrote:
> >>>
> >>> Hi Team,
> >>>
> >>> I am trying to stream data from kafkaconsumer using:
> https://ci.apache.org/projects/flink/flink-docs-stable/dev/connectors/kafka.html
> >>>
> >>> Here my KAFKA is Kerberos secured and SSL enabled.
> >>>
> >>> I am running my Flink streaming in yarn-cluster on EMR 5.31.
> >>>
> >>> I have tried to pass keytab/principal in following 2 Ways:
> >>>
> >>> 1) Passing as JVM property in Flink run Command.
> >>>
> >>> /usr/lib/flink/bin/flink run
> >>>    -yt ${app_install_path}/conf/
>            \
> >>>>
> >>>> -Dsecurity.kerberos.login.use-ticket-cache=false
>         \
> >>>> -yDsecurity.kerberos.login.use-ticket-cache=false
>          \
> >>>> -Dsecurity.kerberos.login.keytab=${app_install_path}/conf/keytab  \
> >>>> -yDsecurity.kerberos.login.keytab=${app_install_path}/conf/.keytab \
> >>>> -Djava.security.krb5.conf=${app_install_path}/conf/krb5.conf
>         \
> >>>> -yDjava.security.krb5.conf=${app_install_path}/conf/krb5.conf
>          \
> >>>> -Dsecurity.kerberos.login.principal=x...@xx.net                 \
> >>>> -yDsecurity.kerberos.login.principal= x...@xx.net                \
> >>>> -Dsecurity.kerberos.login.contexts=Client,KafkaClient
>          \
> >>>> -yDsecurity.kerberos.login.contexts=Client,KafkaClient
> >>>
> >>>
> >>> Here, I am getting the following Error, it seems like KEYTAB Was not
> transported to the run environment and probably not found.
> >>>
> >>> org.apache.kafka.common.KafkaException: Failed to construct kafka
> consumer
> >>> Caused by: java.lang.IllegalArgumentException: Could not find a
> 'KafkaClient' entry in the JAAS configuration. System property
> 'java.security.auth.login.config'
> >>>
> >>> 2) Passing from flink config:  /usr/lib/flink/conf/flink-conf.yaml
> >>>
> >>> security.kerberos.login.use-ticket-cache: false
> >>> security.kerberos.login.keytab:  ${app_install_path}/conf/keytab
> >>> security.kerberos.login.principal:  x...@xx.net
> >>> security.kerberos.login.contexts: Client,KafkaClient
> >>>
> >>> Here, I am getting the following Error,
> >>>
> >>> org.apache.kafka.common.KafkaException: Failed to construct kafka
> consumer
> >>> Caused by: org.apache.kafka.common.KafkaException:
> java.lang.IllegalArgumentException: No serviceName defined in either JAAS
> or Kafka config
> >>>
> >>>
> >>> Could you please help find, what are probable causes and resolution?
> >>>
> >>> Regards,
> >>> Vijay
> >>>
>

Reply via email to