接上篇《HBase + Kerberos配置示例(一)》,我们继续剩下的配置工作。
- 安装hadoop/zookeeper/hbase
我在kbhbase1这个机器上已经安装好了hadoop,zookeeper,hbase,为了简单起见所有在东西都跑在这台机器上。同时检查了在没在启用kerberos的情况下,hbase工作正常。
- 禁用selinux
#vim /etc/sysconfig/selinux 设置SELINUX=disabled,并重启
- 安装JCE
从Oracle网站下载JCE(Java Cryptography Extension)补丁,此补丁与AES-256加密有关。下载解压之后,把得到的两个jar文件local_policy.jar,US_export_policy.jar拷贝到$JAVA_HOME/ jre/lib/security下进行覆盖。
Hadoop配置
创建keytab
- kadmin: addprinc -randkey root/kbhbase1.mh.com@MH.COM
- kadmin: xst -k root.keytab root/kbhbase1.mh.com
这样就会在kerberos服务器上创建一个用户root/kbhbase1.mh.com@MH.COM,其中名字中/之后的部分应该是固定写法,即主机名+kerberos realm,红色部分则可以随意。xst命令会在当前目录下生成这个root.keytab文件。拷贝root.keytab文件到hadoop的配置目录,在我的机器上是:/usr/local/hadoop-2.6.0/etc/hadoop
修改core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://kbhbase1.mh.com:9000</value> </property> <property> <name>hadoop.security.authentication</name> <value>kerberos</value> <!-- Giving value as "simple" disables security.--> </property> <property> <name>hadoop.security.authorization</name> <value>true</value> </property> </configuration>