版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
环境准备操作系统本次安装部署要求在操作系统为CentOSrelease6.5(Final)的版本下进行部署,所以在安装部署kerberos之前请先确保操作系统为以上版本,并且集群中各机器已做时钟同步。本次安装部署以csdm-hadoop-04作为主kdc效劳器,以csdm-hadoop-05作为从kdc效劳器,以csdm-hadoop-03作为客户端。一般不建议在效劳器上再安装其他应用程序,比方hadoop。但为了节省资源本次安装在这三台机器均已安装hadoop相关软件。创立操作用户创立操作系统hdfs、yarn、mapred用户,并使其归属于hadoop用户组:adduserhdfs-gHadoopadduseryarn-gHadoopaddusermapred-gHadoop配置hosts文件为各台机器修改/etc/hosts文件,将真实ip与主机名对应配置,效劳端与客户端均需配置,形如:〔不能存在的配置,否那么hadoop进行kerberos验证时将会出错〕关闭防火墙执行以下命令关闭防火墙:serviceiptablesstop出现以下界面表示关闭成功注册效劳与端口的对应在/etc/service文件最后增加以下信息,以便后续使用:krb5_prop754/tcp#Kerberosslavepropagation安装配置Kerberos安装rpm包以root用户登录并创立目录存放安装包:mkdir/var/kerberos上传安装包文件到创立的目录,包括、〔客户端可不安装〕、执行安装命令:rpm-ivhrpm-ivh【客户端可不安装】
rpm-ivh查看上述包是否已安装成功:rpm–qakrb5*假设出现以下情况那么代表安装成功。配置主KDC效劳器设置全局环境变量需要以root身份登录系统在/etc/profile末尾增加配置文件的全局环境变量:exportKRB5_CONFIG=/etc/krb5.confexportKRB5_KDC_PROFILE=/var/kerberos/krb5kdc/kdc.conf保存后并执行source/etc/profile使之生效。配置krb5.conf执行vi编辑/etc/krb5.conf,内容如下:[libdefaults]default_realm=ERICSSONdns_lookup_realm=falsedns_lookup_kdc=falseticket_lifetime=24hrenew_lifetime=7dforwardable=true[realms]ERICSSON={kdc=csdm-hadoop-04kdc=csdm-hadoop-05admin_server=csdm-hadoop-04}[domain_realm].ericsson=ERICSSONericsson=ERICSSON配置kdc.conf执行vi编辑/var/kerberos/krb5kdc/kdc.conf,内容如下: [kdcdefaults]Kdc_ports=750,88[realms]ERICSSON={kadmind_port=749max_life=10h0m0smax_renewable_life=7d0h0m0sdatabase_name=/var/kerberos/krb5kdc/principaladmin_keytab=/var/kerberos/krb5kdc/kadm5.keytabacl_file=/var/kerberos/krb5kdc/kadm5.aclkey_stash_file=/var/kerberos/krb5kdc/.k5.ERICSSON}[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生成数据库在主KDC效劳器上执行以下命令创立数据库,在执行的过程中会提示输入密码和确认密码,两次输入相同的密码即可:kdb5_utilcreate-rericsson–s等待片刻后在提示输入密码界面输入密码后会出现以下界面:创立管理用户运行管理入口命令:kadmin.local在提示符下执行以下命令addprincaddprinc会提示输入密码,输入两次一样的密码后会提示成功创立。将主体添加至密钥文件中ktadd-k/var/kerberos/krb5kdc/kadm5.keytabkadmin/admin
ktadd-k/var/kerberos/krb5kdc/kadm5.keytabkadmin/changepw启动krb5kdc
和kadmind效劳执行以下命令启动krb5kdc和kadmind效劳:krb5kdcstartkadmind出现以下界面表示启动成功配置从KDC效劳器为从kdc效劳器创立创立授权票证每一个kdc效劳器都需要一个host票证,用于在迁移数据库数据市在各kdc效劳器之间进行交互验证。注意,创立host票据需要在主kdc效劳器上执行而不是在从kdc效劳器。在csdm-hadoop-04上执行以下命令创立票证:kadminaddprinc–randkeyaddprinc–randkeyhostktadd设置从kdc效劳器的配置文件将主kdc效劳器中的配置文件〔kdc.conf、krb5.conf、、kadm5.acl〕复制到从kdc效劳器上相应的目录中;在从kdc效劳器的/var/Kerberos/krb5kdc的目录下创立kpropd.acl文件并增加以下信息:host复制数据库数据到KDC从效劳器在主效劳器上创立数据库的dump文件kdb5_utildump/var/kerberos/krb5kdc/slave_datatrans在从效劳器上执行数据迁移kprop-f/var/Kerberos/krb5kdc/slave_datatranscsdm-hadoop-05定时将主KDC效劳器上的数据库数据,更新到从KDC效劳器上由于KDC不提供数据库数据的同步效劳功能,因此需要使用脚本或者手工将主KDC效劳器上的数据同步到从KDC效劳器上,可以参考以下脚本,并配置到定时器中#!/bin/shkdclist="kerberos2.examplekerberos3.example"kdb5_utildump/var/kerberos/krb5kdc/slave_datatransforkdcin$kdclistdokprop-f/var/kerberos/krb5kdc/slave_datatrans$kdc启动从效劳器的krb5kdc程序在从效劳器上启动命令执行启动:krb5kdc配置自启动在/etc/inittab中增加以下信息可使进程随系统自启动:/etc/init.d/krb5kdcstartKadmind客户端配置下面以csdm-hadoop-03这台机器作为客户端说明相关配置1、在csdm-hadoop-03上安装客户端软件rpm-ivh
rpm-ivh2、在主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–randkeyhost/csdm-hadoop-03@ERICSSON为客户端csdm-hadoop-03生成keytabKtadd–k/var/kerberos/krb5kdc/keytab/host.keytabhost/csdm-hadoop-03@ERICSSON把csdm-hadoop-04上生成的keytab复制到csdm-hadoop-03机器上测试效劳器效劳器端测试客户端连接运行kinitadmin/admin,显示提示输入密码那么代表配置成功:远程客户机连接测试在客户机运行kinitadmin/admin连接效劳端,显示提示输入密码那么代表配置成功:Hadoop集成kerberos配置4.1kerberos配置Hadoop官方网站建议的操作系统用户及权限如下,下面我们按照这三个用户的权限进行配置,要求使用下面三种用户分别具有各自启动相应进程的权限。User:GroupDaemonshdfs:hadoopNameNode,SecondaryNameNode,JournalNode,DataNodeyarn:hadoopResourceManager,NodeManagermapred:hadoopMapReduce,JobHistoryServer4.1.1为所有机器的用户生成principal从主KDC效劳器csdm-hadoop-04上,把/etc/krb5.conf复制到csdm-hadoop-03本地对应目录,在主KDC效劳器上为hadoop集群中每台机器的用户创立principal,下面以csdm-hadoop-03这台机器为例,运行管理入口命令:kadmin.local在提示符下执行以下命令:addprinc-randkeyhdfs/csdm-hadoop-03@ERICSSONaddprinc-randkeyhost/csdm-hadoop-03@ERICSSONaddprinc-randkeyyarn/csdm-hadoop-03@ERICSSONaddprinc-randkeyhost/csdm-hadoop-03@ERICSSONaddprinc-randkeymapred/csdm-hadoop-03@ERICSSONaddprinc-randkeyhost/csdm-hadoop-03@ERICSSON注:集群中的每台机器所用到的用户都需执行上面的命令生成principal每个用户必须执行addprinc-randkeyhost/XX@XX的命令,这个命令生成的是基于Kerberos的应用程序〔例如klist和kprop〕和效劳〔例如ftp和telnet〕使用的主体。此主体称为host主体或效劳主体。4.1.2生成keytab文件完成5.1.1后在主KDC效劳器上为所有principal生成keytab文件,运行管理入口命令:kadmin.local在提示符下执行以下命令:xst-norandkey-k/var/kerberos/krb5kdc/keytab/hdfs.keytabhdfs/csdm-hadoop-03@ERICSSONhost/csdm-hadoop-03@ERICSSONxst-norandkey-k/var/kerberos/krb5kdc/keytab/mapred.keytabmapred/csdm-hadoop-03@ERICSSONhost/csdm-hadoop-03@ERICSSONxst-norandkey-k/var/kerberos/krb5kdc/keytab/yarn.keytabyarn/csdm-hadoop-03@ERICSSONhost/csdm-hadoop-03@ERICSSON生成授权文件后,使用以下命令检查生成的keytab是否可用:kinit-k-t/var/kerberos/krb5kdc/keytab/hdfs.keytabhdfs/csdm-hadoop-03@ERICSSONkinit-k-t/var/kerberos/krb5kdc/keytab/mapred.keytabmapred/csdm-hadoop-03@ERICSSONkinit-k-t/var/kerberos/krb5kdc/keytab/yarn.keytabyarn/csdm-hadoop-03@ERICSSON检查没问题后,把生成的keytab文件分发到整个集群中的所有机器。修改HADOOP配置文件4.2.1Jsvc安装配置Datanode的平安机制需要以root用户身份用jsvc来启动,因此首先需要检查是否安装是jsvc如果没有,按以下步骤进行安装:下载src.tar.gz包并上传至自定义的目录〔本操作目录为/home/hadoop〕解压缩后以root用户登录进入目录/home/Hadoop执行:tar–xvf解压完成后进入/home/Hadoopsrc/native/unix执行命令:configure执行命令:make编译完成后,会在/home/hadoopsrc/native/unix目录下生成jsvc可执行文件,如下列图在该目录下执行filejsvc如果出现下列图所示,那么jsvc安装成功这里,我们把该执行文件复制到$HADOOP_HOME/bin以便后续的配置执行命令:cp/home/hadoopsrc/native/unix/jsvc/home/hadoop/hadoop/bin4.2.2hadoop-env.sh配置找到以下两项配置,并修改exportHADOOP_SECURE_DN_USER=hdfs〔配置为要执行datanode的用户,这里为hdfs〕exportJSVC_HOME=/home/hadoop/hadoop/bin(配置为jsvc所在的目录)4.2.3core-site.xml在集群中所有节点的core-site.xml文件中添加下面的配置<!--kerberosconfig--><property><name></name><value>true</value></property><property><name></name><value>kerberos</value></property><property><name></name><value>authentication</value></property><!—默认使用authentication,可使用integrity
,privacy
--><property><name></name><value>DEFAULT</value></property><!—此选项对应krb5.conf中【realms】的auth_to_local,用于将操作系统用户与principal的映射关系-->4.2.4hdfs-site.xml在集群中所有节点的hdfs-site.xml文件中添加下面的配置,下面配置以节点csdm-hadoop-04为例:<!--GeneralHDFSsecurityconfig--><property><name></name><value>true</value></property><!--NameNodesecurityconfig--><property><name></name><value>true</value></property><property><name></name><value>csdm-hadoop-04:50470</value></property><property><name></name><value>50470</value></property><property><name></name><value>/var/kerberos/krb5kdc/keytab/hdfs.keytab</value><!--pathtotheHDFSkeytab--></property><property><name></name><value>hdfs/_HOST@ERICSSON</value></property><property><name></name><value>host/_HOST@ERICSSON</value></property><!--SecondaryNameNodesecurityconfig--><property><name></name><value>csdm-hadoop-04:50495</value></property><property><name></name><value>50495</value></property><property><name></name><value>/var/kerberos/krb5kdc/keytab/hdfs.keytab</value><!--pathtotheHDFSkeytab--></property><property><name></name><value>hdfs/_HOST@ERICSSON</value></property><property><name></name><value>host/_HOST@ERICSSON</value></property><!--DataNodesecurityconfig--><property><name></name><value>700</value></property><property><name></name><value>:1004</value></property><property><name></name><value>:1006</value></property><property><name></name><value>/var/kerberos/krb5kdc/keytab/hdfs.keytab</value><!--pathtotheHDFSkeytab--></property><property><name></name><value>hdfs/_HOST@ERICSSON</value></property><property><name></name><value>host/_HOST@ERICSSON</value></property><!--webconfig--><property><name></name><value>hdfs/_HOST@ERICSSON</value></property><property><name></name><value>/var/kerberos/krb5kdc/keytab/hdfs.keytab</value><description>TheKerberoskeytabfilewiththecredentialsfortheKerberosprincipalusedbyHadoop-Authintheendpoint.</description></property>配置中有几点要注意的.表示datatransceiverRPCserver所绑定的hostname或IP地址,如果开启security,端口号必须小于1024(privilegedport),否那么的话启动datanode时候会报“Cannotstartsecureclusterwithoutprivilegedresources〞错误.principal中的instance局部可以使用'_HOST'标记,系统会自动替换它为全称域名.如果开启了security,hadoop会对hdfsblockdata做permissioncheck,方式用户的代码不是调用hdfsapi而是直接本地读blockdata,这样就绕过了kerberos和文件权限验证,管理员可以通过设置来修改datanode文件权限,这里我们设置为700配置完成后,修改hdfs.keytab所有者为hdfschown-Rhdfs:hadoop/var/kerberos/krb5kdc/keytab/hdfs.keytabchmod700/var/kerberos/krb5kdc/keytab/hdfs.keytab同时保证以下表格中各个目录的对于hdfs用户的权限FilesystemPathUser:GroupPermissionslocalhdfs:hadoopdrwx------localhdfs:hadoopdrwx------local$HADOOP_LOG_DIRhdfs:hadoopdrwxrwxr-xHdfs/hdfs:hadoopdrwxr-xr-xHdfs/tmphdfs:hadoopdrwxrwxrwxtHdfs/userhdfs:hadoopdrwxr-xr-x1、测试namenode进程启动是否正常切换到hdfs用户,首先执行klist命令,查看当前是否获取了ticket,经测试,如果已经获取了ticket那么启动namenode进程的时候会报以下错误使用kdestroy销毁获取的ticket切换到hdfs用户,启动namenode进程〔已经执行过HDFS格式化的操作〕执行命令:hadoopnamenode如果配置正常,应该会看到以下的日志信息输出验证namenode是否启动正常可翻开网页://XX:50070/dfshealth.html#tab-overview验证hadoopfs-ls/注:如果在你的凭据缓存中没有有效的kerberosticket,执行hadoopfs–ls/将会失败。可以使用klist来查看是否有有有效的ticket。如果为空,使用kinit来获取ticket.命令如下kinit-k-t/var/kerberos/krb5kdc/keytab/hdfs.keytabhdfs/csdm-hadoop-03@ERICSSON2、测试datanode启动是否正常切换到root用户,执行命令:hadoop-daemon.shstartdatanode如果启动正常,能在日志文件看到以下日志内容在日志目录,启动datanode进程会有以下几个日志文件,其中jsvc.err记录了jsvc的错误信息启动datanode进程,只能使用root用户,如果使用其他用户启动,只会报以下错误4.2.5mapred-site.xml在mapred-site.xml中添加<!--JobTrackersecurityconfigs--><property><name></name><value>mapred/_HOST@ERICSSON</value></property><property><name></name><value>host/_HOST@ERICSSON</value></property><property><name></name><value>/var/kerberos/krb5kdc/keytab/mapred.keytab</value><!--pathtotheMapReducekeytab--></property><!--TaskTrackersecurityconfigs--><property><name></name><value>mapred/_HOST@ERICSSON</value></property><property><name></name><value>host/_HOST@ERICSSON</value></property><property><name></name><value>/var/kerberos/krb5kdc/keytab/mapred.keytab</value><!--pathtotheMapReducekeytab--></property><!--jobhistoryserversecurity--><property><name</name><value>10020</value><!—如果不设置,那么默认使用10020端口--></property><property><name></name><value>/var/kerberos/krb5kdc/keytab/mapred.keytab</value></property><property><name></name><value>mapred/_HOST@ERICSSON</value></property>将mapred.keytab文件赋权给mapred用户,执行以下命令:chown-Rmapred:hadoop/var/kerberos/krb5kdc/keytab/mapred.keytabchmod700/var/kerberos/krb5kdc/keytab/mapred.keytab确保以下表格中各个路径的执行权限FilesystemPathUser:GroupPermissionshdfs-done-dirmapred:hadoopdrwxrwxrwxthdfsmapred:hadoopdrwxr-x---测试historyserver进程执行命令:mr-jobhistory-daemon.shstarthistoryserver配置正常,那么会看到以下日志内容4.2.6yarn-site.xml在yarn-site.xml追加以下内容:<!--yarnsecurity--><property><name></name><value>/var/kerberos/krb5kdc/keytab/yarn.keytab</value></property><property><name></name><value>yarn/_HOST@ERICSSON</value></property><!—以上为ResourceManager设置--><property><name></name><value>/var/kerberos/krb5kdc/keytab/yarn.keytab</value></property><property><name></name><value>yarn/_HOST@ERICSSON</value></property><property><name></name><value>org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor</value></property><property><name>-container-executor.group</name><value>hadoop</value></property><property><name>-container-executor.path</name><value>/home/hadoop/hadoop/bin/container-executor</value><!—你存放container-executor的绝对路径,下文有交代--></property><!—以上为NodeManager配置-->YARN提供了两种Container启动实现,DefaultContainerExecutor以及LinuxContainerExecutor,在上面的yarn-site.xml里配置了的启动方式为LinuxContainerExecutor,那么就需要编译安装LinuxContainerExecutor,按如下操作执行:在hadoop的home目录〔这里是/home/Hadoop/hadoop〕的/etc/hadoop/目录下创立container-executor.cfg文件,内容如下:设置该文件权
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年耐酸碱高筒靴项目投资价值分析报告
- 2024至2030年中国抗皱晚霜行业投资前景及策略咨询研究报告
- 名著导读《海底两万里》课件
- 2024至2030年手机袋项目投资价值分析报告
- 2024至2030年国际象棋盒项目投资价值分析报告
- 初中化学化学式和化合价课件
- 勾股定理的应用课件
- 2024年防水无石棉硅酸镁管壳项目可行性研究报告
- 2024年铂铑合金制品项目可行性研究报告
- 2024年超细球状银粉项目可行性研究报告
- 电镀高温镍在卷对卷连续电镀中的应用性能综合评价
- TSGD0012023年压力管道安全技术监察规程-工业管道(高清晰版)
- 汽车用中冷器进出气防滑脱硅胶管开发及应用
- 严明政治纪律-严守政治规矩课件
- 阿里巴巴对新员工培训制度
- 2023-2024学年浙江省富阳市小学数学四年级上册期末通关题
- (中职)经济学基础AB卷期末试卷及答案
- 《林黛玉进贾府》原文
- 刑法学(上册)马工程课件 第4章 犯罪概念与犯罪构成
- 羽毛球训练计划以及周计划
- 五年级上册数学说课课件8.1分数四则混合运算∣青岛版五年制 (共24张PPT)
评论
0/150
提交评论