kerberos系列之hive认证配置
大数据安全系列之hive的kerberos认证配置,其它系列链接如下
https://www.cnblogs.com/bainianminguo/p/12548076.html-----------安装kerberos
https://www.cnblogs.com/bainianminguo/p/12548334.html-----------hadoop的kerberos认证
https://www.cnblogs.com/bainianminguo/p/12548175.html-----------zookeeper的kerberos认证
https://www.cnblogs.com/bainianminguo/p/12584732.html-----------hive的kerberos认证
https://www.cnblogs.com/bainianminguo/p/12584880.html-----------es的search-guard认证
https://www.cnblogs.com/bainianminguo/p/12639821.html-----------flink的kerberos认证
https://www.cnblogs.com/bainianminguo/p/12639887.html-----------spark的kerberos认证
一、安装mysql
1、卸载mariadb
[root@cluster2-host1 yum.repos.d]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@cluster2-host1 yum.repos.d]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@cluster2-host1 yum.repos.d]# rpm -qa|grep mariadb
2、创建mysql用户
[root@cluster2-host1 yum.repos.d]# groupadd mysql
[root@cluster2-host1 yum.repos.d]# useradd mysql -g mysql
3、下载mysql安装包
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
4、解压安装包
[root@cluster2-host1 data]# tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql/ [root@cluster2-host1 mysql]# ll
total 533048
-rw-r--r--. 1 7155 31415 27768112 Dec 19 03:12 mysql-community-client-5.7.29-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 318972 Dec 19 03:12 mysql-community-common-5.7.29-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 4085448 Dec 19 03:12 mysql-community-devel-5.7.29-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 47521016 Dec 19 03:12 mysql-community-embedded-5.7.29-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 23354680 Dec 19 03:12 mysql-community-embedded-compat-5.7.29-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 131015588 Dec 19 03:12 mysql-community-embedded-devel-5.7.29-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2596180 Dec 19 03:12 mysql-community-libs-5.7.29-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 1353080 Dec 19 03:12 mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 183618644 Dec 19 03:12 mysql-community-server-5.7.29-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 124193252 Dec 19 03:12 mysql-community-test-5.7.29-1.el7.x86_64.rpm
5、rpm的方式安装mysql
[root@cluster2-host1 mysql]# rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
warning: mysql-community-common-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-common-5.7.29-1.e################################# [100%]
[root@cluster2-host1 mysql]# rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
warning: mysql-community-libs-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-libs-5.7.29-1.el7################################# [100%]
[root@cluster2-host1 mysql]# rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm
warning: mysql-community-client-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-client-5.7.29-1.e################################# [100%]
[root@cluster2-host1 mysql]# rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
net-tools is needed by mysql-community-server-5.7.29-1.el7.x86_64
[root@cluster2-host1 mysql]# yum install net-tools -y [root@cluster2-host1 mysql]# rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-server-5.7.29-1.e################################# [100%]
6、启动mysql
[root@cluster2-host1 mysql]# service mysqld start
7、查看mysql的临时密码
[root@cluster2-host1 mysql]# grep "A temporary password" /var/log/mysqld.log
2020-03-02T07:59:38.098144Z 1 [Note] A temporary password is generated for root@localhost: ln/Ot4j-j#hQ
[root@cluster2-host1 mysql]#
8、修改mysql的临时密码
set global validate_password_policy=0;
set global validate_password.length=1;
alter user user() identified by "123456";
9、设置mysql支持远程访问
[root@cluster2-host1 conf]# mysql -u root -p
update user set host = '%' where user = 'root';
10、在其它节点确认可以远程访问mysql即可
mysql -h 10.87.18.34 -p3306 -uroot -p
二、安装hive
1、解压和重命名hive安装路径
538 tar -zxvf apache-hive-1.2.0-bin.tar.gz -C /usr/local/
539 cd /usr/local/
540 ll
541 mv apache-hive-1.2.0-bin/ hive
2、修改hive的env文件
[root@cluster2-host1 conf]# pwd
/usr/local/hive/conf
[root@cluster2-host1 conf]# cp hive-env.sh.template hive-env.sh
3、修改hive-env文件
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/local/hive/conf
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export PATH=${HIVE_HOME}/bin:$PATH:$HOME/bin:
4、修改hive的配置文件
vim hive-default.xml
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>mysql
<value>jdbc:mysql://10.87.18.34:3306/hive?</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
5、安装hive的mysql驱动
拷贝驱动到hive/lib目录
474 cd mysql-connector-java-5.1.48
475 ll
476 cp mysql-connector-java-5.1.48-bin.jar /usr/local/hive/lib/
6、在mysql中创建hive的database
mysql> create database hive;
Query OK, 1 row affected (0.00 sec) mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| hive |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
7、拷贝mysql连接驱动到其他未按照hive的节点
[root@cluster2-host1 lib]# scp mysql-connector-java-5.1.48-bin.jar root@cluster2-host2:/usr/local/hive/lib/
mysql-connector-java-5.1.48-bin.jar 100% 983KB 983.4KB/s 00:00
[root@cluster2-host1 lib]# scp mysql-connector-java-5.1.48-bin.jar root@cluster2-host3:/usr/local/hive/lib/
mysql-connector-java-5.1.48-bin.jar
三、配置hive的kerberos配置
1、创建主体文件
kadmin.local: addprinc hive/cluster2-host1 kadmin.local: ktadd -norandkey -k /etc/security/keytab/hive.keytab hive/cluster2-host1
2、拷贝秘钥文件到hive的目录
scp /etc/security/keytab/hive.keytab /usr/local/hive/conf/
3、修改hive的配置文件
<property>
<name>hive.server2.enable.doAs</name>
<value>true</value>
</property>
<property>
<name>hive.server2.authentication</name>
<value>KERBEROS</value>
</property>
<property>
<name>hive.server2.authentication.kerberos.principal</name>
<value>hive/cluster2-host1@HADOOP.COM</value>
</property>
<property>
<name>hive.server2.authentication.kerberos.keytab</name>
<value>/usr/local/hive/conf/hive.keytab</value>
</property>
<property>
<name>hive.server2.authentication.spnego.keytab</name>
<value>/usr/local/hive/conf/hive.keytab</value>
</property>
<property>
<name>hive.server2.authentication.spnego.principal</name>
<value>hive/cluster2-host1@HADOOP.COM</value>
</property>
<property>
<name>hive.metastore.sasl.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.kerberos.keytab.file</name>
<value>/usr/local/hive/conf/hive.keytab</value>
</property>
<property>
<name>hive.metastore.kerberos.principal</name>
<value>hive/cluster2-host1@HADOOP.COM</value>
</property>
4、修改hadoop的core-site.xml配置文件
<property>
<name>hadoop.proxyuser.hive.users</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hive.hosts</name>
<value>*</value>
</property>
5、启动hive
[root@cluster2-host1 hive]# nohup ./bin/hive --service metastore > metastore.log 2>&1 &
[1] 5637
[root@cluster2-host1 hive]# nohup ./bin/hiveserver2 > hive.log 2>&1 &
[2] 7361
6、通过beeline的方式连接hive
[root@cluster2-host1 hive]# ./bin/beeline -u "jdbc:hive2://cluster2-host1:10000/default;principal=hive/cluster2-host1@HADOOP.COM"
ls: cannot access /usr/local/spark/lib/spark-assembly-*.jar: No such file or directory
Connecting to jdbc:hive2://cluster2-host1:10000/default;principal=hive/cluster2-host1@HADOOP.COM
Connected to: Apache Hive (version 1.2.0)
Driver: Hive JDBC (version 1.2.0)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 1.2.0 by Apache Hive
0: jdbc:hive2://cluster2-host1:10000/default>
7、登陆进去创建hive表
create database myhive;
CREATE TABLE student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\n' STORED AS TEXTFILE;
查看创建的表
0: jdbc:hive2://cluster2-host1:10000/default> show tables;
+------------+--+
| tab_name |
+------------+--+
| student |
| test1 |
| test2 |
| test3 |
| test4 |
| test_user |
+------------+--+
8、检查mysql有hive的元数据信息

9、准备本地数据
2014001 小王1
2014002 小李2
2014003 小明3
2014004 阿狗4
2014005 姚明5
10、上传数据
load data local inpath '/data/hive.txt' into table test1;
11、查看hdfs上的 数据
[root@cluster2-host1 data]# hdfs dfs -ls /user/hive/warehouse/test1
Found 1 items
-rwxr-xr-x 2 hdfs supergroup 112 2020-03-05 04:55 /user/hive/warehouse/test1/hive.txt
kerberos系列之hive认证配置的更多相关文章
- kerberos系列之flink认证配置
大数据安全系列的其它文章 https://www.cnblogs.com/bainianminguo/p/12548076.html-----------安装kerberos https://www. ...
- C#进阶系列——WebApi 身份认证解决方案:Basic基础认证
前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题.也就是说,任何人只要知道了接口的url,都能够模拟http请求去访问我们的服务接口,从而去增删改查数据库,这后果想 ...
- Hadoop 2.4.1 登录认证配置小结
1.简单模式 这种模式,配置简单,使用简单. core-site.xml添加 <property> <name>hadoop.security.authorization< ...
- #进阶系列——WebApi 身份认证解决方案:Basic基础认证
阅读目录 一.为什么需要身份认证 二.Basic基础认证的原理解析 1.常见的认证方式 2.Basic基础认证原理 三.Basic基础认证的代码示例 1.登录过程 2./Home/Index主界面 3 ...
- Hive安装配置指北(含Hive Metastore详解)
个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...
- 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
上篇文章<深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)>我们通过对mybatis源码的简单分析,可看出,在mybatis配置文件中,在configuration根 ...
- Hadoop之Hive(2)--配置Hive Metastore
Hive metastore服务以关系性数据库的方式存储Hive tables和partitions的metadata,并且提供给客户端访问这些数据的metastore service的API.下面介 ...
- nginx用户认证配置( Basic HTTP authentication)
ngx_http_auth_basic_module模块实现让访问着,只有输入正确的用户密码才允许访问web内容.web上的一些内容不想被其他人知道,但是又想让部分人看到.nginx的http aut ...
随机推荐
- [PHP] 报错和“@” - 工作
以下几点关于报错和@的关系理解 在PHP中使用@加在某个语句前面,可以抑制错误在脚本的执行过程中输出到IO: 如果在某个语句上使用了@,则可以将语句内的各种嵌套的脚本可能存在的报错都会被抑制住: 如果 ...
- Jmeter运行不显示cmd对话框
1.Jmeter运行不显示cmd对话框 如图所示,在Jmeter的bin目录下新建一个vbs的脚本,脚本内容为: Dim wsh Set wsh=WScript.CreateObject(" ...
- /lib64/libc.so.6: version `GLIBC_2.18' not found报错解决
今日安装一区块链服务时报错:/lib64/libc.so.6: version `GLIBC_2.18' not found,检查后现有的glibc版本是2.17,然后参考https://www.ji ...
- HTC“卖身”:那些辉煌、落寞与终结
9月21日,HTC董事会决议通过与谷歌签订合作协议书.前者专注Pixel手机设计研发人才加入谷歌,HTC知识产权非专属授权予Google使用,交易作价11亿美元.事实上,这与微软收购诺基亚不同,并非是 ...
- 苹果为何要一定要去印度生产iPhone
现在,关于苹果手机有几种流行的猜想和期待,今年恰逢iPhone问世十周年,新产品估计会有颠覆性创新,消费者正望穿秋水,翘首企盼,但只需待到金秋便可知晓,何况iPhone8或许也就是一小撮发烧友的选 ...
- 手写实现vue的MVVM响应式原理
文中应用到的数据名词: MVVM ------------------ 视图-----模型----视图模型 三者与 Vue 的对应:view 对应 te ...
- OO第四单元总结暨学期总结
一.第四单元作业架构设计 我们第四单元围绕UML图展开,在第四单元开始之前,本来以为我们的工作是学习如何使用UML工具,开始后才意识到我们要做的是解析UML类图.顺序图和状态图.当然,让我们解析的只是 ...
- 启动时查看配置文件application.yml
Spring Boot Application 事件和监听器 在多环境的情况下. 可能需要切换配置文件的一个对应的属性来切换环境 面临的问题就是 如何在springboot加载完配置文件的时候就可以立 ...
- 使用 GitHub 开源项目申请 IntelliJ License
一.写在前面 这次要介绍的是通过使用 GitHub 上的开源项目来申请 IntelliJ Pycharm 的正版 License,只需在 GitHub 上准备一个维护超过3个月的开源项目,就能免费使用 ...
- SDWebImage -- 封装 (网络状态检测,是否打开手机网络下下载高清图设置)
对SDWebImage 进行封装,为了更好的节省用户手机流量,并保证在移动网络下也展示高清图,对使用SDWebImage 下载图片之前进行逻辑处理,根据本地缓存中是否有缓存原始的图片,用户是否打开移动 ...