Hive数据仓库组件
1.1. 实验目的
掌握 Hive 组件安装配置 掌握 Hive 组件格式化和启动
1.2. 实验要求
熟悉 Hive 组件安装配置 了解 Hive 组件格式化和启动
1.3. 实验环境 本实验所需 资源环境
服务器集群 3 个以上节点,节点间网络互通,各节点最低配置:双核 CPU、8GB 内存、 100G 硬盘
运行环境 CentOS 7.4
服务和组件 完成前面章节实验,其他服务及组件根据实验需求安装
1.4.实验过程
任务一:下载和解压安装文件
1. 解压安装文件 [root@master ~]# tar zxf tools/apache-hive-2.0.0-bin.tar.gz -C /usr/local/src/ [root@master ~]# mv /usr/local/src/apache-hive-2.0.0-bin/ /usr/local/src/hive [root@master ~]# chown -R hadoop:hadoop /usr/local/src/hive
任务二:设置 Hive 环境 1. 卸载 MariaDB 数据库
[root@master ~]# rpm -qa | grep mariadb mariadb-libs-5.5.56-2.el7.x86_64 [root@master ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
2. 安装 MySQL 数据[root@master tools]# cd mysql-5.7.18/ [root@master mysql-5.7.18]# rpm -ivh mysql-community-common-5.7.18- 1.el7.x86_64.rpm
[root@master mysql-5.7.18]# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
[root@master mysql-5.7.18]# rpm -ivh mysql-community-client-5.7.18- 1.el7.x86_64.rpm
[root@master mysql-5.7.18]# rpm -ivh mysql-community-server-5.7.18- 1.el7.x86_64.rpm
!按顺序安装
[root@master mysql-5.7.18]# vim /etc/my.cnf
[root@master mysql-5.7.18]# tail -n 8 /etc/my.cnf
symbolic-links=0
default-storage-engine=innodb
innodb_file_per_table collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@master mysql-5.7.18]# systemctl status mysqld
● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since 四 2022-03-03 15:42:01 CST; 3s ago Docs: man:mysqld(8)
查看mysql默认密码
[root@master mysql-5.7.18]# cat /var/log/mysqld.log | grep password
root@localhost: qiOEJtBGS6_f
MySQL 数据库初始化。
Change the password for root ? ((Press y|Y for Yes, any other key for No)表示是否更改 root 用户密码,在键盘输入 y 和回车。
2)Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No)表示是否使用设定的密码继续,在键盘输入 y 和回车。
3)Remove anonymous users? (Press y|Y for Yes, any other key for No)表示是 否删除匿名用户,在键盘输入 y 和回车。
4)Disallow root login remotely? (Press y|Y for Yes, any other key for No) 表示是否拒绝 root 用户远程登录,在键盘输入 n 和回车,表示允许 root 用户远程登录。
5)Remove test database and access to it? (Press y|Y for Yes, any other key for No)表示是否删除测试数据库,在键盘输入 y 和回车。
6)Reload privilege tables now? (Press y|Y for Yes, any other key for No) 表示是否重新加载授权表,在键盘输入 y 和回车。
[root@master mysql-5.7.18]# mysql_secure_installation
添加 root 用户从本地和远程访问 MySQL 数据库表单的授权
)设置 Hive 环境变量并使其生效。 # 在文件末尾追加以下配置内容
[root@master ~]# vi /etc/profile
# set hive environment export HIVE_HOME=/usr/local/src/hive export PATH=$PATH:$HIVE_HOME/bin # 使环境变量配置生效
[root@master ~]# source /etc/profile
修改 Hive 组件配置文件。
切换到 hadoop 用户执行以下对 Hive 组件的配置操作。 将/usr/local/src/hive/conf 文件夹下 hive-default.xml.template 文件,更名为 hive-site.xml。
[root@master ~]# su - hadoop
[hadoop@master ~]$ cp /usr/local/src/hive/conf/hive-default.xml.template /usr/local/src/hive/conf/hive-site.xml
通过 vi 编辑器修改 hive-site.xml 文件实现 Hive 连接 MySQL 数据库,并设定 Hive 临时文件存储路径。
[hadoop@master ~]$ vi /usr/local/src/hive/conf/hive-site.xml
设置 MySQL 数据库连接。
javax.jdo.option.ConnectionURL jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&us eSSL=false JDBC connect string for a JDBC metastore
配置 MySQL 数据库 root 的密码。
javax.jdo.option.ConnectionPassword Password123$ password to use against s database
验证元数据存储版本一致性。若默认 false,则不用修改。
hive.metastore.schema.verification false Enforce metastore schema version consistency. True: Verify that version information stored in is compatible with one from Hive jars. Also disable automatic False: Warn if the version information stored in metastore doesn't match with one from in Hive jars. 4)配置数据库驱动。
javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver Driver class name for a JDBC metastore
配置数据库用户名 javax.jdo.option.ConnectionUserName 为 root。 javax.jdo.option.ConnectionUserName root Username to use against metastore database
将以下位置的 ${system:java.io.tmpdir}/${system:user.name} 替换为 “/usr/local/src/hive/tmp”目录及其子目录。 需要替换以下 4 处配置内容:
hive.querylog.location /usr/local/src/hive/tmp Location of Hive run time structured log file hive.exec.local.scratchdir /usr/local/src/hive/tmp hive.downloaded.resources.dir /usr/local/src/hive/tmp/resources hive.server2.logging.operation.log.location /usr/local/src/hive/tmp/operation_logs 7)
在 Hive 安装目录中创建临时文件夹 tmp。 [hadoop@master ~]$ mkdir /usr/local/src/hive/tmp 至此,Hive 组件安装和配置完成
初始化 hive 元数据
将 MySQL 数据库驱动(/opt/software/mysql-connector-java-5.1.46.jar)拷贝到 Hive 安装目录的 lib 下;
[hadoop@master ~]$ cp /opt/software/mysql-connector-java-5.1.46.jar /usr/local/src/hive/lib/
重新启动 hadooop 即可
[hadoop@master lib]$ stop-all.sh [hadoop@master lib]$ start-all.sh
初始化数据库 [hadoop@master ~]$schematool -initSchema -dbType mysql
启动 hive
[hadoop@master ~]$ hive