• centos7上hive3.1.3安装及配置


    1、安装背景;

    hive是基于hadoop的数据仓库软件,部署运行在linux系统之上,安装之前必须保证hadoop环境运行正常,hive本身不是分布式软件,它的分布式主要是借助hadoop实现,存储是hdfs,计算是mapreduce。

    需要同时安装apache-hive-3.1.3-bin.tar.gz和mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar两个软件,因为hive的建表元数据需要保存到数据库中,共74张表,一般用mysql。

    2、配置mysql;

    Hive 允许将元数据存储于本地或远程的外部数据库中,这种设置可以支持 Hive 的多会话生产环
    境,在本案例中采用 MySQL 作为 Hive 的元数据存储库。

    (1)先卸载centos7自带的mariadb数据库, 因为mariadb5.5版本与hive3.x存在兼容性问题。

    1. # 查找centos7中是否有自带的mariadb数据库
    2. rpm -qa|grep mariadb
    3. # mariadb-libs-5.5.64-1.el7.x86_64
    4. #卸载
    5. rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps

    (2)上传mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar并解压;

    此处用“tar -zxvf mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar -C /opt/server/mysql/”命令,会解压失败。

    应该使用“tar xvf mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar -C /opt/server/mysql/”,如下图;

    (3)安装mysql5.7;

    ①安装必要的依赖包;

    此处是在系统根目录安装,其他位置应该也可以。

    1. # 安装依赖
    2. yum -y install libaio
    3. yum -y install libncurses*
    4. yum -y install perl perl-devel

    ②安装mysql;

    切换目录到“cd opt/server/mysql/”,执行下面四条命令;

    1. # 安装mysql
    2. rpm -ivh mysql-community-common-5.7.42-1.el7.x86_64.rpm
    3. rpm -ivh mysql-community-libs-5.7.42-1.el7.x86_64.rpm
    4. rpm -ivh mysql-community-client-5.7.42-1.el7.x86_64.rpm
    5. rpm -ivh mysql-community-server-5.7.42-1.el7.x86_64.rpm

    安装net-tools依赖包;

    yum -y install net-tools.x86_64

    安装mysql-community-server.xxxxx.rpm;

    rpm -ivh mysql-community-server-5.7.42-1.el7.x86_64.rpm

    (4)启动mysql;

    1. # 启动mysql
    2. systemctl start mysqld
    1. #查看生成的临时root密码
    2. cat /var/log/mysqld.log | grep password

    2023-09-05T03:19:52.654819Z 1 [Note] A temporary password is generated for root@localhost: pRyujui?H9gD

    (5)修改初始密码;

    1. # 登录mysql
    2. mysql -u root -p
    3. Enter password:     #输入在日志中生成的临时密码
    4. # 更新root密码 设置为sql2023
    5. set global validate_password_policy=0;
    6. set global validate_password_length=1;
    7. set password=password('sql2023');

    (6)远程授权;

    1. # 其中 *.*代表对所有表进行授权;‘root’ 代表 root 用户;‘%’ 代表所有的外部 IP;‘sql2023’ 代表自己设置的用户密码。
    2. grant all privileges on *.* to 'root' @'%' identified by 'sql2023';
    3. # 刷新
    4. flush privileges;

    退出mysql命令:"exit"

    (7)相关命令;

    1. #mysql的启动和关闭 状态查看
    2. systemctl stop mysqld
    3. systemctl status mysqld
    4. systemctl start mysqld
    5. #建议设置为开机自启动服务
    6. systemctl enable mysqld
    7. #查看是否已经设置自启动成功
    8. systemctl list-unit-files | grep mysqld

    3、Hive安装和配置;

    (1)上传hive安装包apache-hive-3.1.3-bin.tar.gz和mysql_jdbc驱动包mysql-connector-java-5.1.38.jar;

    (2)解压hive安装包;

    命令“tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/server/”;

    (3)添加mysql_jdbc驱动到hive安装包lib目录下;

    (4)修改hive-env.sh,加入hadoop安装路径;

    1. # 进入conf目录
    2. [root@server apache-hive-3.1.3-bin]# cd ./conf
    3. # 生成hive-env.sh文件
    4. cp hive-env.sh.template hive-env.sh
    5. #编辑hive-env.sh信息
    6. vim hive-env.sh

    # 加入hadoop路径
    HADOOP_HOME=/opt/server/hadoop-3.3.1

    (5)新建 hive-site.xml 文件,内容如下,主要是配置存放元数据的 MySQL 的地址、驱动、用户名和密码等信息;

    vim hive-site.xml

    1. "1.0"?>
    2. "text/xsl" href="configuration.xsl"?>
    3. <configuration>
    4.    
    5.    <property>
    6.        <name>javax.jdo.option.ConnectionURLname>
    7.        <value> jdbc:mysql://server:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8value>
    8.    property>
    9.    <property>
    10.        <name>javax.jdo.option.ConnectionDriverNamename>
    11.        <value>com.mysql.jdbc.Drivervalue>
    12.    property>
    13.    <property>
    14.        <name>javax.jdo.option.ConnectionUserNamename>
    15.        <value>rootvalue>
    16.    property>
    17.    <property>
    18.        <name>javax.jdo.option.ConnectionPasswordname>
    19.        <value>sql2023value>
    20.    property>
    21. configuration>

    (6)hive2j及以上版本,必须手动初始化元数据库;

    1. # 进入bin目录
    2. cd /opt/server/apache-hive-3.1.2-bin/bin
    3. # 初始化元数据库命令
    4. ./schematool -dbType mysql -initSchema

    (7)添加hive环境变量;

    1. #Hive
    2. export HIVE_HOME=/opt/server/apache-hive-3.1.3-bin
    3. export PATH=$PATH:${HIVE_HOME}/bin

    刷新,使其生效;

    source ./etc/profile

    (8)启动hive,测试功能;

    1. # 连接hive
    2. hive
    3. # 创建数据库
    4. create database test;
    5. # 列出所有数据库
    6. show databases;
    7. # 切换数据库
    8. use test;
    9. # 建表
    10. create table tb1(id int,name varchar(64));
    11. # 插入一条数据
    12. insert into table tb1 values(1,"wang");
    13. # 查询表数据
    14. select * from tb1;

    YARN有MapReduce程序执行;

    退出hive命令:"exit;"

  • 相关阅读:
    Vue-3.0路由
    API接口怎么使用(教你使用api接口获取数据)
    介绍正则表达式及其用法
    Docker镜像制作
    Python操作XML文件总结
    数据结构与算法复习:第三十七弹
    tomcat 的缓存机制
    npm install 一直在等待sill idealTree buildDeps
    大数据:Flume安装部署和配置
    MongoDB集合结构分析工具Variety
  • 原文地址:https://blog.csdn.net/shanxiderenheni/article/details/132683936