大数据PAZR集成ldap实操!what?荐

1.说明

p:presto a:allixop z:zeppelin r:rancher
分为三部分讲解
1.什么是presto+Alluxio,大数据presto+Alluxio集成详细部署说明
2.大数据zeppelin+Z 2 - g U R e _ 8ran$ + t ZcheY $ T q j p ) 4 hr,d 7 1 V Z ( d 4docker的集成部署
3.pre; * ]sto+alluxio集成ldap实操测试,zeppelin+rancher集成ldap实操测试

1.1什么是presto

于内存的并行计算,Facebook推出的分布l ! * 2 4 4 S式SQL交互式查询引擎 多个节点Y m m @ 8 I管道式执行
支持任意数据数据规模GB~PB 是一种Massively pw [ 9arallel processing(mpp)(大规模并行处理)模型
数据规模PB 不是把PB数据放到内J h b n X存,只是在计算中拿出一部分放在内存、计算、抛出、. v Y | f再拿} 0 L r Q 9 o y O

为什么要用&优点&特点
多数据源、支持SQL、扩展性(可以自己扩展新的connector)、混合计算(同一种数据源的不同库 or表;将[ M J n 0多个数据源的数据进行合并)、高性能、流水线(pipeline)
大数据PAZR集成ldap实操!what?荐

1.2 presto架构

大数据PAZR集成ldap实操!what?荐

2.1什么是alluxio

Alluxio(前身Tachyon0 D })是世界上第一个以内存为中心的K 9 b x L虚拟的分布式存储系统。它统一了数据访问的方式,为上层计算框架和底层存储系统构建了桥梁。

2.2AlluxiM A b |o架构

Alluxio是大数据和机器学习生态系统中的新数据访问层。Alluxio作{ a q y f 6 ]为据访问层处于持久存储层(如Amazon S3,Microsoft Azure Object Store,Apw M ^ e tache HDFS或OpenS@ _ + `tack Swift)和计算框架层(如Apache SparW t p 8 - } 8k,Presto或Hadoop MapReduce)之间。
大数据PAZR集成ldap实操!what?荐

3.presto+Alluxio

Starbrust + Alluxio = 在一起更好
和Alluxio一起的Starbrust Presto是一个真正独立的数据栈,支持任何文件或对象存储进行交互式大数据分析。Starbrust Presto和Alluxio整合后能够共同帮助作业运行速I G z Y A度提高10倍,使重要数据本地化,并连接到各种存储系统和云。

大数据PAZR集成ldap实操!what?荐
用户现在可以将他们遗留* . # C a I数据仓库构建方法改为来使用现代云数据栈,在Presto、Alluxio和任何文件或对象存储上构建真正不同的数据栈。

3.1 presto部署

3.1.1Presto安装
大数据PAZR集成ldap实操!what?荐
3.1.2角色分配
大数据PAZR集成ldap实操!what?荐

3.1.3测试环境I # { p D i Q c
1.CM6.3
2.Presto版本0.226
3.操作系统版本为Redhat7.3
4.采用rooo i # rt用户进行操作

3.1.4下载) 7 _
下载最新版本
Prest+ !o服务的安装目录为/opt/cK C b Z b Qloudera/parcels/presto
https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.226/presto-server-0.226.tar.gz

3.1.5将下载好的presto-server-0.226.tar.gz上传至Presto集群的所有服务器上

mkdir -p /opt/cloudera/parcels/presto
scp -r -P53742 presto-server-0.226.* root@incubator-t3-dc-0026 ? ) G:/opt/cloudera/parcels/presto/
presto-server-0.226.jar 

大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐

3.1.6解压安装(presto集群所有机器)
将presto-server-0.205.tar.gz压缩包解压至/opt/cloudera/parcels目录
# tar -zxvf presto-server-0.226.tar.{ Y c vgz -C /z A opt/clou~ u W p a Adera/parcels/
#cd /op_ x x _ 3 4t/clouderU @ ` +a/parcels/
mv presto presto-soft
mv presto-server-0.226/ pre8 B p B H ( s e gsto
3.1.7Java环境变量设置
vim /l U qoc G ~ v 0 / dpt/cloudera/parcels/presto/bin/launcher文件如下位置添加JAVA环境变量
JAVA_HOME=/usr/java/jdk1.8.0_181-cC H W bloudera
PATH=$JAVA_HOM^ y X X fE/bin:T 3 U { y W O$PATH
3.1.8准备Prestc 6 x X so的配置文件
#mkdir -p /opt/cloudera/parcels/presto/etc
#presto配置文件
#mkdir -p /data/presto
#数据盘
vim /opt/cloudera/parcelz m L O I ` ; U Zs/presto/etcO Y h/node.properties
n: g z X gode.environment=presto
node.id=presto-cdh01
node.data-dir=/data/presto
配置说明:
nodeE h e &.environmD E [ V [ent:g i  , 集群名称。所有在同一个集群中的Presto节点必须拥有相同的集群名称m $ & G。
node.id:每个PrestoW 1 2 v N c ~节点的唯一标示。每个节点的node.id都必须是唯一的。在Presto进行重启或者升级过程6 f p ~ B 2中每个节点的node.id必须保持不变。如果在一个节点上安装多个Preg o X tsto实例(例如m S V z @ a o:在同一台机器上安装多个Presto节点),那么每个Presto节点必须拥有唯一的node.id。
node.data-dir:数据存储目录的位置(操作系统上的R / m } r H路径O $ q 8 ,)。Presto将会把日期和数据存储在这个目录下。
3.1.9Presto的jvm配置文件
配置Presto的JVM参数,创E y N建jvd L 0 xm2 _ E 6 u ^ T v.config文件
vim /opt/cj ^ O n 5 7 3loud( g @ D b * _era/parcels/prestL c Do/et{ ( ! o P # %c/jvm? ] Z.config
-server
-Xmx8G
-XX:+UsU o MeConcMarkSweepGC
-X- ` J bX:+ExplicitGK q C ` ;CInvokesConcurrenN S 4 , 2 z Tt
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+Hea/ x * n  :pDumpOnOutOf& a  X `MemoryError
-XX:OnOutOfMemoryError=kill -9 %v s _ N a ) 5 S Np
-XX:ReservedCodeCacheSize=150M
#配置文件的格式是:一系列的选项,每行配置一个单独的选项。由于这些选项U X 7 0 G不在shell命令中使用。因此即使将每个选项通过空格或者其他的分隔符分! V [ L f } ) I [开,java程序也不会将这些选项分开,T M D Q 2 _ M Q而是作为一个命令行选项处理。(就想下面例子中的OnOutOfMemoryError选项)。
由于OutOfMemoryError将会导致JVM处于不一致状态T 0 M ~ V,所以遇到这种错误的时候我们一般的处理措施就是将dump headp中的信息(用于w 5 p o H ,debui p {gging),然后强制终止进程。
Presto会将查询编译成字节码文件,因此Prej / a n s Ysto会生成很多class,因此我们= * q L | s我们应该增大Perm区的大小(在Perm中主要存储class)并且要允许* R r { y ( = x 9Jvm clas. ! + }  ` H 6 }s unloading。
3.1.10创建config.propertiN : kes文件
该配置文件包含了Presto Server的所有配置信息。每个Presto ServerV X i : ?既是Coordinator也是一个Worker。在大型集群中,处于性能考虑,建议单独用一台服务器作为Coor Y g p 2 G ndinator。
coordinator节点的配置如下:
P0 z q K Rresto会将查询编译成字节码文件,因此Presto会生成很多class,因此我们我们应该增大Permz E y M区的大y P ^ o L c g .小(在Perm中主要存储class)并且要允许Jvm class unloading。
vim /opt/cloudera/parcels/presto/etc/coordinator-config.prr c 6 3 r , foperties
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.} 0 - s wport=6660
query.max-memory=4GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=u - . 9 t fhttp://incubator-t3-dc-001:6660
worker节点的配置如下:
vim /opt/cloudera/p) 9 { q 8 VarceG 1 L z } ~ j p |ls/presto/etc/worker-config.G P Zproperties
coordinatorr 1 a  z /=false
http-serverB O ^ } ] ; U.http.port=6S | } : # $ 5 T [660
quer+ ^ R - m B y By.max-memory=4GB
query.max-mU . # Q p iemory-per-node=1GB
disco5 q u y Z y z $very.uri=http://incubator-t3-dc-001:6660

大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
配置项说明:
coordin^ ! + X ,ator:指定是否运维Presto实例作为一个coordinatA S d ! R G X S `or(接收来自客户端的查询情切管理每个查询的执行过程)。
node-scheduleA r b j Z 4 | ? ^r.include-coordinator:是否允许在coordinator服务中进行调度工作。对于大型的集群,在一个节点上的Presto server即作为coordinator又作为worke将p ( F D , {会降低查询性能。因为如果一个服务器作? H Q z为worker使用,那么大部分的资源都不会被worker占用,那么就不会有足够的资源进行关键任务调度、管理和监控查询执行。
http-server.http.port:指定HTTPG S + R W o + d A server的端口。PrestX Q U s | mo 使用 HTTP进行内部和外部的所有通讯。
discovery.uri:Discoveryserver的URI。由于启用了Prestocoordinator内嵌的Discovery 服务,因此这个uri就是Prestocoordinator的uri。修改examplM . / Q h I Xe.net:80,根据你的实际环境设置该URI。注意:这个URI一定不能以“/“结尾。

3.1.11新建日志文件log.properties
vim /opt/cloudera/parcels/presto/etc/log.prope= i l *  e , ] Srties
com.facebook.presto=INFO
3.1.12重命名config文件
主节点
/opt/cloudera/parcels/presto/etc/$ ? _ H Q r
mv coordiO l = / M z !nator-config.properties config.prop: G S ^erties
work节点
cd /opt/cloudera/parcels/presto/etc/
mv worker-confd U sig.properties config.properties

3.1.13Presto服务启停
/opt/cloudera/parcels/presto/bin/launcher start
#启动
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
/opt/cloudera/parcels/presto/bin/launcher stop
停止

3.1.0 d 3 &14PN s # 6 2 e yresto-web
http://172.16.: m V e , T % J o16.241/ui/

3.2 presto集成hive

1.在P- t 4 t ^resto集群的所有节点创建目录
mkdir -p /opt/cloudera/parcels/presto/etc/catalog
2.创建hive.properties,该文件与Hive服务集g o J j ~ 6 j b成使用

vim /opt/cloudera/parcels/presto/etc/catalog/hive.properties
connector.name=hive-hadoo6 # N b ; Y - G Hp2
hive.metastore.uri=th& % 3 & 2 6 - d +rift://incubator-t3-dc-003:9083

大数据PAZR集成ldap实操!what?荐
3.修改presto的jvm.j ? S k * 3config,在配置文件中增加Presto访问HDFS的用户名

vim /opt/cloudera/parcels/presto/etc/jvm.config
添加-DHAH B / k z i ) XDOOP_USER_NAMEn j # g=presto

大数据PAZR集成ldap实操!what?荐
4.上面的配置中指定了presto用户作为访问HDFSb Y { 5 h k g d K的用户,需要在集群所有s c U X节点添加pC z m H & Y u % `resto用户
useradd presto
大数据PAZR集成ldap实操!what?荐
修改完后重启presto
/opt/cloudera/parcels/presto/bin/launcher rh I Zestart(所有集群机器执行)
大数据PAZR集成ldap实操!what?荐

3.3 Presto集成hive测试

这里R U 8 z - Q Q测试Presto与Hive的集) j k W . j成使用Presto提供的Presto CLI,该CLI是一个可执d A H行的JAR文件,也@ T X T I a R B意味着你可以想UNIX终端窗口一样来使用CLI。
1.下载Presto的presto-cli-0.226-executable.jar,并重命名为prestof & , & z s /并赋予可以执行权o Q W 1 d限
https://repo1.maven.org/maven2/O | w ` m C O ]com/facebook/presto/presto-V ; C E 4cli/0.226/presto-cli-0.226-executable.jar
2.复制客户端到所有主机上
scp -r -P53742 /home/t3ct $ f R l Cx/presto-cli-0.226-executable.jar root@incubator-t3-dc-005:/opt/cloudera/parcels/presto/etc/
3.复制客户端到所有主机上^ _ Q
cd /opt/cloudera/parcels/presto/etc/
mv presto-cli-0.226-executable.jar presto
chmod +x presto 

大数据PAZR集成ldap实操!what?荐

3.集群启用了Sentry,这里r 9 ,我们使用presto用户q  ^ : b u k c访问Hive所以为presto用户授权default库的所有权限
4.Hive创建角色并授权
#beeline
#!connect jdbc:hive2://incubator-t3-dc-001:10000/;user=hive;pasd m Xsword=****
create role presto;
grant role presto to group presto;
grant ALL on database def) G  q Gault tx # 6 y $ So role presto;
5.impala创建角色并授权
su hive
#impala-shell -i incuba- i V E l 9 z K Etor-t3-dc-002
create role presto;
grant role presto to group presto;
grant ALL on database default to role presto;
执行查询语句
[root@w z @ c %incubator-t3-dc-001 etc]# ./presto --server localhost:6660 --catalog hive --schema=defa| 2 p ` ult

大数据PAZR集成ldap实操!what?荐

3.4 Presto集成kudu测试

添加kudud 7 X , % N配置分发到所有节点上面
# vim /opt/cloudera/parc} Y n f M l i Cels/presto/etc/catalog/kudu.properties
connector.name=kudu
kudu.client.master-addresses=incubator-t3{ U o e . J d K x-dX I 8c-001:7051,incubator-t3-dc-002:7051,incubator-t3-dc-003:7051
#重启服务
/opt/cloudera/p9 N 5 I 6 u l Sarcels/presto/bin/lan N v ) nuncher restart
#验证kudu
selecJ w !t * from kudu.default."default.test_kudu_table"

3.5 Presto集成ldap

#apacheds安装ldaps

groupadd apacheds
#添加用户组
use= . x / /radR $  F F od -s /bin/sh -g apacheds apacheds
添加用户
w$ U i |get http://mirrors.ocf.berke@ v Hley.edu/apache//directory/apacheds/disN $ u v , ( s l Xt/2.0.0.AM2+ ! } 9 N5/apacheds-2.0.0.AM25-64bit.bin
#下载授权
ch@ ( { N 5 _ Q Mmod +x aV b ^ x ? d ]pacheds-2.8 n V 8 =0.0.AM25-64bit.bi: j , : u v |n
./apacheds-2.0.0.AM25-64bit.bin
#启动
/etc/init.d/apachB j  % q veds-2.0.0.AMe i 5 I r { 3 525-def0 Q Zault star2 h zt
[root@incm [ _ ubator-t3-dc-002G r i { i 0 c @ presto_hH + & c ;ue]# netstat -anplt |grep 10389
tcp        0      0 0.0.0.0:10389           0.0.0.0:*               LISTEN      2j T 0 ^4770/java 

#配置用户名和密码,ip地址
设置用户名密码,默认:user:uid=admin,ou=system passr + & P r g k ~ qwor4 ( ,d:secret
#连接客户端
配置客户端远程登录,这里使用Apache Directory Studio,! v ! X z f I配置b @ h y j W界面如下
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
打开配置-添加分区
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
Ctrl+S保存
重启服务

[root@incubator-t3-dc-002 presto_hue]# /etc/init.d/apacheds-2.0.0.AM25-default restart
Stopping ApacheDS - default...
Stopped Apac4 z j C bheDS - defaulh 9 ! St.
Start= i q V 5 2ing ApacheDS - default..+  c ..
[root@incubator-t3-dc-002 prZ p j O vesto_hue]# 

大数据PAZR集成ldap实操!what?荐
添加组
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
添加
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
#添加用户
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐

#启用ldaps
cd /var/lib/apacheds-2.0.0.AM25/default/conf/
密码:t3CDH123!
/opt/jdk1.8.0_181/bin/keytool  -genkeypair -alias apacheds -keyalg RSA -validity 7 -keystore ads.keystore
chown apacheds:apacheds ./ads.keystore
#配置apacheds.cer
/opt/jdk1.8.0_181/bin/keytool  -export -aliasS ] + % ^ & apacheds -keystore ads.keystore -rfc -file apacheds.cer
#默认口令
changeiG _ 9 (t
## 将证书导入系统证书库,实现自认证,这里的密钥库口, A 2 d 3 r令是默认的: /o? 6 J / U h O X Opt/jdk1.8.0_181/bin/keM ( Z C ? Uytool  -import -file apacheds.cer -alias apacheds -keystore /usr/java/jdk1.8.0_181-cloudera/jre/lib/securiz 0 A x a f n + [ty/cacerts
#配置证书
/ V Y b :var/lib/apacheds-2.0.0.AM25/default/conf/ads.keystore
/etc/init.d/apacheds-2.0.0., 1 q r J + u DAM25-default restart
配置客户端

大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐

#测试presto-ldaps
cd /data/presto-d * A `serveW N t v S X q `r-0.228/etc
/opt/jdk1.8.0_181/bin/keytool -genkeypair -alias prZ b v aesto -keyap 3 u Ilg RSA -keystore presto.jks
修改config.properties,添加
hx  I J I t u ttp-server.authentication.type=PASSWORD
http-server.https.enabled=true
http-server.https.port=8443
h9 * i X g G Ettp-server.https.keystore.path=/datau 9 )/presto-server-0.228/etcD j x K/presto.jks
http-server.https.keystore.key=t3) Q v t .CDH123!
# vi password-authenticator.properties
password-authenticator.name=ldap
ldap.url=ldaps://172.16.16.246:1063Z ] ` H C x K6
ldap.user-bind-pattern=ux Z ( E G Eid=${USER},ou=people,dc=t3,dc=hadoop
ldap.user-base-dn=dc=t3,dc=hadoop

3.6 Alluxio 内存存储系统部署安装

下载并解压X _ # k X A
wget https:& O a .//downloads.alluxio.io/downloads/files/2.0.1/alluxio-2.0.1-bin.tar.gz
cp conf/alluxio-site.properties.template conf/alluxio-site.properties

拷贝软件到所有节点

scp -r -P53742 /opt/clouda t A M 4 T 6 nera/parcels/alw ( q N & =luxio/ root@incubator-t3-dc-002:/opt/cloudera/parcels/
cZ 4 S Yd /opt/v ) v 9 4 Ycloudera/parcels/alluxio/alluxio-2.B T K0.1
cp conf/alluxio-site.properties.template conf/alluxio-site.propertiel | S * % x Z p Ls

修改配置(集群所有机器)

vim alluxio-site.properties
alluxio.master0 S y 3 @ v ] *.hostname=172.16.* ~ h16.P R V h q P k241
vim a= = # n n a X +lluxio-s5 n k 1 % H ite.properties
更新conf/alluxio-site.properties中的alluxio.H b 0 umaster.hostname为你将运行Alluxio Master的机器的主机名。添加所有worker节点的IP地址到conf/workeZ j {rs文件
alluxio.home=/opt/cloudera/parcels/alluxio/alluxio-2.0.1
alluxio.! } ` Owork.dir=/opt/clou| 6 x ~ G S zdera/parcels/alluxio/alluM m W 7 4 y ` Lxio-2.0.1
alluxio.conf.dir=$U X ] u + 2 Q D{alluxio.home~ ! i * 6  p 1 S}/conf
alluxio.logs.dir=${alluxio.home}/logs
alluxio.master.mount.table.rootU w R.ufs=hdfA B ) a %s://incx [ o O y Z p I `ubator-t3-dc-g S E ) X s 4 Q001:8020/alluxI 2 } 1 - ( 1i:  Ao
#hdfs挂载地址
alluxG ^ J B _ b 1 Gio.metrics.conf.fileO W | ? [ E=${alluxio.conf.dir}/metrics.properties
alluxio.master.hostname=incubator-t3-dc-001
alluxior 5 J O y |.underfs.address=hdfs://incubator-t3-dc-001:8020/alluxio
alluxio.underfs.hdfs.configuration=/etc/hadoop/conf/core-site.xml
alluxi( K } No.master.binM u k c . T + nd.host=172.16.16.241
alluxio.master.journal.folder=/opt/cloudera/parcels/alluxio/alluxio-2.0.1/journal
a$ : A W #lluxio.master.web.bind.host=172.16.16.241
alluxio.b { X cmastp  , 5 t z `ev { kr.web.hostname=incubator-t3-dc-001
alluxiG ` { 4 H k 5 }o.master.web.port=6661
alluxio.workeJ A gr.bind.host=0.0.0.0
alluxio.workerq 3 ; / x Q 0.memory.size=2048MB
alluxio.worker.tieredstore.levels=1
alluxio.worker.tieredstore.level0.alias=MEM
alluxio.worker.tieredstore.level0.dirs.path=/mnt/ramdisk
JAVA_HOME=/g | C P busr/java/jdk1.8.0_181-cloud Q $ k u Vde G 9 n : U xra
alluxio.use& I }  e C y Z Kr.network.netty.timeout.ms=600000
alluxio.master} : B & # V.security.impersonation.presto.usersW z ] p / @=*
#scp所有机器
scp -r -P53742 alluxio-site.prope0 c s S # b *rties root@incubator-t3-dc-002:/opt/cloudera/parcels/alluxio/alluxio-2.0.1/conf/
scp -rW h & -P53742 alluxio-mas y o  `sters.sh al| B H f - *luxio-workers.sh alluxio-start.sh root@_ m q / L J  P 0incubator-t3-dc-002:/opt/cloudera/parcels/alluxio/alluxio-2.0.1/bin

大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐

vim workers
172.16.16.246
172.16.16.250
172L e i X % 8.1h u d6.16.242
172.16.16.249

大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐

cp -rf alluxio-env.sh* 2 b 3 P h ) f.t, a : H B 5 [ jemplate alluxio-env.sh
vim alluxio-env.sh(所有机器)
#添加
export ALLUXIO_SSH_OPTS="-p 53742"
export JAVA_HOME=/us# 9 * qr/java/jdk1.8.0_181-cloudera

大数据PAZR集成ldap实操!what?荐

cd /opt/cloudera/parcels/alluxio/alluxio-2.} p ^ H t o0.1/bin
vim alluxio-masters.sh
添加-p 53742
cd /opt/clouders ; H c = A b oa/parcels/alluxio/alluxio-2.0.1/bin
vim alluxio-workers.sh
搜索ssh
添加-p 53742

大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐

[root@incubator-t0 Y c 8 o3-dc-001 bin]# ln -s /opt/jG 4 z i E y | ~ ?dV 7 d + $ nk1.8.0_181/bin/java /usr/bin/java
[root@incubator-t3-dc-001 bin]# /u= | 8 } 8 Ssr/bin/java -version
java version "1.8.0_181u & M { /"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)f Y m c w (
Java HotSpot(TM)Q R s x u 64-Bit Servn ( J & . ) ) 9er VM (build 25.181-b13, mN g 3 & P x 2ixed mode)
[root@inc; $ % j a B {ubator-t3-dc-001 bin]#
./alluxio format
报错需要在所有节点
创建x x 4 d Mmkdir -p /mnt/ramdisk/allA M v F l uxioworker
如果不创建会报如下错误。

大数据PAZR集成ldap实操!what?荐

初始化alluxio
大数据PAZR集成ldap实操!what?荐

cd /opt/cloudera/parcels/alluy A S q L xi% | / * H L X - bo/alluxio-2.0.1/bin
[root@incubator-t3-dc-001 bin]# ./alluxio format
Executing theI z $ S y E following command on all worker noF _ 4 w f bdesC : h H and logging to /opt/cloudera/parcels/alluxio/alluxio-2.0.1/logs/task.log: /opt/cloudera/parcels/alluxiox Y y L Q d & ./alluxio-2.0.1/bin/alluxio formatWork0 ^ C $ &er
WaitB A F |ing for tasks to finish...
All tasks finished
Executing the following command on all master nodes and logging to /opt/cloudera0 N N {/parcels/alluxio/alluxio-2.0.1~ L ~ 3 6/log_ f X Xs/task.log: /opt/cloudera/pQ a C a { @ }arcels/alluxio/alluxio-2.0.1/bin/alluxio formatJournal
Waiting for tasks to finish...
Allg f ~ G x tasks finished

启动alluxio

./alluxio-start.sh all NoMountalluxio-start.sh
./alluxio-start.( z ~ l W l ) N Gsh all SudoMount
http://172.16$ o K.16.241:6661/overview

测试$ } T K

[root@incuba/ n G g T # [ etor-k X N 2 dt3-dc-001 bin]# echo "1.txt">1.txt
[root@incubator-tY 8 r I3-dc-001 bin]# ll
total 68
-rw-r--r-- 1 root root      6 Oct 14 20:27 1.txt
-rwxrwxrwx 1  501 games 118! g = Q ^ x08 Oct 12 14:35 alluxio6 q |
-rwxrwxrwx 1  501 games  275q h $ 2 L = ^8 Oct 12 14:38 alluxio-masters.sh
-rwxrwxrS  D ^wx 1  501 games  9668 Oct 14 20:06 alluxio-monitor.sh
-rwxrwxrwx 1  501 games  5591 Aug 23 12:52 alluxio-mount.sh
-rwxrwxrwx 1  501 games 18761 Oct 14 20:06 aS Z 9lluxio-start.sh
-rwxrwxrwx 1  501 games  3806 Aug 23 12:52 alluxio-stop.sh
-rwxrwxrwx 1  501 gb 3 M pames  2128 Oct 14 19:48 alluxio-workers.sh
[root@incubator: 9 h 5 k E-t3-dc-001 bin]#E ^ = chmod 777 1.txt
[root@incubator-t3-dc-001 bin]# ./alluxio fs copyFromLocal 1G q ^ .txt /
Copied file://D i !/opt/cloudera/parcels/alluxio/alluv L q } { 8 +xio-2.0.1/k @ 2 V Q { 6bin/19 4 / M 2 & C.txt to /
上传文件到alluxio
cd /opt/clouN ) ? O u % X A udera/parcels/alluxio/alluxio-2.0.1/b) Z Q ^ T s 1 , iin
#alluxio文件固化到HDFS6 [ c O (
./alluxio fs persist /1.txt
hadoop fs -ls /alluxio

大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐

3.7 Alluxio 集. b } T ] o成presto

在hive-core-site.xml添加

在hive] [ ;-core-site.xml添加
配T ] ( / a Y置core-site.xml
你需要向你的hi7 g W H ? W =ve.properties指向的core-site.xml中添加以` v Y C } &下配置项:
<property>C U F
<Z L | M ] - J i jname>fs.alluxi5 # b $ 9 K 3 # Jo.impl</name>  <v= - Z W :alue>alluxio.hadoop.FileSystem</value>
</property>
<property>
<name>fs.AbstractFileSystem.alluxio.impl</name>  <value>alluxio.hadoop.AlluxioFileSystem</W w x 2 Bvalue>
<description>The Alluxio Absj j H g ; E h 6tractFileS& k E } e ; j b Oystem (Hadoop 2.x)</desM _ ncription>
</property&gL & G o t;

大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐

hive-site.xml
<property>
<name>alluxio.user.file.writetype.W H j 7 t 3default/ & _ L h</name>  <value>CACHE_THROUGH&W h ; $ _ } ^lt;/value>
</property>

修改jvm.properties
修改alluxio-site.properties
另外T c | o x 5,你也可以将alluxio-site.properties的路径追加Q $ @ D & F U w到Presto JVM配置中,该配置在Presto目录下的etc/jvm.config文件中。该方法的好处是只需在alluxio-site.properties配置文件中设置所有Alluxio属性。
-Xbootclasspath/p:/opt/cloudera/ 2 x Q 8 q r [/parce) x A ^ I $ls/alluxio/alluxio-2.0.1& I + o ( @ H Z @/
#所有work节点必须添加{ (
此外,我们建议提高alluxio.user.network.netty.timeout.ms的值(比如10分钟),来防止# r 1 U c *读异地大文件时的超时问题。

Cw H p &reate a Hive tY 5 lable on Alluxio
Create a Hive table on Alluxio
Here is an example to cre+ . #ate an internal table in Hive backed by files in Alluxio. You can download a data file (e.g., ml-100k.zip) from http://grouplens.org/datasets/movielenm R ] 1 d Rs/. Unzip this file and upload the file u.user into /ml-100k/ on Alluxio:
# ./bin/alluxio fs mkdir /ml-100k
Successfully created directory /ml-100k
# ./binx u  h l 1 ~ v/alluxio fs copyFroS b gmLocal /opt/cloudera/parcels/alluxio/alluxio-2/ 4 $ .  R 0.0.1/ml-100kM  5 T I r/u.user alluxio://incubator-tE 8 C ! i3-dc-001:19998/ml-100k
Copied file:///ow L = Ipt/cloudera/parcels/alluxio/allu` % pxio-2.0.1/ml-100k/u.user to alluxio://incubator-t3-dc-001:19998/ml-100k
Hive create table
WARNING: HivP w P 5e CLI is deprec= $ M * ] # Q 1ay [ H = x ) # -ted an7 Y v n Z 9 ` b [d migration to Beeline is recommended.
hive> CREATE TABLE u_user (
> userid INT,
> age INT,
> gender CHAR(1),
> occupation STRING,
> zipcode STRING)V 8 - v * 0 g
> ROW FORMAT DELIMITED
> FIELDS TERMINATED BY '|'
> LOCAX M V L e f TION 'alluxio://incZ * e ;  q { cubator-t3-dc-001:19998/ml-100k';
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.lang.Rt & C E g C q BuntE C v N p _ k OimeException: java.lang.ClassNotFoundException: Class alluxio.hadoo G Yop.FileSystem not found)

集成hive

#第一步环境变量
export HIVE_AUX_JARS_PATH=/opt/clouder% I Ja/parcels/alluxio/alluxio-2.O s ; q t0.1/client/alluxio-2.0.1-cl$ * + j 1 4  %ient.jar:${HIVE_AUX_JARS_PATH}
#拷贝java路径
cp -rf /opt/cloudera/parcels/alluxio/alluxio-2.0.1/cR - 6 ` F A R Vlient/alluxio-2.0.1-client.jar; e $ ^ d H /opt/clouderx 9 L @ Va/parc W @ p Bcels/CDH/lib/hivO b / ) a T 4e/lib
#权限
chmod 777 /opt/cloudera/parcels/CDH/lib/hive/lib/alluxio-2.0.1-c4 F M R Y _ 0 Alient.jar
重启hive服务
集成hdfs
# cp -rf /opt/cloudera/parcels/alluxio- k ~/alluxio-2.1 N j R0.1/client/alluxio-2.~ Z 0 H0.1-client.jar /opt/cloudera/parcels/CDH/lib/hadoop-hdfs/lib/
[root@incubator-t3-dc-001 lib]# chmod 777 /opt/cloudera/parcels/CDH/lib/hadoop-hdfs/lib/alluxio-2.0.1-client.jar
重启hdfs服务

测试hiE R 3 = ave集成

#切换hive用户
cubator-t3-dc-001:19998, Error: alluxio.exception.status.UnauthenticatedException: Plain authentication failH O yed: Fai$ s G Y 5 {led to authenticate client user="hive" connecg o % 9 J d H Lting to Alluxio server and impersonating as impersonation7 D R D N ( ] J FUser="root" to access Alluxio file system. User "hive" is not configured to allow a, f & =ny impersonation. Please read the guide to configure impersonation at! r J & U P http1 = T # _s://docs.alluxio.io/os/user/2.0/en/advanced/Security.html)w x ( 5 @
su hive
重新创建表
hive> CREATE TABLE u_user (
> userid INT,
> age INT,
> gender CHAR(1),
> occupW L :ation STRING,
> zipcode STRING)
> ROW FORMAT DELIMITED
> FIELDS TERMINATED BY '|x k 9 ?'
> LOCATION 'alluxio://incubator-t3-dc-001:19998/ml-100k';

大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐

#创建表
create EXTERNAL table rating_alluxio(x h J
userId INT,g f 7  G ImovieId INT,
rating FLOAT,
timestamps STRING)
row format delimited fields termD l 1 / c I 6 [inated by ','
LOCATION 'allj 7 c $ 7 C b W ~uxio://incubator-t3-dc-001:19998/ml-100k';

使用presto查询表

需要关联java包,否则会报错
使用 Presa * 4 : = # ito 查询表,关联java包,重启服务
cp -rf /opt/cloudera/parcels/alluxio/alluxio-2.0.1/client/alluxio-2.0.1-client.jar /opt/cloudera/parcels/presto/lib/
chmod 777 /opt/cloudera/parcels/presto/lib/I H { b O l f e ,alluxio-2.0.1-cliend b S e ? )t.jar
#复制客户端到presto-hive里面
复制Alluxio cl9 ` & Eient jar
cp -rf /opt/cloudera/parcels/alluxio/alluM ? 5xio-2.0.1/client/alluxio-2.0.5 h J _ b u W * Z1-client.jar /opt/cloudera/parcels/presto/pl[ y ~ S 0 : 7 ; 0ugin/hive-hadoop2I 5 S ] E , * ( U/
重启presto
/opt/cloudera/par7 S L g w [cels/presto/bin/launcher restart
#查询表
./presto --server localhost:6660 --execute "u/ h h S 7 ; A se default;select * from u_user limit 10;" --catalog hive --debug

text_QDUxQ1RP5Y2a5a6i,color_* q S | /FFFFFF,t_100,g_7 x Y 6 Nse,x_10,y_10,shadow_90,type_ZmFux = & * YZ3poZW5naGVpdGk=)
F^ j u 9 T I i & _ailed to authent[ 9 u l ] : K f |icate client uj / bser="root" connecting to All& Y V E * ; #uxio server and impersonating as impers{ E 2oi _ RnationUser="presto= F R V P ]" to access Alluxio file system.
#master机器
vim alluxio/alluxio-2.0.1/conf/alluxio-site.properties
alluxio.master.security.impersonation.root.users=*
#添加用户到site里面然后重启alluxio服务
完全禁用客户端模拟机制。这就% P ] j /需要将客户端配置参数(不在服务器上)作如下M C b *设置:
alluxio.security.login.impersonation.use% x C ? i w 2rname=NONE
正确显示

4.1Zeppelin

Apache Zeppelin 是一个让交互式数据分析变D g r f z P X 5 V得可行的基于网页j i O e w { * 7的开源框架。Zeppelin提供了数据分析、数据可视化等功能。
Zeppelin 是一个提供交互$ [ t S s n a数据分析且基于Web的笔记本。方便你做出可数据驱动的、可交互且可协作的精美文档,并且支持多种语言,包括 Sct $ [ w ( m qala(T , p @ R使用 Ao - B ) T z npache Spark)w 5 Y u l H S X }、Pythom / ? %n(Apache Spark)、SparkSQL、 Hive、 Markdown、Shell。

4.2 zeppelin部署

在机器上安装zeppelin

#zeppelin安装
cd /opt/cloudera/parcels/zeppelin
tar zxvf zeppelin-0.8.2-bin-a. M 5 Y [ D mll.tgz
#修改端口
vim /opt/cloudera/parcels/zeppelin/zeppelin-0.8.2-bin-all/conf/zeppelin-env.sh
exK I . : S m  v 9port ZEPPELIN_PORT? 1 |=80
export ZEPPELIN_ADDR=172.16.16.241
禁止匿名登陆
[root@incubator-t3-dc-001 conf]# cp -rQ u s g Mf shiro.ini.template shiro.ini
[root@incubator-t3 $ m v { _ :3-dc-001 conf]# cp -rf zeppelin-site.xml.template zeppelia ) 6n-site.xml
vim zeppelin-sit5 D &e.xml
#禁止匿名登录
修改ze( C C % wppel{ 0 gin.anonymo1 V S J s ~ x bus.allowed属性为false
<property>& ` #;
<name>zeppelin.anonymous.allowed</name>
<value>false</value>
<description>Anonymous user allowed by default</description>
&lJ  3 m 1 v  [t;/property>

集成ldy n ^ V ^ap

#配置ldap
vim shiro.ini
[main]
ldapRealm=org.apache.zeppelin.realm.L} A * $ # = J (dapRealm
ldapRealm.contextFactory.authenticationMechanism=simple
ldapRealm.contexF 9 ( / p 3 _ D ItFactory.url=ldap://172.16.16.245:389
ldapRealm.userDnTemplate=uid={0},ou=Peopl* j _ f je,dc=t3,dc=com
ldapRealm.pagingSize = 200
ldapRealm.authorizationEnabled=trv - z 6 L M R 0 due
ldapRealm.searchBase= dc=t3,dc=com
ldapRealm.userSearchBase = ou=People,dc=t3,dc=com) ? | D r r w ad
ldapRealm.groupSearchBase = ou=group,dcW { / b + 2=t3O = + ; ^ C . [ },dc=com
ldapRealm.groupObjectClass= posixGroup
ldapRealm3 A O . 6.userLowerCase = true
ldapRealm.userSearchScope = subtre y N E gee;
ldapRealm.groupSeX % ! ; Q : ^archScope = subtree;
ldapRealm.contextFactory.systemUseru S 0 ] Q *name= cn=Ma. J ; 9 q k [ + 9nager,dc=t3,dcc W S 3 H=com
ldapRealm.contextFactory.systemPassword= CFXZ6EU3bCpIMFp. 5 M !FZX0LqjEq
ldapRealm.R 0 y K 8groupSearchEnableMatchingRuleInChain = true
ldapRealm.rolesByGroup = gro; h i ; _ : ) 5 5up: admin
#关联组合admin角色
sessionMana$ @ ! R Q 2 j Vger = org.apache.shiro.web.session.mgt.Defau2 3 =ltWebSessionManager
cookie = org.apache.shiro.web.servlet.SimpleCookie
cookie.name = JSESSIONd E kID
cookie.httpOnly = true
sessionManager.sessionIdCookie = $cookie
securityManager.sesd l V N x H C H :sionManager = $sessionManager
securityManager.sessionManager.ge X + ZlobalSessionTB v ? V  [ h ~ Eimeout, D n = 86400000
shiro.loginUrl = /api/login
[roles]
role1 = *
rj ^ c wole2 =8 R J z ~ $ K Q *
role3 = *
admin = *
[urls]
/api/version = anon
/api/inc  v Fterpreter/setting/restart/** = authc
/api/interpreter/** = authc, roles[admin]
/api/configurations/** = authc,M d o d roles[admin]
/api/credential/** = authc, roles[admin]
#/** = anon
/** = authc

Ldap和用户认证只能二选一
#_ _ 2 ; l T权限认证
其中的[users]部分,即登录时的账J 6 - E号。等号前是用户名,等号后是密码,逗号后是用户的角色。账号可以不定义角色,也可以定义多个角色。
比如用户名user1,2 Z 5 / e对应密码password2,拥有角色role1和role2。

[users]
admin = t, admin
bi_wkx = bi_wkx, read, wri{ Q 1 & C + , mte
bi_ch = bi_ch, read, write
bi_fyc = bi_fyc read, write

[roles]配置用户的角色,[urls]部分配置不U y [ | 9 i z同web接口的认证方式和需要的角色,b N C ( F
/表示任意路径,验证时按照定义顺S [ 5 ( K ? * K 9序匹配,所以/一般放m . ; . C在最后一行。
比如,下面的配置定义了4种角色。接口version验证方式anon,即不需要验证,不用登录就能访问。
接口interperter需要表格形式的验w e w证,且用户具有) e . I Radmin角色才能访问。/** = authc表示y G c [ 0 ~ ] f其他接口只需要登录验证即, A 9 2 d可访问,
不需要用户有额外的角色。


[roles]
admin = *
read = *
write = *
[urls]
# an, f n mon means the access is anonymous.
# authcBasic means Basic Auth Security
# authc meM q } j ? ( `ans Form based Auth Security
/api/ve- { E E R ^ Mrsion = anon
/api/interpreter/** = authc, roles[ah B 0 p * 3 q 5dmin]
/api/credentail@ H 6 c b n/** = authc, roles[admin]
/api/configurations/** = authc, roles[admin]d P a d . m T m -
/** = authc
重启服务
sh ../bin/zeppelin-daemon.sh restart

集成zeppelin各插件

#zeppelin配置hive
配置文件) V _ ~  6 Zvim zeppelin-env.sh:| r d | T在文件末尾添加以下配置,根据自己的路径设置。
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudert B  s O 2 Ra
expoR a Z 3 crt MASTER=yarn-client
export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoon m x hp
export SPARK_HOME=/opt/cloudera/parcels/CDH/lib/spark
expo) + % Qrt HIVE_H6 4 X M D zOME=/opt/cloudera/parcels/CDH/lib/hive
export IMPALA_HOME=/opt/cloudera/parcels/CDH/libm / N ?/impala
export HADOOP_CONF_DIR=/er 1 Y w J etc/hadoop/conf
export ZEPPELIN_LO[ & : v J vG_DIR=/opt/cloudera/parcels/zeppelino F C D h ^ s : x/zeppelin-n @ I m S V U0.8.2-bin-all/log
ex0 4 port ZEPPELIN_PID_DIR=/opt/cl^ O 2 Poudek a ` Z ~ ) + ura/parcels/zeppelin/zeppelin-0.8.2-bin-all/run/
export ZEPPi i l }ELIN_WAR_TEMPDIR=/var/tmp/zeppq # 1 3 ! I ! A ]elin
#配置zeppe{ : e G ] W A n +lin 页面
common.max_cI v j ) 2 2 count    1000
hive.driver    org.apac5 5 l [ X r ` n #he.hive.jd? , u m ; & Y B _bc.HiveDriver
hive.password    hive
hivel G p { 0 g.url    jdbc:hive2://incubator-t3-dc-003:1o n a K O ] L0000
hive.user    hive
zeppeliw C rn.interpreter.localRepo    /opt/cloudera/parcels/zeppelin/zeppelin-0.8.2-bin-a@ 8 6 Y 5 fll/local-repo/helium-registry-cache
zeb ( & $ fppelin.interpreter.output.limit    102400
zeppelin.jdbc.m U 5 h auth.typf y 1 Q X {e
zV 4 . 7 ? W eeppelin.jdbc.concurrentF 8 J } h m.max_connection    10
zeppelin.jdbc.coE j M | yncurrent.use    true
zeppelin.jdbc.keytab.location
zeppelin.jdbc.principal
Depen@ P # m z 2 Q &dencies
artifact excludep d H *
org.apache.hive:hive-jdbc:2.1.1  hive-jv 5 wdbc-2.1.1-cdh6.3.0.jar
org.apache.hadoop:hf Y + { F v 0adoop-common:3.0.0  hadoop-common-3.0.0-cdh6.3.0.jar
mysql:mysql-connector-java:5.1.47. N q ] J r S   mysql-connector-java-5.1.47.jar

大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
新建一个作业进行测试

notebook --> Create new node填写名称,选择hive即可
输入查询语句,注意查询语句前需要有前缀(hive):
%hive
select * from testS H o G limit 10
语句末尾不@ % V : | I J Q能加分号,不然会有错误。
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
#python集成
%python
import sys
sys.very ( =sion
语句末尾不能加分号,不然会有错误。
大数据PAZR集成ldap实操!what?荐
#impala

新建;jdbc_im9 ` #pala
default.driver = org.apach@ S n F ] b Ue.hiX ! % g n O ` qve.j8 T F G  7 ( # wdbc.HiveDriver
default.url = jdbc:hive2://incubator-t3-dc-003:21050/default;auth=nq y s T t A ioSasl(验证模式是NOSASL才能正常使用impala,但是这个会让impala查询数据时,跳过rander中设置的掩码规则)
default.user = zeppelin
url 的 NOSASL模式需要任意一个用户名(如Hive),不需要密码,不填写用户名会W 2 r : i { : I A报错。
Dependencies
a( u / 9 R ]rtifact exclude
org.apache.hive:hive-jdbc:2.1.1  hive-jdbc-2.1.1-cdh6.3.d 0 w0.jar
org.apache.h6 C Y R D F h 7 Sadoop:hadoop-common:3.0.0  hadoop-common-3.0.0-cdh6.3.0.jar
mysql:mysql-conne] [ , 0 B Uctor-java:5.1.47   mysql-connector-java-5.1.47.jar
#impala测试
%impala
select * from nation limit 10

#spark

local[*] in l? B S N 8 X W l :ocal mode
yarn-client in Yarn client mode
yarn-cluster in YarI 3 nn cluster modes c 1 $ E F h C h

大数据PAZR集成ldap实操!what?荐
#修改hdfs参数
dfs.permissions.superusergroup=supergro* % I ] 5 9up,root
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐
%sql
show databases

#presto

presto %jdbc (default)
%presto
select *i + h 2 k fp V |rom kudu.default."default.test_kudK = L u ]u_table" limit 10
Option Shared
Properties
name    value
default.driver  com.facebook.presto.jdbc.PrestoDriver
default.url     jdbc:presto://172.16.16.241:6660
default.user    root
default.passwd  密码
zeppelin.jdbc.concurrh [ ] O #ent.max_connection     10
zeppelin.jdbc.concurrent.use    true
Dependencies
artifact    exclQ 3  _ U z = J 3ude
com.facebook.presto:presto-jdbc:l J R J 3 z o 30.170
cd /opt/cloudera/parcels/zeppelin/zeppelin-0.8.2P w 5 M / $ W-bin-all/interpreter/jdbB / Ec
rz presto-jdbc-0.226.jar

大数据PAZR集成ldap实操!what?荐

5.1 rancher

Rancher是一个开源的企业级容器管理平b % l ~ % L i b ;台。通过Rancher,企业再也不必自己使用一系列的开源软件F | {去从头搭建容器服务平台。Rancher提U U c [ }供了在生产环境中使用的管理Dockn = { ) 4 +er和Kubernetes的全栈化容器部署与管理平台。

为什么需要RancI Z u ) - g G Wher
在原来, 如果我们需要做一个分布式集群我们需要学习一全套的框架并编码实现如 服务发现, 负载均衡等逻辑, 给开发者造成很大的负担, 不过好在现在T b E ~有DJ { J e j P Lockeru [以及他周边的一些技术能n 8 W A [ M P在上层解决这些问题, 而应用@ X l该怎么开发就怎么开发.

当你选择使用Docker技术栈的时候, 会发现在生产环境中不光光是 docker run就能解决的. 还需要考虑比如docker之间的组网, 缩扩; % 4容等问题, 于是你去学习kubernetest | ~ J j { G, 发现好像有点复杂啊, 有没有更傻瓜化一点的?Z ~ C U * R [ X a 那就是rancher了.

5.2 rancher部署zeppelin

#安装docker
sudo yum-config-manager --D ) n . J ~ gadd-reb y ! + B ~ d $ Lpo http://mirrors.! i V P s . daliyun.com/docker-ce/linux/centosT I S [ X # b/docker-ce.repo
sudo yum makecachc G Xe fast
yum list docker-ce --showduplicates | sort -r
sudo yum install( l [ 2 doG V | 2 ocker-ce-17Z H 9  ,.12.0.ce-1.el7.centos
docker version
docker pull rancher/server
netstat -anpl] H 7 % u N : X Rt | grep 8000
# Error starte b h u M 5ing da. [ 1 j ? f 1 ] 6emon: error initializing graph- : O ` ; / l `driver: devmapper: Base Device UUID and Filesystem veri(报错)
systemctl stop docker   (停止docker 服务)
dmsetup udevcomplete_all (释放未完成的磁盘操作)
sudo rm -rf  /var/lib/docker/* (清空docker 数据)
* reboot  (注:当有镜像或容器文件删除不了时,P  r P a w r ^重启服务器m b ,)
systemctl start docker  (重启dockeG Y  G o | &r服务)
以下是创建数据库和数据库用户的SQL命令例子
#创建rancher数据库
CREATE DATABASE IF NOT EXQ F L t IISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utfE a ! t $ 2 Y _ v8';
GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';
启K D X $ l x f v动一个Rancher连接一G i 1 P e F个外部数据库,你需要在启1 2 X : L : ^ z动容器的命令中添加额外参数。
#启动rancher T F
docker run -d --restart=unless-stopped -p 80:8080 rancher/server 
--db-host incubator-t3-dc-001 --db-port 3306 --db-user cattle --db-pass cato d H @ h I ] (tle --db-name cattle
docker search nginx
docker pull docker.io/nginx
docker images
#启动rancher
docker run --name rancher -d -p 80:w 4 y k * N t k8080 rancher/server
dock/ d y G + ]er start 9b04ff050ddd
为了安全可以给Rancher配置登录账号(选择 系统管理  --》访问控制  --》LOCAL)-添加本地账号
管理员 admb 3 v `in   aK $ d l ? j 8 n :dmin
#安装zeppelin
dockere 4 # $ o 6 pull: ) X M Z R B apache/zeppelin:0.8.2
docker volume create zeppelin-logs
docker volume create zeppelinm 2 4 t J Q j n 8-notebook
3.启动zeppelin
docker run -d -p 80:8081 
-v zeppelin-logs:/logs 
-v  zeppelin-notebook:/notebook 
--env HOST_IP=0.0.0.0 
--env ZEPPELIN_LF V B FOG_DIR='/logs' 
--env ZEPPELIN_NOTEBOOK_DIR='/notebook' 
--volume /etc/localtime:/etc/localtimep p 9 Q 6 P k 
--restart=always 
-8 k V u / ;-name zeppelin  apache/zM u F . B eeppelin:0.d Q } 5 6 x h j J8.2

5.3 rancher集成ldap认证

http://172.16.16.241/admin/access/openldap
设置ldap用户
大数据PAZR集成ldap实操!what?荐
大数据PAZR集成ldap实操!what?荐

组:ou=Group,dcX 5 P=t3,dc=com
用户:ou=People,dc=t3,dc=com
域:172.16.16.245
端口:389
#设置
常规
服务器: 172.16.16.245:389
TLS: No
服务账号: cn=Manager,dc=t3,dc=com
Connection Timeout: 1000毫秒
用户
搜索起点: ou=People,dc=t3,dc=com
对象分类: posixAccount
登录z 0 K字段: uid
名称字段: giv^ o .enName
搜索_ : H字段: uid
启用字段:

大数据PAZR集成ldap实操!what?荐
必须创建a5 } Dpi
大数据PAZR集成ldap实操!what?荐
到此实战结束。

大数据运维更多技巧和技术

CDH+Amba! s 5 T 1ri实战
带你搞定大数据运维
详情在《大` ^ 9 w B * 6 M数据安全运维实战》
大数据安全运维实战
扫码加入大数据运维大家庭共同学习进步o p N % % E D
大数据PAZR集成ldap实操!what?荐

学习专栏你能收获什么?

专栏以CDH和ambari二个J d ^ * N }大数据平台为主,内容全都是笔者多年的工作中提炼出来的[ | ` t 4 r,不仅包含了大数据的基本知识,最主要的是大数据安全维领域的常见案例和实战技巧,借以本专栏分享给大家,希望大家通过学习,能够解决在日常工作中所遇到的问题,提高自己的工作效率,收获满满。

最后的最后,希望每一个学习我专栏的小伙伴,能够转型成功,升职加薪!