设为首页 收藏本站
查看: 963|回复: 0

[经验分享] hadoop和hbase的安全认证Kerberos部署

[复制链接]

尚未签到

发表于 2018-10-30 08:04:44 | 显示全部楼层 |阅读模式
(接上一篇)
五、Kerberos
1、jsvc
  所有节点:
  # cd ~/soft
  # wget http://mirror.bit.edu.cn/apache/commons/daemon/source/commons-daemon-1.0.15-native-src.tar.gz
  # tar zxfcommons-daemon-1.0.15-native-src.tar.gz
  # cd commons-daemon-1.0.15-native-src/unix;./configure; make
  # cp jsvc /usr/local/hadoop-2.4.0/libexec/
  # cd ~/soft
  # wgethttp://mirror.bit.edu.cn/apache//commons/daemon/binaries/commons-daemon-1.0.15-bin.tar.gz
  # tar zxf commons-daemon-1.0.15-bin.tar.gz
  # cpcommons-daemon-1.0.15/commons-daemon-1.0.15.jar/usr/local/hadoop-2.4.0/share/hadoop/hdfs/lib/
  # cpcommons-daemon-1.0.15/commons-daemon-1.0.15.jar/usr/local/hadoop-2.4.0/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/
  # rm -f /usr/local/hadoop-2.4.0/share/hadoop/hdfs/lib/commons-daemon-1.0.13.jar
  # rm -f/usr/local/hadoop-2.4.0/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/commons-daemon-1.0.13.jar
  # # vim/usr/local/hadoop-2.4.0/etc/hadoop/hadoop-env.sh
  exportJSVC_HOME=/usr/local/hadoop-2.4.0/libexec/
2、256位加密
  所有节点:
  # wget–c http://download.oracle.com/otn-pub/java/jce/7/UnlimitedJCEPolicyJDK7.zip?AuthParam=1400207941_ee158c414c707a057960c521a7b29866
  # unzipUnlimitedJCEPolicyJDK7.zip
  # cp UnlimitedJCEPolicy/*.jar/usr/java/jdk1.7.0_65/jre/lib/security/
  cp:是否覆盖"/usr/java/jdk1.7.0_51/jre/lib/security/local_policy.jar"? y
  cp:是否覆盖"/usr/java/jdk1.7.0_51/jre/lib/security/US_export_policy.jar"? y
3、部署KDC
  主机test3:
安装kdc server
  # yum -y install krb5\*
配置文件krb5.conf
  [logging]
  default = FILE:/var/log/krb5libs.log
  kdc= FILE:/var/log/krb5kdc.log
  admin_server = FILE:/var/log/kadmind.log
  [libdefaults]
  default_realm = cc.cn
  dns_lookup_realm = false
  dns_lookup_kdc = false
  ticket_lifetime = 365d
  renew_lifetime = 365d
  forwardable = true
  [realms]
  cc.cn = {
  kdc = test3
  admin_server = test3
  }
  [kdc]
  profile = /var/kerberos/krb5kdc/kdc.conf
配置文件kdc.conf
  # vim /var/kerberos/krb5kdc/kdc.conf
  [kdcdefaults]
  kdc_ports = 88
  kdc_tcp_ports = 88
  [realms]
  cc.cn = {
  #master_key_type = aes256-cts
  acl_file = /var/kerberos/krb5kdc/kadm5.acl
  dict_file = /usr/share/dict/words
  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
  supported_enctypes = aes256-cts:normal aes128-cts:normaldes3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normaldes-cbc-md5:normal des-cbc-crc:normal
  }
配置文件kadm5.acl
  # vim /var/kerberos/krb5kdc/kadm5.acl
  */admin@cc.cn *
创建数据库
  # kdb5_util create -r cc.cn –s
  Enter KDC database master key:
启动及开机启动
  # service krb5kdc start
  # service kadmin start
  # chkconfig krb5kdc on
  # chkconfig kadmin on
创建管理员用户
  # kadmin.local
  kadmin.local:  addprinc root/admin
  Enter password for principal "root/admin@cc.cn":
六、Hadoop整合Kerberos
1、配置节点认证
  主机test1:
  # yum -y install krb5\*
  # scp test3:/etc/krb5.conf /etc/
  # kadmin –p root/admin
  kadmin: addprinc -randkey root/test1
  kadmin: addprinc -randkey HTTP/test1
  kadmin: ktadd -k /hadoop/krb5.keytab root/test1 HTTP/test1
  主机test2:
  # yum -y install krb5\*
  # scp test3:/etc/krb5.conf /etc/
  # kadmin -p root/admin
  kadmin: addprinc -randkey root/test2
  kadmin: addprinc -randkey HTTP/test2
  kadmin: ktadd -k /hadoop/krb5.keytab root/test2 HTTP/test2
  主机test3:
  # kadmin.local
  kadmin.local:   addprinc -randkey root/test3
  kadmin.lcoal:   addprinc -randkey HTTP/test3
  kadmin.local:   ktadd -k /hadoop/krb5.keytab root/test3 HTTP/test3
2、添加配置
配置文件core-site.xml
  主机test1:
  # vim/usr/local/hadoop-2.4.0/etc/hadoop/core-site.xml
  
  hadoop.security.authentication
  kerberos
  
  
  hadoop.security.authorization
  true
  
配置文件hdfs-site.xm
  主机test1:
  # vim /usr/local/hadoop-2.4.0/etc/hadoop/hdfs-site.xml
  
  dfs.journalnode.keytab.file
  /hadoop/krb5.keytab
  
  
  dfs.journalnode.kerberos.principal
  root/_HOST@cc.cn
  
  
  dfs.journalnode.kerberos.internal.spnego.principal
  HTTP/_HOST@cc.cn
  
  
  dfs.block.access.token.enable
  true
  
  
  dfs.namenode.keytab.file
  /hadoop/krb5.keytab
  
  
  dfs.namenode.kerberos.principal
  root/_HOST@cc.cn
  
  
  dfs.web.authentication.kerberos.keytab
  /hadoop/krb5.keytab
  
  
  dfs.web.authentication.kerberos.principal
  HTTP/_HOST@cc.cn
  
  
  ignore.secure.ports.for.testing
  true
  
  
  dfs.datanode.keytab.file
  /hadoop/krb5.keytab
  
  
  dfs.datanode.kerberos.principal
  root/_HOST@cc.cn
  
  
  hadoop.http.staticuser.user
  root
  
配置文件yarn-site.xml
  主机test1:
  # vim/usr/local/hadoop-2.4.0/etc/hadoop/yarn-site.xml
  
  yarn.resourcemanager.keytab
  /hadoop/krb5.keytab
  
  
  yarn.resourcemanager.principal
  root/_HOST@cc.cn
  
  
  yarn.nodemanager.keytab
  /hadoop/krb5.keytab
  
  
  yarn.nodemanager.principal
  root/_HOST@cc.cn
  
配置文件mapred-site.xml
  主机test1:
  # vim /usr/local/hadoop-2.4.0/etc/hadoop/mapred-site.xml
  
  mapreduce.jobhistory.keytab
  /hadoop/krb5.keytab
  
  
  mapreduce.jobhistory.principal
  root/_HOST@cc.cn
  
3、同步配置文件
  主机test1:
  # scp -r/usr/local/hadoop-2.4.0/ test2:/usr/local/
  # scp -r/usr/local/hadoop-2.4.0/ test3:/usr/local/
4、启动
  主机test1:
  # start-all.sh
5、验证
  主机test3:
  # kinit -k -t /hadoop/krb5.keytab root/test3
  # hdfs dfs –ls /
七、Hbase整合Kerberos
1、添加配置
配置文件hbase-site.xml
  主机test1:
  # vim/usr/local/hbase-0.98.1/conf/hbase-site.xml
  
  hbase.security.authentication
  kerberos
  
  
  hbase.security.authorization
  true
  
  
  hbase.rpc.engine
  org.apache.hadoop.hbase.ipc.SecureRpcEngine
  
  
  hbase.coprocessor.region.classes
  org.apache.hadoop.hbase.security.token.TokenProvider
  
  
  hbase.master.keytab.file
  /hadoop/krb5.keytab
  
  
  hbase.master.kerberos.principal
  root/_HOST@cc.cn
  
  
  hbase.regionserver.keytab.file
  /hadoop/krb5.keytab
  
  
  hbase.regionserver.kerberos.principal
  root/_HOST@cc.cn
  
2、同步配置文件
  主机test1:
  # scp/usr/local/hbase-0.98.1/conf/hbase-site.xml test2:/usr/local/hbase-0.98.1/conf/
  # scp /usr/local/hbase-0.98.1/conf/hbase-site.xmltest3:/usr/local/hbase-0.98.1/conf/
3、启动
  主机test1:
  # start-hbase.sh
4、验证
  主机test3:
  # kinit -k -t /hadoop/krb5.keytab root/test3
  # hbase shell
八、集群连接方式
1、keytab文件位置
  /etc/xiaofeiyun.keytab
创建过程
  主机test1:
  # kadmin -p root/admin
  Password for root/admin@cc.cn:
  kadmin: addprinc -randkey data/xiaofeiyun
  kadmin: addprinc -randkey platform/xiaofeiyun
  kadmin: ktadd -k /etc/xiaofeiyun.keytab data/xiaofeiyun platform/xiaofeiyun
  # scp /etc/xiaofeiyun.keytab test2:/etc/
  # scp /etc/xiaofeiyun.keytab test3:/etc/
2、krb5.conf文件位置
  /etc/krb5.conf
3、hadoop连接
  conf.set("fs.defaultFS","hdfs://cluster1");
  conf.set("dfs.nameservices","cluster1");
  conf.set("dfs.ha.namenodes.cluster1","test1,test2");
  conf.set("dfs.namenode.rpc-address.cluster1.test1","test1:9000");
  conf.set("dfs.namenode.rpc-address.cluster1.test2","test2:9000");
  conf.set("dfs.client.failover.proxy.provider.cluster1","org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider");
4、hbase连接
  ha.zookeeper.quorum
  test1:2181,test2:2181,test3:2181


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-628206-1-1.html 上篇帖子: HADOOP(2.4)+HBASE(0.98.1)高可用集群详细部署 下篇帖子: 学习Hadoop笔记(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表