presto-0.219集成LDAP

9 篇文章 2 订阅

presto 对jdk的版本比较高这里我使用的是1.8.0_181,LDAP服务我这里使用的是ApacheDS,ApacheDS的安装参照:ApacheDS 安装以及LDAPS配置(图文);需要注意的是presto集成Ldap只需要配置coordinator节点,worker节点和coordinator节点还是通过之前的http协议通信,所以本文已单节点方式集成Ldap

配置JAVA_HOME

vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera 
export PATH=$PATH:$JAVA_HOME/bin 
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

在LDAPS服务器导出证书,并复制到presto coordinator所在的节点,这里可以参照之前的一篇博客:https://blog.csdn.net/woloqun/article/details/90212376

keytool -export -alias apacheds -keystore /var/lib/apacheds-2.0.0.AM25/default/conf/ads.keystore -rfc -file apacheds.cer

presto coordinator 节点导入证书,默认密码为changeit

[root@iZ2zeacp86v1zkkwblzifkZ ~]# keytool -import -file apacheds.cer -alias apacheds -keystore /usr/java/jdk1.8.0_181-cloudera/jre/lib/security/cacerts
输入密钥库口令:
所有者: CN=ipa.haohaozhu.hadoop, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
发布者: CN=ipa.haohaozhu.hadoop, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
序列号: 5bbc3be9
有效期为 Sun May 12 22:05:53 CST 2019 至 Sun May 19 22:05:53 CST 2019
证书指纹:
	 MD5:  ED:67:11:84:55:F8:98:0C:B6:2D:86:35:C5:6A:FC:03
	 SHA1: 7E:1A:6C:0C:6B:75:96:52:73:76:0E:8A:2B:AC:99:7E:AD:64:E2:33
	 SHA256: 21:A5:73:C5:09:D6:27:F2:21:C7:F7:A5:0F:93:A8:19:87:D4:F4:98:A0:16:A2:D8:A5:48:41:62:3B:8E:EE:91
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 63 E2 9B 09 ED D8 49 23   36 63 F6 4D 16 88 88 9D  c.....I#6c.M....
0010: 51 60 05 F5                                        Q`..
]
]

是否信任此证书? [否]:  y
证书已添加到密钥库中

快速安装presto

这里采用单节点部署
解压presto

tar -zxvf presto-server-0.219.tar.gz
cd /root/presto-server-0.219
mkdir etc
mkdir -p /var/presto/data

vi etc/node.properties

node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/var/presto/data

vi etc/jvm.config

-server
-Xmx6G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError

vi etc/config.properties

coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=5GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://hhz.presto.com:8080

vi etc/log.properties

com.facebook.presto=INFO

启动:

./bin/launcher start

添加个mysql连接器
mkdir etc/catalog
vi etc/catalog/mysql.properties

connector.name=mysql
connection-url=jdbc:mysql://127.0.0.1:3306
connection-user=root
connection-password=123456

下载客户端

wget https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.219/presto-cli-0.219-executable.jar
mv presto-cli-0.219-executable.jar presto
chmod +x presto

presto> quit
[root@hhz ~]#  ./presto --server localhost:8080
presto> show catalogs;
 Catalog
---------
 mysql
 system
(2 rows)

Query 20190515_082105_00009_cggny, FINISHED, 1 node
Splits: 19 total, 19 done (100.00%)
0:00 [0 rows, 0B] [0 rows/s, 0B/s]

集成LDAP,首先为presto生成密钥库,coordinator所在节点

cd /root/presto-server-0.219/etc
[root@hhz etc]# keytool -genkeypair -alias presto -keyalg RSA -keystore presto.jks
输入密钥库口令:hadoop
再次输入新口令:hadoop
您的名字与姓氏是什么?
  [Unknown]:  hhz.presto.com
您的组织单位名称是什么?
  [Unknown]:
您的组织名称是什么?
  [Unknown]:
您所在的城市或区域名称是什么?
  [Unknown]:
您所在的省/市/自治区名称是什么?
  [Unknown]:
该单位的双字母国家/地区代码是什么?
  [Unknown]:
CN=hhz.presto.com, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正确?
  [否]:  y

输入 <presto> 的密钥口令
	(如果和密钥库口令相同, 按回车):

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore presto.jks -destkeystore presto.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

修改config.properties,添加

http-server.authentication.type=PASSWORD
http-server.https.enabled=true
http-server.https.port=8443
http-server.https.keystore.path=/root/presto-server-0.219/etc/presto.jks
http-server.https.keystore.key=hadoop

新增文件
vi etc/password-authenticator.properties

password-authenticator.name=ldap
ldap.url=ldaps://ipa.haohaozhu.hadoop:10636
ldap.user-bind-pattern=uid=${USER},ou=people,dc=haohaozhu,dc=hadoop
ldap.user-base-dn=dc=haohaozhu,dc=hadoop

重启presto

./bin/launcher restart

客户端连接

[root@hhz ~]# ./presto --server https://hhz.presto.com:8443 \
 --keystore-path /root/presto-server-0.219/etc/presto.jks \
 --keystore-password hadoop --user leo --password
 
Password:
presto> select * from mysql.test.content;
     line
---------------
 aaaaa
 aaa1sadfasdaa
(2 rows)

Query 20190515_094859_00002_eznrx, FINISHED, 1 node
Splits: 17 total, 17 done (100.00%)
0:00 [2 rows, 0B] [8 rows/s, 0B/s]
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值