hiveserver2高可用
一、安装hiveserver2服务
步骤1. 将正常使用的hive目录复制到安装hiveserver2的节点(hd3节点)
scp -r /opt/hive hd3:/opt/
二、配置hive-site.xml
编辑hive配置文件/opt/hive/conf/hive-site.xml
1.删除参数
步骤1. 在所有hiveserver2节点删除如下内容:
<property>
<name>hive.server2.active.passive.ha.enable</name>
<value>true</value>;
</property>
2.添加参数
<property>
<name>hive.server2.thrift.bind.host</name>
<value>172.16.104.226</value>
</property>
ip为hiveserver2本机ip
3.确认参数
在所有hiveserver2节点确认如下参数是否一致,不一致请修改
<property>
<name>hive.server2.zookeeper.namespace</name>
<value>hiveserver2_zk</value>
</property>
------------------------
<property>
<name>hive.server2.support.dynamic.service.discovery</name>
<value>true</value>
</property>
三、创建认证文件
步骤1. 登陆freeipa,依次点击身份---->服务---->添加hd3的principal
如下图红框中的内容。其中hive为服务名称,hd3.ststack.com为主机名,DRSTACK.COM为域名,请根据实际修改
步骤2. 登陆hd3节点
步骤3. 执行kinit admin
ipa-getkeytab -s hd.dtstack.com -p hive/hd3.dtstack.com@DTSTACK.COM -k /etc/security/keytab/hive.keytab
步骤4. 修改keytab权限为644,属组为hive:hive
chmod 644 /etc/security/keytab/hive.keytab
chown hive:hive /etc/security/keytab/hive.keytab
四、添加ranger插件
步骤1. 进入原hiveserver2安装目录
步骤2. scp -r /opt/ranger-2.3.0-hive-plugin hd3:/opt/
步骤3. 编辑 install.properties
vi /opt/ranger-2.3.0-hive-plugin/ install.properties
修改红框中的主机名为当前主机名
步骤4. 执行初始化脚本enable-hive-plugin.s
./enable-hive-plugin.s
步骤5. 检查文件是否正常生成
步骤6. 登陆ranger界面,点击Audit---->PLugins查看权限是否同步
五、启动hiveserver2
步骤1. 执行如下命令启动hiveserver2
sudo -u hive /opt/hive/bin/hive --service hiveserver2>/var/log/hive/hiveserver2.log 2>&1 &
六、验证
步骤1. 登陆zk节点
cd /opt/zookeeper/bin
./zkCli.sh -server hd2
步骤2. 执行ls /hiveserver2_zk,结果如下图说明已经成功
步骤3. 登陆节点执行kinit认证
步骤4. 执行beeline命令查看是否可用
beeline -u 'jdbc:hive2://hd1:2181,hd3:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2_zk'