presto集成kerberos以及访问集成了kerberos的hive集群

1、创建主体

注:

192.168.0.230 为单节点集群

192.168.4.50为kdc服务器

192.168.0.9为客户端

1.1、Kdc服务器创建主体

# kadmin.local -q ‘addprinc -randkey presto’

#kadmin.local -q ‘addprinc -randkey presto/yjt’

1.2、创建秘钥文件

# kadmin.local -q ‘xst -norandkey -k presto.keytab presto presto/yjt hive/yjt nn/yjt’

上述的hive/yjt 和nn/yjt两个认证用户也需要添加到秘钥表,hive/yjt用于presto连接hive集群时使用,nn/yjt用户操作hdfs时使用

1.3、分发秘钥文件

# scp presto.keytab 192.168.0.230:/data1/hadoop/presto

如下操作在集群

# chmod 444 /data1/hadoop/presto/presto.keytab

1.4、生成keystore文件

在presto主节点生成keystore

# keytool -genkeypair -alias localhost -keyalg RSA -keystore keystore.jks

输入密钥库口令:

再次输入新口令:

您的名字与姓氏是什么?

[Unknown]:  yjt

您的组织单位名称是什么?

[Unknown]:

您的组织名称是什么?

[Unknown]:

您所在的城市或区域名称是什么?

[Unknown]:

您所在的省/市/自治区名称是什么?

[Unknown]:

该单位的双字母国家/地区代码是什么?

[Unknown]:

CN=slave1, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正确?

[否]:  y

输入 <localhost> 的密钥口令

(如果和密钥库口令相同, 按回车):

再次输入新口令:

注:上述的别名alias为当前的主机名,也可以使用localhost

2、修改presto配置文件

2.1、修改hive.properties

添加如下属性:

#配置Presto访问HiveMetastore服务的Kerberos信息,该段配置可以只存在Presto的Coordinator节点

hive.metastore.authentication.type=KERBEROS

hive.metastore.service.principal=hive/[email protected]

hive.metastore.client.principal=presto/[email protected]

hive.metastore.client.keytab=/data1/hadoop/presto/presto.keytab

#配置Presto访问HDFS的Kerberos信息,改段配置可以只存在Presto的Worker节点

hive.hdfs.authentication.type=KERBEROS

hive.hdfs.impersonation.enabled=true

hive.hdfs.presto.principal=nn/[email protected]

hive.hdfs.presto.keytab=/data1/hadoop/presto/presto.keytab

2.1、修改jvm.properties

添加如下属性:

-Dsun.security.krb5.debug = true

-Dlog.enable-console = true

-Djava.security.krb5.conf=/etc/krb5.conf

2.2、修改config.properties

添加如下属性:

http-server.authentication.type=KERBEROS

http.server.authentication.krb5.service-name=presto

http.server.authentication.krb5.keytab=/data1/hadoop/presto/presto.keytab

http.authentication.krb5.config=/etc/krb5.conf

http-server.https.enabled=true

http-server.https.port=7778

http-server.https.keystore.path=/data1/hadoop/presto/keystore.jks

#http-server.https.keystore.path=/data1/hadoop/keystore/keystore

http-server.https.keystore.key=123456

注:上述的http-server.https.keystore.key值为创建keystore时输入的密码。

2.3、重启presto

# launcher restart

3、测试

$ presto --server https://yjt:7778 --krb5-config-path /etc/krb5.conf --krb5-principal presto/yjt --krb5-keytab-path /data1/hadoop/presto/presto.keytab --krb5-remote-service-name presto --keystore-path /data1/hadoop/keystore/keystore --keystore-password 123456 --catalog hive --schema default

原文地址:https://www.cnblogs.com/yjt1993/p/11769595.html

时间: 2024-10-27 19:53:44

presto集成kerberos以及访问集成了kerberos的hive集群的相关文章

持续集成高级篇之基于win32-openssh搭建jenkins混合集群(一)

系列目录 前面的demo我们使用的都是只有一个windows主节点的的jenkins,实际生产环境中,一个节点往往是不能满足需求的.比如,.net项目要使用windows节点构建,java项目如果部署在linux服务器上往往也需要目标类型的linux节点做为构建节点,开发中使用的jdk版本不同也可能需要不同的构建主机.构建docker镜像往往也需要linux主机(强烈不建议使用docker for windows 进行linux环境的docker构建).本节我们讲解如何搭建一个主节点为windo

4.访问 http://localhost:8081对 flink 集群和任务进行监控管理

①下载flink-1.7.2-bin-hadoop27-scala_2.11.tgz,解压后进入bin,双击:start-cluster.bat(Windows环境). 然后打开7777端口: ②进入http://localhost:8081,界面如下: ③ ④ ⑤点击Submit ⑥结果 如下界面也会随之发生变化: PS: ④中该参数可以不设置,默认为1,设置的话要设置成和flink-conf.yaml文件中taskmanager.numberOfTaskSlots参数大小一致,否则⑤会失败

0013-如何在Kerberos与非Kerberos的CDH集群BDR不可用时复制数据

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看. 1.概述 本文档描述了在Kerberos与非Kerberos的CDH集群之间BDR不可用的情况下实现数据互导.文档主要讲述 1.测试集群环境描述 2.CDH的BDR功能验证 3.集群之间数据复制要求和限制 4.集群之间数据复制的方式 5.使用DistCp复制数据注意事项 6.通过DistCp进行数据互导 这篇文档将着重介绍CDH Kerberos集群与非Kerberos集群之间BDR不可用的情况下实现数据互导,并基于以下假设: 1.

kafka kerberos 认证访问与非认证访问共存下的ACL问题

在一个正在运行的kafka集群中添加kerberos认证和ACL权限控制,同时保证以前所有的producer\consumer服务不中断 解决方式: 使kafka集群监听两个端口,一个为无认证连接,另一个为kerberos的认证连接 这时候在配置ACL的时候出了问题: 假如我以kerberos认证的方式连接kafka集群,那么我的用户名是principal的primary部分.例如principal是  kafka/[email protected] ,那么我的用户名就是kafka. 这时候我只

分享最近抽空写的一个代码生成器,集成EasyDBUtility数据库访问帮助类

一直想写一个自己的代码生成器,但是因为工作事情多,一直搁置下来,最近下决心终于利用下班时间写完了,现在分享给有需要的朋友,代码生成器集成EasyDBUtility数据库访问帮助类,暂时只支持sqlserver数据库,界面如下 部分代码如下 using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Te

为CDH 5.7集群添加Kerberos身份验证及Sentry权限控制

4. 为CDH 5集群添加Kerberos身份验证4.1 安装sentry1.点击"操作","添加服务":2.选择sentry,并"继续": 3.选择一组依赖关系 4.确认新服务的主机分配 5.配置存储数据库:在mysql中创建对应用户和数据库: mysql>create database sentry default character set utf8 collate utf8_general_ci; mysql>grant al

Python Django 集成Redis Sentinel(哨兵)集群开发秒杀系统

我们知道秒杀系统最大特点是瞬时高并发.高访问量的系统.我们还要保证它的高可用性.这里我们采用Python Django 集成Redis Sentinel(哨兵)集群开发秒杀系统. Redis Sentinel(哨兵)集群Redis哨兵为Redis集群提供了高可用性.实际上这意味着我们可以使用哨兵模式创建一个可以不用人为干预而应对各种故障的Redis集群部署.可大大提高系统的高可用性. 哨兵模式还提供了其他的附加功能,如监控,通知,为客户端提供配置. 下面是在宏观层面上哨兵模式的功能列表: 监控:

【大数据安全】Kerberos集群安装配置

1. 概述 Kerberos是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份.它也指由麻省理工实现此协议,并发布的一套免费软件.它的设计主要针对客户-服务器模型,并提供了一系列交互认证--用户和服务器都能验证对方的身份.Kerberos协议可以保护网络实体免受窃听和重复攻击. Kerberos协议基于对称密码学,并需要一个值得信赖的第三方.Kerberos协议的扩展可以为认证的某些阶段提供公钥密码学支持. 2. 环境说明: CDH版本:5.

Spring Boot集成Hazelcast实现集群与分布式内存缓存

Hazelcast是Hazelcast公司开源的一款分布式内存数据库产品,提供弹性可扩展.高性能的分布式内存计算.并通过提供诸如Map,Queue,ExecutorService,Lock和JCache等Java的许多开发人员友好的分布式实现. 了解Hazelcast Hazelcast特性 简单易用 Hazelcast是用Java编写的,没有其他依赖关系.只需简单的把jar包引入项目的classpath即可创建集群. 无主从模式 与许多NoSQL解决方案不同,Hazelcast节点是点对点的.