大数据平台-kerberos安装部署文档
kerberos与openldap整合
kerberos与openldap整合一、安装kerberos1.安装方法:编译源代码。
2.kerberos版本:krb5-1.7。
接下来我们开始安装kerberos:1../configure –prefix=/usr/local/注:--prefix=/usr/local/用来指定kerberos的安装路径。
在此之前,我们需要在usr/local/目录下创建var文件夹,在usr/local/var目录下创建krb5kdc文件夹。
2.make3.make install安装kerberos 之后,开始写配置文件:在目录/etc/下找到配置文件krb5.conf进行修改在目录/usr/local/var/krb5kdc 下创建数据库配置文件kdc.conf和权限管理文件kadm5.acl。
这里为了方便,我们进行了最简单的权限配置。
创建数据库:/usr/local/sbin/kdb5_util create –r KDC -s这样就基本完成了kerberos 的安装了。
接下来我们启动服务,测试服务是否安装成功。
启动服务:usr/local/sbin/krb5kdc添加管理主体:启动kadmin服务:启动kadmin服务失败。
通过修改目录/etc 下的hosts文件就可以解决这一问题这个名字要与配置文件中的名字保持一致。
再次启动kadmin服务就能成功了通过启动以上几个服务,kerberos基本安装成功了。
二、安装openldap1.安装方法:编译源代码。
2.openldap版本:openldap-2.3.40。
接下来我们就开始安装openldap:1../configure --prefix=/usr/local/openldap注:prefix=/usr/local/openldap是用来指定安装路径的。
需要我们先手动在/usr/local/目录新建openldap这个文件夹。
2.make depend3.make4.make test5.make install安装openldap 之后,开始写配置文件在usr/local/openldap/etc/openldap/下找到配置文件slapd.conf1.引入schema文件2.修改目录名,设置管理员3.设置密码当前的密码是以明文的形式保存在配置文件之中,这样存在安全隐患,我们可以通过/usr/local/openldap/sbin下的slappasswd,将密码加密成密文的形式,保存于配置文件中。
大数据部署方案
大数据部署方案1. 引言随着信息技术的发展和应用的普及,大数据技术的应用已经成为越来越多企业和组织的关注焦点。
大数据技术可以帮助企业从庞大的数据中挖掘出有价值的信息和洞见,为决策提供支持和指导。
本文将介绍大数据部署的方案,包括硬件、软件和网络的配置以及相关的安全措施。
2. 硬件配置大数据处理需要强大的计算和存储能力,所以在部署大数据系统时,需要考虑以下硬件配置:•处理器:选择高性能、多核心的处理器,如Intel Xeon系列。
•内存:大数据处理对内存要求较高,建议选择大容量的内存模块,如64GB或以上。
•存储:大数据系统需要大量的存储空间来存储数据和处理中间结果,可以选择高速的固态硬盘(SSD)或者大容量的机械硬盘(HDD)。
•网络接口:建议选择支持千兆以太网接口,以保证数据传输速度。
•机架和散热:对于大规模的集群部署,可以选择机架服务器,并注意散热风扇和冷却系统的配置。
3. 软件配置大数据系统的软件配置是整个部署方案的关键,常见的大数据软件包括Hadoop、Spark、Hive等,以下是软件配置的主要内容:3.1 HadoopHadoop是大数据处理的核心软件,它提供了分布式存储和计算的能力。
在部署Hadoop时,需要考虑以下几个方面:•Hadoop版本选择:根据实际需求选择稳定性较高的版本,如Apache Hadoop 3.0。
•配置文件修改:根据硬件配置和实际需求修改Hadoop的配置文件,如核心配置文件hadoop-env.sh、存储配置文件hdfs-site.xml等。
•节点规划:根据数据规模和计算需求规划Hadoop的集群节点,包括Master节点和多个Worker节点。
•高可用性配置:为了提供高可用性,可以使用Hadoop的HDFS和YARN的高可用特性,如NameNode的HA和ResourceManager的HA配置。
•安全配置:根据实际需求配置Hadoop的安全设置,如Kerberos认证、访问控制列表(ACL)、加密文件系统等。
大数据课程11.安全认证框架Kerberos
课程目录
1 Kerberos简介和工作机制 2 Kerberos的认证原理 3 Kerberos的应用案例
01
PART 01
第一部分
Kerberos简介和工作机制
1.1
问题的引入
问题引入:
➢ Internet安全一个问题在于用户口令明文传输,认证仅限于IP地址和口令。入侵者通过截获可获得口令,IP地址可以伪装,这样可远 程访问系统。
➢ 客户访问 TGS 服务器需要提供的票据,目的是为了申请某一个应用服务器的 “服务许可票据”; ➢ 票据许可票据由 AS 发放; ➢ 用 Tickettgs 表示访问 TGS 服务器的票据; ➢ Tickettgs 在用户登录时向 AS 申请一次,可多次重复使用; ➢ Tickettgs 定义为 EKtgs [ IDC‖ADC‖IDtgs‖TS1‖LT2 ]。
Java大数据开发工程师可以在java源代码中使用“System.setProperty("HADOOP_USER_NAME","yinzhengjie");”来提权 操作,只要client能够连接上hadoop集群就能或得hadoop集群上“yinzhengjie”这个用户对应的权限。这样做是很不安全的!而 实行Kerberos后,任意机器的任意用户都必须现在 Kerberos 的 KDC 中有记录,才允许和集群中其它的模块进行通信。
2.2
共享密钥
TGS与S共享Ks AS与TGS共享Ktgs AS与C共享Kc
2.3
Kerboros的凭证
票据(ticket): Ticket用来安全的在认证服务器和用户请求的服务之间传递用户的身份,同时也传递附加信息。用来保证使用ticket的用户 必须是Ticket中指定的用户。Ticket一旦生成,在生存时间指定的时间内可以被client多次使用来申请同一个server的服务。
Kerberos配置
1????前言假设你的Openldap已经配置好并成功运行,本文只是介绍如何使Openldap使用Kerberos来验证用户身份。
本配置在FC5上通过,在使用rhe时,很可能会有不同的情况。
2????名词解释2.1????Kerberos基于共享密钥的安全机制,由MIT发明,现在已经被标准化,最新是版本5,简称krb5。
Kerberos特别适合局域网络,Windows2k及以上系统的安全机制即基于kerberos。
Kerberos有多个实现版本,本文使用的一个它的实现叫做mit?-kerberos。
2.2????SASL简单认证和安全层(SimpleAuthenticationandSecurityLayer)。
也是一套RFC定义的标准。
它的核心思想是把用户认证和安全传输从应用程序中隔离出来。
像SMTP协议在定义之初都没有考虑到用户认证等问题,现在SMTP 可以配置使用SASL来完成这方面的工作。
Openldap同样如此。
SASL支持多种认证方法,比如?????ANONYMOUS:无需认证。
?????PLAIN:明文密码方式(cleartextpassword)?????DIGEST-MD5:HTTPDigest兼容的安全机制,基于MD5,可以提供数据的安全传输层。
这个是方便性和安全性结合得最好的一种方式。
也是默认的方式。
?????GSSAPI:GenericSecurityServicesApplicationProgramInterfaceGssapi本身是一套API,由IETF标准化。
其最主要也是着名的实现是基于Kerberos的。
所以一般说到gssapi 都暗指kerberos实现。
?????EXTERNAL:认证已经在环境中实现了,比如SSL/TLS,IPSec.2.3????CyrusSASLCyrus-SASL是SASL协议最常用的一个实现。
其他实现还有GNUSASL等。
3????环境准备3.1????环境3.2????安装软件包Kerberosserver:Krb5-serverSasl-gssapi:Cyrus-sasl-gssapiKerberosclient:Krb5-client如果依赖于别的包,也一并安装4????配置Kerberosserver配置文件包括下面3个文件1.????/etc/krb5.conf2.????/var/kerberos/krb5kdc/kdc.conf3.????/var/kerberos/krb5kdc/kadm5.acl4.1????配置/etc/krb5.conf这个配置文件设置整个kerberos环境的,所以不但server,而且client也会使用它。
Kerberos配置
1前言假设你的Openldap已经配置好并成功运行,本文只是介绍如何使Openldap使用K e r b e r o s来验证用户身份。
本配置在F C5上通过,在使用r h e时,很可能会有不同的情况。
2名词解释K e r b e r o s 基于共享密钥的安全机制,由MIT发明,现在已经被标准化,最新是版本5,简称krb5。
Kerberos特别适合局域网络,Windows2k及以上系统的安全机制即基于kerberos。
Kerberos有多个实现版本,本文使用的一个它的实现叫做mit-kerberos。
S A S L 简单认证和安全层(SimpleAuthenticationandSecurityLayer)。
也是一套RFC定义的标准。
它的核心思想是把用户认证和安全传输从应用程序中隔离出来。
像SMTP协议在定义之初都没有考虑到用户认证等问题,现在SMTP可以配置使用SASL来完成这方面的工作。
O p e n l d a p同样如此。
S A S L支持多种认证方法,比如A N O N Y M O U S:无需认证。
P L A I N:明文密码方式(c l e a r t e x t p a s s w o r d) DIGEST-MD5:HTTPDigest兼容的安全机制,基于MD5,可以提供数据的安全传输层。
这个是方便性和安全性结合得最好的一种方式。
也是默认的方式。
G S S A P I:G e n e r i c S e c u r i t y S e r v i c e s A p p l i c a t i o n P r o g r a m I n t e r f a c e Gssapi本身是一套API,由IETF标准化。
其最主要也是着名的实现是基于Kerberos 的。
所以一般说到g s s a p i都暗指k e r b e r o s实现。
E X T E R N A L:认证已经在环境中实现了,比如S S L/T L S,I P S e c.C y r u s S A S L Cyrus-SASL是SASL协议最常用的一个实现。
Kerberos配置
1 前言假设你的Openldap已经配置好并成功运行,本文只是介绍如何使Openldap使用Kerberos 来验证用户身份。
本配置在FC5上通过,在使用rhe时,很可能会有不同的情况。
2 名词解释2.1 Kerberos基于共享密钥的安全机制,由MIT发明,现在已经被标准化,最新是版本5,简称krb5。
Kerberos特别适合局域网络,Windows2k及以上系统的安全机制即基于kerberos。
Kerberos 有多个实现版本,本文使用的一个它的实现叫做mit¬-kerberos。
2.2 SASL简单认证和安全层(Simple Authentication and Security Layer)。
也是一套RFC定义的标准。
它的核心思想是把用户认证和安全传输从应用程序中隔离出来。
像SMTP协议在定义之初都没有考虑到用户认证等问题,现在SMTP可以配置使用SASL来完成这方面的工作。
Openldap同样如此。
SASL支持多种认证方法,比如• ANONYMOUS: 无需认证。
• PLAIN:明文密码方式(cleartext password)• DIGEST-MD5: HTTP Digest 兼容的安全机制,基于MD5,可以提供数据的安全传输层。
这个是方便性和安全性结合得最好的一种方式。
也是默认的方式。
• GSSAPI:Generic Security Services Application Program Interface Gssapi本身是一套API,由IETF标准化。
其最主要也是著名的实现是基于Kerberos的。
所以一般说到gssapi都暗指kerberos实现。
• EXTERNAL:认证已经在环境中实现了,比如SSL/TLS, IPSec.2.3 Cyrus SASLCyrus-SASL是SASL协议最常用的一个实现。
其他实现还有GNU SASL等。
3 环境准备3.1 环境(10.10.11.11)(10.10.11.12)(10.10.11.13)3.2 安装软件包Kerberos server: Krb5-serverSasl-gssapi: Cyrus-sasl-gssapiKerberos client: Krb5-client如果依赖于别的包,也一并安装4 配置Kerberos server配置文件包括下面3个文件1. /etc/krb5.conf2. /var/kerberos/krb5kdc/kdc.conf3. /var/kerberos/krb5kdc/kadm5.acl4.1 配置/etc/krb5.conf这个配置文件设置整个kerberos环境的,所以不但server,而且client也会使用它。
开源大数据平台部署方案
开源大数据平台部署方案目录1.环境配置 (5)主机地址 (5)查看服务器硬件环境信息 (5)查看操作系统版本和内核 (5)关闭防火墙和SELinex (6)所有主机时间同步 (6)安装JDK (7)Maven安装 (8)配置主机名 (9)配置hosts映射 (10)新建hadoop用户 (10)配置SSH免密码登录 (10)2.安装Zookeeper (12)修改配置文件 (12)设置myid (14)启动Zookeeper集群 (14)基本命令 (15)3.安装Hadoop (15)NameNode(NN) HA实现方式 (15)ResourceManager(RM) HA实现方式 (16)Hadoop安装包下载 (16)修改配置文件 (18)配置Hadoop主目录 (18)修改hadoo-env.sh (18)修改core-site.xml (19)修改hdfs-site.xml (20)修改mapred-site.xml (24)修改yarn-site.xml (24)修改slaves (28)将配置好的hadoop安装包分发到其它节点 (28)添加hadoop临时文件目录 (28)启动Zookeeper集群 (29)启动journalnode (29)格式化HDFS (29)在Master1上格式化ZK (30)启动HDFS (30)通过web页面查看集群是否已经正常启动 (31)4.安装HBase (32)下载HBase安装包 (32)HBase安装 (35)解压缩安装包 (35)修改hbase-env.sh (36)修改hbase-site.xml (37)修改regionservers (37)添加backup-masters (38)拷贝hbase到其他节点 (38)启动HBase (38)5.安装Hive (39)安装MySQL (39)修改hive配置文件 (41)Hive HWI 安装及配置 (42)6.Mahout安装 (42)下载Mahout源码 (42)Mahout0.12.0编译 (43)Mahout0.12.0安装部署 (43)Mahout验证 (44)Mahout0.12.0实例测试 (44)7.安装Spark(Yarn-Cluster模式) (45)安装Scala (45)编译Spark (45)下载Spark源码包: (46)安装maven: (46)Spark编译 (47)Spark安装 (47)解压缩安装包 (47)修改配置文件 (47)集群运行模式 (50)8.Sqoop安装 (50)下载安装 (50)修改配置文件 (51)启动Sqoop (51)测试Sqoop (52)9.安装Kafka (54)Kafka监控安装 (55)10.安装Storm (56)上传所需文件 (56)编译安装ZMQ(所有Storm的安装节点) (56)编译安装JZMQ:(所有Storm的安装节点) (57)编译安装Python(所有Storm的安装节点) (57)修改配置文件 (58)启动Storm各个后台进程 (58)11.Tachyon编译部署 (59)支持多种部署方式 (59)编译Tachyon (60)下载并上传源代码 (61)编译代码 (62)集群模式部署Tachyon (62)集群环境 (62)基于Zookeeper的Fault Tolerant Tachyon Cluster 实现 (63)Tachyon环境变量 (67)Tachyon通用配置 (67)TachyonMaster配置 (68)TachyonWorker配置 (69)用户配置 (69)在Spark中使用Tachyon (70)在MapReduce中使用Tachyon (70)12.Hue安装 (70)下载编译源码包 (70)Hue环境配置 (72)HDFS配置 (73)Yarn配置 (75)Hive配置 (76)HBase配置 (76)Zookeeper配置 (76)1.环境配置主机地址查看服务器硬件环境信息查看CPU型号:cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq –c查看物理CPU颗数:cat /proc/cpuinfo | grep physical | uniq –c四颗一核的CPU查看CPU运行模式:getconf LONG_BIT查看CPU是否支持64位:cat /proc/cpuinfo | grep flags | grep ' lm ' | wc –l结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit 查看操作系统版本和内核查看操作系统版本:cat /etc/issue或者lsb_release -a查看内核信息:关闭防火墙和SELinex1.关闭防火墙:service iptables stop(临时关闭)chkconfig iptables off(重启后生效)2.关闭SELINUX,SELinux功能是一种强制存取控制的实现,能够进一步的增强Linux系统的安全性,但是开启此项功能会给初学者带来很多的不便,大多都关闭此项功能●setenforce 0 (临时生效)●修改/etc/selinux/config 下的SELINUX=disabled (重启后永久生效)所有主机时间同步1.查看目前主机时间:date2.修改时间:date -s 00:00:003.时间同步(主机),将172.26.40.74的本地时钟作为时间供给源,这样,即便它失去网络连接,它也可以继续为网络提供服务yum install ntpvi /etc/ntp.confserver 127.127.1.0fudge 127.127.1.0 stratum 104.重新启动服务service ntpd stopservice ntpd start5.其他机器同步,等待大概五分钟,再到其他机上同步该机器时间(先确保时区一样,否则同步以后时间也是有时区差的)ntpdate 172.26.40.746.date查看时间是否同步完成安装JDK1.查看Linux自带的JDK是否已安装:java –version2.获得如下信息,表明有自带JDK需要卸载3.查看jdk的信息:rpm -qa|grep java4.卸载自带的jdk:rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_645.解压安装新的Oracle JDK,将jdk-7u79-linux-x64.tar.gz放在/usr/local目录下,解压tar -zxvf jdk-7u79-linux-x64.tar.gz6.配置环境变量vi /etc/profileexport JAVA_HOME=/usr/local/jdk1.7.0_79export PATH=$PATH:$JAVA_HOME/bin:export CLASS_PATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar7.查看JDK是否配置成功source /etc/profilejava –version8.卸载自己安装的JDK方法rpm -e --nodeps jdk-1.7.0_67(jdk-1.7.0_67为自己安装的JDK版本)Maven安装1.去maven官网下载maven的安装包,并上传。
11_Hadoop基础技术-KerberosLDAP
密码太多的烦恼
聊天工具 游戏
看漫画
邮箱 微博
听音乐 追剧追番
各种登录。。。 账号密码记不住呀!!!
统一身份认证
统一身份认证就类似于游乐园的通行规则一样,游客可以 通过一个通行证(秘钥)来畅玩授权过的游乐项目。
在开源大数据平台中,用户可能需要同时使用很多开源组 件,因此会涉及到每个组件的身份认证和访问权限等问题。 利用统一的认证服务能够更好的管理用户的身份认证及会 话管理等。
单点登录的特点如下:
为用户提供便捷服务 提高运维和管理效率 简化应用系统的开发
实现单点登录的主流技术
对于单点登录的实现,主要有如下六种技术:
cookies技术
Broker-based技术
Agent-based技术
Agent and Broker-based技术
Gateway-based技术
Ldap 服务器
身份认证功能设计
LdapServer通过使用Group(组)和Role(角色)的身份认证方式来管理用户,从而更好地管理 不同组织下的用户的属性和权限。
LdapServer的Group(组)是对用户进行统一的组管理,如果用户添加到该组中,该组的 member属性中就会添加成员的dn记录。
LdapServer作为目录服务系统是由目录数据库和一套访问协议组成的系统:
LdapServer基于OpenLDAP开源技术实现。 LdapServer以Berkeley DB作为默认的后端数据库。 LdapServer是基于LDAP标准协议的一种具体开源实现。
LdapServer组织模型
例:左下方节点dn为:
cn=stu_George,uid=001, ou=Primary school, dc=CN,dc=edu
Kerberos基本原理、安装部署及用法
Kerberos基本原理、安装部署及⽤法1. 概述 Kerberos是⼀种认证机制。
⽬的是,通过密钥系统为客户端/服务器应⽤程序提供强⼤的认证系统:保护服务器防⽌错误的⽤户使⽤,同时保护它的⽤户使⽤正确的服务器,即⽀持双向验证;Kerberos协议的整个认证过程实现不依赖于主机操作系统的认证,⽆需基于主机地址的信任,不要求⽹络上所有主机的物理安全,并假定⽹络上传送的数据包可以被任意地读取、修改和插⼊数据,简⽽⾔之,Kerberos通过传统的加密技术(共享密钥)实现了⼀种可信任的第三⽅认证服务。
KDC(key distribution center):是⼀个⽹络服务,提供ticket和临时会话密钥。
AS(Authentication Server):认证服务器 TGS(Ticket Grantion Server):许可证服务器 TGT:Ticket-grantion Ticket realm name:包含KDC和许多客户端的Kerberos⽹络,类似于域,俗称为领域;也是principal的⼀个“容器”或者“命名空间”。
相对应的,principal的命名规则是"what_name_you_like@realm"。
在kerberos,⼤家都约定俗成⽤⼤写来命名realm,⽐如“” password:某个⽤户的密码,对应于kerberos中的master_key。
password可以存在⼀个keytab⽂件中。
所以kerberos中需要使⽤密码的场景都可以⽤⼀个keytab作为输⼊。
credential:credential是“证明某个⼈确定是他⾃⼰/某⼀种⾏为的确可以发⽣”的凭据。
在不同的使⽤场景下,credential的具体含义也略有不同:对于某个principal个体⽽⾔,他的credential 就是他的password;在kerberos认证的环节中,credential就意味着各种各样的ticket。
Kerberos主从配置
Kerberos主从配置文档1. Kerberos主从同步机制3.1 环境我们在两个备用NameNode节点上实现Kerberos主从,并在其它需要接入认证的主机上安装Kerberos客户端。
∙操作系统:CentOS 6.7/RedHart 6.7∙运行用户:root3.2安装包我们是基于RedHart 6.7/CentOS 6.7操作系统,相关Kerberos安装包可在系统包中获取,相关rpm包列表如下:krb5-app1-clients*.rpmkrb5-libs*.rpmkrb5-app1-servers*.rpmkrb5-pkinit-openssl*.rpmkrb5-auth-dialog*.rpmkrb5-server*.rpmkrb5-dev1*.rpmkrb5-server-ldap*.rpmkrb5-workstation*.rpm3.2 安装过程3.2.1 准备工作确认添加主机名解析到/etc/hosts文件中。
$ cat /etc/hosts127.0.0.1 localhost111.111.241.210 - master KDC111.111.241.211 - slave KDC注意:h o s t n a m e请使用小写,要不然在集成k e r b e r o s时会出现一些错误。
3.2.2 安装 kdc server在KDC (这里是master 和slave) 上安装包krb5、krb5-server 和krb5-client。
rpm -ivh krb5-server*.rpmrpm – ivh krb5-libs*.rpmrpm -ivh krb5-auth-dialog*.rpmrpm -ivh krb5-workstation*.rpm在其他节点(kerberos 所有认证客户端)安装krb5-libs、krb5-workstationrpm – ivh krb5-libs*.rpmrpm -ivh krb5-workstation*.rpm3.2.3 修改配置文件kdc 服务器涉及到三个配置文件:/etc/krb5.conf/var/kerberos/krb5kdc/kdc.conf/var/kerberos/krb5kdc/kadm5.acl配置Kerberos 的一种方法是编辑配置文件/etc/krb5.conf。
Kerberos安装及使用
Kerberos安装及使⽤2. 安装 Kerberos2.1. 环境配置 安装kerberos前,要确保主机名可以被解析。
主机名内⽹IP ⾓⾊Vmw201 172.16.18.201 Master KDCVmw202 172.16.18.202 Kerberos clientVmw203 172.16.18.203 Kerberos client2.2 Configuring a Kerberos Server2.2.1 确保环境可⽤ 确保所有的clients与servers之间的时间同步以及DNS正确解析2.2.2 选择⼀个主机来运⾏KDC,并在该主机上安装krb-5libs,krb5-server,已经krb5-workstation:yum install krb5-server krb5-libs krb5-auth-dialog KDC的主机必须⾮常⾃⾝安全,⼀般该主机只运⾏KDC程序。
本⽂中我们选择vmw201作为运⾏KDC的主机。
在安装完上述的软件之后,会在KDC主机上⽣成配置⽂件/etc/krb5.conf和/var/kerberos/krb5kdc/kdc.conf,它们分别反映了realm name 以及domain-to-realm mappings。
2.2.3 配置kdc.conf默认放在 /var/kerberos/krb5kdc/kdc.conf。
或者通过覆盖KRB5_KDC_PROFILE环境变量修改配置⽂件位置。
配置⽰例:[kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88[realms] = {#master_key_type = aes256-ctsacl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabmax_renewable_life = 7dsupported_enctypes = aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal}说明::是设定的realms。
Gaia大数据平台安装部署手册
Gaia大数据平台安装部署手册目录1目的 (1)术语 (1)2软件硬件环境说明 (1)2.1软件版本 (1)2.2逻辑部署架构 (2)2.3硬件环境及规划 (2)3操作系统配置 (3)3.1修改服务器名及HOSTS文件 (3)3.2安装JA V A (4)3.3新增用户 (4)3.4SUDO无密码验证配置 (5)3.5关闭防火墙和SEL INUX (5)3.6搭建时间服务器及时间同步 (5)3.6.1安装ntp (5)3.6.2配置ntp (6)3.7设置SSH无密码登录 (7)3.7.1安装openssh (7)3.7.2配置openssh (7)3.8设置最大并发数 (8)3.9安装并设置YUM源 (9)3.10数据库M YSQL搭建(非必选) (9)4CLOUDERA 聚群搭建 (10)4.1RPM与PARCEL包镜像站点搭建 (10)4.1.1镜像站点搭建 (10)4.2CM管理数据库M YSQL搭建 (12)4.2.1搭建Mysql数据库 (12)4.2.2创建Database (12)4.3CM部署CDH集群组件安装 (13)4.3.1CM(cloudera manager console) 安装 (13)4.3.2Cloudera-manager-server 配置数据库 (13)4.3.3启动及停止CM (14)4.3.4Hadoop集群配置 (14)4.3.5修改jdk java.security配置 (28)4.3.6拷贝hbase-site.xml文件 (28)4.3.7hbase mapreduce静态环境配置 (28)5GAIA管理控制台搭建 (29)5.1核心服务数据库M YSQL搭建 (29)5.2数据导入 (29)5.3上传GAIA平台程序 (29)5.4运行参数配置 (29)5.5管理控制台启动及停止 (29)6GAIA核心服务搭建 (30)6.1Z OOKEEPER集群搭建 (30)6.1.1Zookeeper配置 (30)6.1.2启动Zookeeper服务 (30)6.2核心服务参数配置 (30)6.3核心服务启动及停止 (31)7XREPORT应用搭建 (31)7.1数据导入 (31)7.2程序发布 (31)8QA.常见问题 (31)8.1HIVE METASTORE 需要MYSQL数据库连接JAR包 (31)8.2SQOOP导数据需要数据库连接JAR包 (31)8.3无法安装CM A GENT端,删除各节点的路由 (31)8.4设置各节点不使用交换区 (32)1目的本文描述Gaia大数据平台安装部署方法。
【大数据权限分配】一、kerberos
【⼤数据权限分配】⼀、kerberos⼀、kerberos概念密钥分发中⼼,管理⽤户⾝份信息,进⾏⾝份认证。
⼆、安装选择集群中的⼀台主机(hadoop102)作为Kerberos服务端,安装KDC,所有主机都需要部署Kerberos客户端。
选择hadoop102 安装服务器yum install -y krb5-server所有机器安装客户端yum install -y krb5-workstation krb5-libs修改服务端配置⽂件vim /var/kerberos/krb5kdc/kdc.conf[kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88[realms] = {#master_key_type = aes256-ctsacl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabsupported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal }修改所有客户单主机vim /etc/krb5.conf# Configuration snippets may be placed in this directory as wellincludedir /etc/krb5.conf.d/[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]dns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = truerdns = falsepkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crtdefault_realm = #default_ccache_name = KEYRING:persistent:%{uid}[realms] = {kdc = hadoop102admin_server = hadoop102}[domain_realm]# = # = 初始化kdc数据库kdb5_util create -s修改服务端配置⽂件vim var/kerberos/krb5kdc/kadm5.acl*/admin@ *启动kdc服务systemctl start krb5kdcsystemctl enable krb5kdc启动kerberos的管理,是kdc数据访问⼊⼝systemctl start kadminsystemctl enable kadmin在服务端执⾏以下命令,并输⼊密码kadmin.local -q "addprinc admin/admin"三、操作kerberos1.本地登录⽆需认证kadmin.local远程登录需要主题认证2.创建kerberos主体登录数据库后执⾏创建test这个主体kadmin.local: addprinc test查看所有主体kadmin.local: list_principals3.认证操作1.输⼊下⾯指令kinit test按提⽰输⼊密码查看凭证klist2.密钥⽂件认证⽣成主体test的keytab⽂件到指定⽬录/root/test.keytabkadmin.local -q "xst -norandkey -k /root/test.keytab test@"使⽤keytab进⾏认证kinit -kt /root/test.keytab test查看凭证klist⼆、创建haoop系统⽤户为Hadoop开启Kerberos,需为不同服务准备不同的⽤户,启动服务时需要使⽤相应的⽤户。
krb5安装与配置
krb5安装与配置kerberos的安装配置1.下载软件krb5-1.6.3.tar.gz2.编译软件将krb5-1.6.3.tar.gz 使⽤ftp传输到linux机器。
使⽤root⽤户;解压缩,执⾏configure和make$ tar zxvf krb5-1.6.3.tar.gz$cd krb5-1.6.3$./configure$make$make install缺省的将kerberos安装在/usr/local⽬录下;主要包括/usr/local/sbin、/usr/local/bin、/usr/local/man、/usr/local/lib等⽬录。
3.系统路径和IP地址及域名设置3.1.⽤户路径设置系统中原有kerberos程序,安装在/usr/kerberos下。
在⽤户krb下设置路径修改编辑⽂件.bash_profilePATH=/usr/local/sbin:/usr/local/bin:$PATHexport PATH保证系统执⾏命令,⾸先执⾏/usr/local/sbin⽬录的kerberos相关命令;3.2.IP地址和域名设置系统缺省域名为/doc/23300a4d2e3f5727a5e96202.html ;在/etc/hosts⽂件中,设置相关名称;192.168.1.201 /doc/23300a4d2e3f5727a5e96202.html kerberos192.168.1.201 /doc/23300a4d2e3f5727a5e96202.html kdc保证/doc/23300a4d2e3f5727a5e96202.html 和/doc/23300a4d2e3f5727a5e96202.html 都能够被ping通;ping /doc/23300a4d2e3f5727a5e96202.htmlping /doc/23300a4d2e3f5727a5e96202.html4.kdc配置4.1./etc/krb5.conf⽂件的设置和含义Kerberos区域是⼀个管理域,它有它⾃⼰的Kerberos数据库,每个Kerberos区域都有它⾃⼰的⼀套Kerberos服务员,你的区域名可以是任何内容,但是它应该映射到你在DNS中的区域,如果新Kerberos区域是为你的整个DNS域/doc/23300a4d2e3f5727a5e96202.html 准备的,你应该将你的Kerberos区域取⼀个相同的名字(所有字母⼤写,这是Kerberos的惯例):/doc/23300a4d2e3f5727a5e96202.html ,或者,如果你正在/doc/23300a4d2e3f5727a5e96202.html 下创建⼀个新的⼯程部区域,你应该选项/doc/23300a4d2e3f5727a5e96202.html 作为区域名。
kerberos配置实验
Kerberos 环境搭建与配置实验目的1. 掌握用Windows 系统实施Kerberos 的方法。
2. 深刻理解kerberos 协议。
实验设备装有虚拟机的PC (Windows Server 2003作域控制器和WebServer ,Windows XP 作客户端) 基本原理1.Kerberos 协议在Windows 中的集成Windows Server 2003 中的Active Directory 支持许多安全的Internet 标准协议和身份验证机制,用于在登陆时证明身份,包括:Kerberos V5、X.509 v3 证书、智能卡、PKI 、SSL 、LDAP 等。
Kerberos 认证协议支持双向验证,用于在客户端/服务器环境中提供身份验证。
客户端需要向其访问的资源服务器进行身份验证,服务器也需要向客户端证明自己的身份。
Active Directory 在安装完成后,域控制器的域名即派生为Kerberos 的域名。
域控制器可以提供Kerberos 中密钥分发中心KDC 服务。
Active Directory 中存储着用户的身份信息,包括用户名和一个由密码生成的密钥。
同时也储存着域中的每一个服务器也将机子的账号名称和密钥。
当用户登陆域时,提供有效的用户名和密码,接着,域控制器发给用户一个票据。
票据可用于在网络上请求域内其他网络资源。
2.Kerberos 协议原理Kerberos 协议最初是麻省理工学院(MIT )为其Athena 项目开发的。
目前广泛应用的版本是其第五版本Kerberos V5。
Kerberos 协议的参与实体包括需要验证身份的通信双方,以及通信双方都信任的第三方密钥分配中心(KDC )。
KDC 包括:一个认证服务器(AS ),一个或多个票据分配服务器(TGS )、一个数据库。
协议过程中,发起认证服务的通信方称为客户方,客户方需要访问的对象称为服务器方。
客户方与服务器方通过KDC 可以相互验证对方身份,同时建立起用于以后秘密通信的共享密钥。
大数据集群部署方案
八、风险与应对措施
1.技术风险:关注技术动态,及时更新和升级相关软件。
2.数据安全风险:加强数据安全防护措施,定期进行合规性检查。
3.人才短缺:加强团队培训,提高技能水平。
4.成本控制:合理规划项目预算,控制成本。
九、总结
本方案为企业提供了一套完整、科学的大数据集群部署方案,旨在实现高效、稳定的数据处理和分析。通过严谨的技术选型和部署架构设计,确保数据安全、合规性。同时,注重运维保障和人才培养,提高大数据应用能力。在项目实施过程中,积极应对各类风险,确保项目顺利推进,为企业创造持续的业务价值。
二、项目目标
1.搭建一套完整的大数据集群环境,满足业务部门对数据处理、分析、挖掘的需求。
2.确保集群系统的高可用性、高性能、易扩展性,降低运维成本。
3.遵循国家相关法律法规,确保数据安全与合规性。
三、技术选型
1.分布式存储:采用Hadoop分布式文件系统(HDFS)进行数据存储,确保数据的高可靠性和高可用性。
- Kafka集群:用于收集和传输实时数据,支持实时数据处理。
五、数据安全与合规性
1.数据加密:对存储在HDFS上的数据进行加密,防止数据泄露。
2.访问控制:采用Kerberos进行身份认证,结合HDFS权限管理,实现数据访问控制。
3.数据脱敏:对敏感数据进行脱敏处理,确保数据合规使用。
4.审计日志:开启Hadoop审计日志,记录用户操作行为,便于审计和监控。
- ZooKeeper集群:负责集群的分布式协调服务,确保集群的高可用性。
- Kafka集群:用于收集和传输实时数据,为实时数据处理提供支持。
五、数据安全与合规性
1.数据加密:对存储在HDFS上的数据进行加密处理,防止数据泄露。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.环境准备1.1.操作系统本次安装部署要求在操作系统为CentOS release 6.5 (Final)的版本下进行部署,所以在安装部署kerberos之前请先确保操作系统为以上版本,并且集群中各机器已做时钟同步。
本次安装部署以csdm-hadoop-04作为主kdc服务器,以csdm-hadoop-05作为从kdc服务器,以csdm-hadoop-03作为客户端。
一般不建议在服务器上再安装其他应用程序,比如hadoop。
但为了节省资源本次安装在这三台机器均已安装hadoop相关软件。
1.2.创建操作用户创建操作系统hdfs、yarn、mapred用户,并使其归属于hadoop用户组:adduser hdfs -g Hadoopadduser yarn -g Hadoopadduser mapred -g Hadoop1.3.配置hosts文件为各台机器修改/etc/hosts文件,将真实ip与主机名对应配置,服务端与客户端均需配置,形如:(不能存在127.0.0.1的配置,否则hadoop进行kerberos验证时将会出错)1.4.关闭防火墙执行以下命令关闭防火墙:service iptables stop出现以下界面表示关闭成功1.5.注册服务与端口的对应在/etc/service文件最后增加以下信息,以便后续使用:krb5_prop 754/tcp # Kerberos slave propagation2.安装配置Kerberos2.1.安装rpm包➢以root用户登录并创建目录存放安装包:mkdir /var/kerberos➢上传安装包文件到创建的目录,包括krb5-libs-1.10.3-10.el6_4.6.x86_64.rpm、krb5-server-1.10.3-10.el6_4.6.x86_64.rpm(客户端可不安装)、krb5-workstation-1.10.3-10.el6_4.6.x86_64.rpm➢执行安装命令:rpm -ivh krb5-libs-1.10.3-10.el6_4.6.x86_64.rpmrpm -ivh krb5-server-1.10.3-10.el6_4.6.x86_64.rpm【客户端可不安装】rpm -ivh krb5-workstation-1.10.3-10.el6_4.6.x86_64.rpm➢查看上述包是否已安装成功:rpm –qa krb5*若出现以下情况则代表安装成功。
2.2.配置主KDC服务器2.2.1.设置全局环境变量需要以root身份登录系统在/etc/profile末尾增加配置文件的全局环境变量:export KRB5_CONFIG=/etc/krb5.confexport KRB5_KDC_PROFILE=/var/kerberos/krb5kdc/kdc.conf保存后并执行source /etc/profile 使之生效。
2.2.2.配置krb5.conf执行vi编辑/etc/krb5.conf,内容如下:[libdefaults]default_realm = dns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = true[realms] = {kdc = csdm-hadoop-04kdc = csdm-hadoop-05admin_server =csdm-hadoop-04}[domain_realm] = = 2.2.3.配置kdc.conf执行vi编辑/var/kerberos/krb5kdc/kdc.conf,内容如下:[kdcdefaults]Kdc_ports=750,88[realms] ={kadmind_port = 749max_life=10h 0m 0smax_renewable_life=7d 0h 0m 0sdatabase_name= /var/kerberos/krb5kdc/principaladmin_keytab=/var/kerberos /krb5kdc/kadm5.keytabacl_file=/var/kerberos /krb5kdc/kadm5.aclkey_stash_file=/var/kerberos /krb5kdc/}[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log集群机器如果开启selinux,请在机器上执行restorecon -R -v /etc/krb5.conf 2.2.4.生成数据库在主KDC服务器上执行以下命令创建数据库,在执行的过程中会提示输入密码和确认密码,两次输入相同的密码即可:kdb5_util create -r –s等待片刻后在提示输入密码界面输入密码后会出现以下界面:2.2.5.创建管理用户运行管理入口命令:kadmin.local在提示符下执行以下命令addprinc kadmin/admin@addprinc kadmin/changepw@会提示输入密码,输入两次一样的密码后会提示成功创建。
将主体添加至密钥文件中ktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/adminktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/changepw2.2.6.启动krb5kdc和kadmind服务执行以下命令启动krb5kdc和kadmind服务:krb5kdc startkadmind出现以下界面表示启动成功2.3.配置从KDC服务器2.3.1.为从kdc服务器创建创建授权票证每一个kdc服务器都需要一个host票证,用于在迁移数据库数据市在各kdc 服务器之间进行交互验证。
注意,创建host票据需要在主kdc服务器上执行而不是在从kdc服务器。
在csdm-hadoop-04上执行以下命令创建票证:kadminaddprinc –randkey host/csdm-hadoop-04@addprinc –randkey host/csdm-hadoop-05@ktadd host/csdm-hadoop-05@2.3.2.设置从kdc服务器的配置文件将主kdc服务器中的配置文件(kdc.conf、krb5.conf、、kadm5.acl)复制到从kdc服务器上相应的目录中;在从kdc服务器的/var/Kerberos/krb5kdc的目录下创建kpropd.acl文件并增加以下信息:host/csdm-hadoop-04@host/csdm-hadoop-05@2.4.复制数据库数据到KDC从服务器➢在主服务器上创建数据库的dump文件kdb5_util dump /var/kerberos/krb5kdc/slave_datatrans➢在从服务器上执行数据迁移kprop -f /var/Kerberos/krb5kdc/slave_datatrans csdm-hadoop-05定时将主KDC服务器上的数据库数据,更新到从KDC服务器上由于KDC不提供数据库数据的同步服务功能,因此需要使用脚本或者手工将主KDC服务器上的数据同步到从KDC服务器上,可以参考以下脚本,并配置到定时器中#!/bin/shkdclist = " "kdb5_util dump /var/kerberos/krb5kdc/slave_datatransfor kdc in $kdclist dokprop -f /var/kerberos/krb5kdc/slave_datatrans $kdc2.5.启动从服务器的krb5kdc程序在从服务器上启动命令执行启动:krb5kdc2.6.配置自启动在/etc/inittab中增加以下信息可使进程随系统自启动:/etc/init.d/krb5kdc startKadmind2.7.客户端配置下面以csdm-hadoop-03这台机器作为客户端说明相关配置1、在csdm-hadoop-03上安装客户端软件rpm -ivh krb5-libs-1.10.3-10.el6_4.6.x86_64.rpmrpm -ivh krb5-workstation-1.10.3-10.el6_4.6.x86_64.rpm2、在主KDC服务器csdm-hadoop-04上,把/etc/krb5.conf复制到csdm-hadoop-03本地对应目录3、在客户端csdm-hadoop-03上启动命令执行启动:krb5kdc此时即可在客户端csdm-hadoop-03上连接KDC服务器4、生成可访问csdm-hadoop-03机器应用程序的验证在主KDC服务器csdm-hadoop-04,生成csdm-hadoop-03的principals和keytab,为客户端csdm-hadoop-03添加principals(可以为host或者所要进行验证的机器用户)addprinc –randkey host/csdm-hadoop-03@为客户端csdm-hadoop-03生成keytabKtadd –k /var/kerberos/krb5kdc/keytab/host.keytabhost/csdm-hadoop-03@把csdm-hadoop-04上生成的keytab复制到csdm-hadoop-03机器上3.测试服务器3.1.服务器端测试客户端连接运行kinit admin/admin,显示提示输入密码则代表配置成功:3.2.远程客户机连接测试在客户机运行kinit admin/admin 连接服务端,显示提示输入密码则代表配置成功:4.Hadoop集成kerberos配置4.1 kerberos配置Hadoop官方网站建议的操作系统用户及权限如下,下面我们按照这三个用户的权限进行配置,要求使用下面三种用户分别具有各自启动相应进程的权限。
4.1.1 为所有机器的用户生成principal从主KDC服务器csdm-hadoop-04上,把/etc/krb5.conf复制到csdm-hadoop-03本地对应目录,在主KDC服务器上为hadoop集群中每台机器的用户创建principal,下面以csdm-hadoop-03这台机器为例,运行管理入口命令:kadmin.local在提示符下执行以下命令:addprinc -randkey hdfs/csdm-hadoop-03@addprinc -randkey host/csdm-hadoop-03@addprinc -randkey yarn/csdm-hadoop-03@addprinc -randkey host/csdm-hadoop-03@addprinc -randkey mapred/csdm-hadoop-03@addprinc -randkey host/csdm-hadoop-03@注:◆集群中的每台机器所用到的用户都需执行上面的命令生成principal◆每个用户必须执行addprinc -randkey host/XX@XX的命令,这个命令生成的是基于Kerberos 的应用程序(例如klist和kprop)和服务(例如ftp和telnet)使用的主体。