前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Hadoop集群部署Hbase并开启kerberos

在Hadoop集群部署Hbase并开启kerberos

作者头像
星哥玩云
发布2022-07-03 11:25:59
7640
发布2022-07-03 11:25:59
举报
文章被收录于专栏:开源部署开源部署

系统: LXC - CentOS6.3 x86_64

Hadoop版本: cdh5.0.1(manmual安装,未安装cloudera-manager相关)

集群现有环境:node*6;jdk1.7.0_55;已安装zookeeper、hdfs(HA)、yarn、historyserver和httpfs并已开启kerberos(kdc部署在cluster的一个节点上)。

所需安装的包:所有节点-> yum install hbase  主节点-> yum install hbase-master hbase-thrift hbase-rest  从节点-> yum install hbase-regionserver

所需修改的配置文件如下:

主配置文件及内容: /etc/hbase/conf/hbase-site.xml 

<configuration>

 <property>

  <name>hbase.cluster.distributed</name>

  <value>true</value>

 </property>

 <property>

  <name>hbase.rootdir</name>

  <value>hdfs://irs-hdp-HA/hbase</value>

 </property>

 <property>

  <name>hbase.rest.port</name>

  <value>60050</value>

 </property>

 <property>

  <name>hbase.zookeeper.quorum</name>

  <value>cdh01.hypers.com,cdh02.hypers.com,cdh03.hypers.com</value>

 </property>

 <property>

  <name>hbase.replication</name>

  <value>true</value>

 </property>

 <property>

  <name>hbase.security.authorization</name>

  <value>true</value>

 </property>

 <property>

  <name>hbase.coprocessor.master.classes</name>

  <value>org.apache.hadoop.hbase.security.access.AccessController</value>

 </property>

 <property>

  <name>hbase.coprocessor.region.classes</name>

  <value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value>

 </property>

 <property>

  <name>hbase.security.authentication</name>

  <value>kerberos</value>

 </property>

 <property>

  <name>hbase.rpc.engine</name>

  <value>org.apache.hadoop.hbase.ipc.SecureRpcEngine</value>

 </property>

 <property>

  <name>hbase.regionserver.kerberos.principal</name>

  <value>hbase/_HOST@HADOOP.COM</value>

 </property>

 <property>

  <name>hbase.regionserver.keytab.file</name>

  <value>/etc/hadoop/conf/hbase.keytab</value>

 </property>

 <property>

  <name>hbase.master.kerberos.principal</name>

  <value>hbase/_HOST@HADOOP.COM</value>

 </property>

 <property>

  <name>hbase.master.keytab.file</name>

  <value>/etc/hadoop/conf/hbase.keytab</value>

 </property>

 <property>

  <name>hbase.thrift.keytab.file</name>

  <value>/etc/hadoop/conf/hbase.keytab</value>

 </property>

 <property>

  <name>hbase.thrift.kerberos.principal</name>

  <value>hbase/_HOST@HADOOP.COM</value>

 </property>

 <property>

  <name>hbase.rest.keytab.file</name>

  <value>/etc/hadoop/conf/hbase.keytab</value>

 </property>

 <property>

  <name>hbase.rest.kerberos.principal</name>

  <value>hbase/_HOST@HADOOP.COM</value>

 </property>

 <property>

  <name>hbase.rest.authentication.type</name>

  <value>kerberos</value>

 </property>

 <property>

  <name>hbase.rest.authentication.kerberos.principal</name>

  <value>HTTP/_HOST@HADOOP.COM</value>

 </property>

 <property>

  <name>hbase.rest.authentication.kerberos.keytab</name>

  <value>/etc/hadoop/conf/hbase.keytab</value>

 </property>

</configuration>

安全相关配置文件 /etc/hbase/conf/zk-jaas.conf

Client {

 com.sun.security.auth.module.Krb5LoginModule required

 useKeyTab=true

 useTicketCache=false

 keyTab="/etc/hadoop/conf/hbase.keytab"

 principal="hbase/cdh01.hypers.com@HADOOP.COM";

};

hbase相关的环境变量文件: /etc/hbase/conf/hbase-env.sh

export HBASE_OPTS="-XX:+UseConcMarkSweepGC"

export HBASE_OPTS="$HBASE_OPTS -Djava.security.auth.login.config=/etc/hbase/conf/zk-jaas.conf"

export HBASE_MANAGES_ZK=false

zookeeper配置文件(仅末尾两行是hbase配置所需追加的): /usr/lib/zookeeper/conf/zoo.cfg

maxClientCnxns=50

tickTime=2000

initLimit=5

syncLimit=2

dataDir=/var/lib/zookeeper

clientPort=2181

server.1=cdh01.hypers.com:2888:3888

server.2=cdh02.hypers.com:2888:3888

server.3=cdh03.hypers.com:2888:3888

authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider

jaasLoginRenew=3600000

kerberos.removeHostFromPrincipal=true

kerberos.removeRealmFromPrincipal=true 

参考文档说明(hortonworks会简称hdp;cloudera则cdh):

    1、系统模板创建,由于笔者在openvz官方搜到的是centos6.5的模板,由于之前在测试环境时尽量和生产保持一致,因此要使用CentOS6.3,所以,笔记根据官方文档自动,自行创建了一个模板,链接如下:http://openvz.org/Creating_a_CentOS_6_Template

    2、安装集群参考的cdh官方文档:http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/CDH5-Installation-Guide/CDH5-Installation-Guide.html

    3、kerberos和hadoop的整合阶段大量参考了hortonworks的文档,因为cloudera的文档给笔者的感觉就是假设这些都是OK的(简直丧心病狂...),具体链接如下:

    hortonworks的kerberos配置链接:http://docs.hortonworks.com/HDPDocuments/Ambari-1.6.1.0/bk_ambari_security/content/index.html

    cloudera的kerberos配置链接:http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/CDH5-Security-Guide/CDH5-Security-Guide.html

    kerberos官网:http://web.mit.edu/kerberos/krb5-latest/doc/

    4、本次主要参考cloudera的文档及hbase官方文档(因为在安装thrift和rest时,cdh未提及相关配置导致无法启动...),相关链接如下:

    cdh的文档: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/CDH5-Installation-Guide/cdh5ig_hbase_installation.html

    cdh的hbase和kerberos部署整合的文档:http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/CDH5-Security-Guide/cdh5sg_hbase_security.html

    hbase官方文档:http://hbase.apache.org/book/security.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档