• hive安装


    今天安装了hive数据库,参考的尚硅谷的安装方法,便捷高效,安装过程如下

    Hive 官网地址:http://hive.apache.org/

    下载地址:http://archive.apache.org/dist/hive/

    安装 Hive
    1)把 apache-hive-3.1.2-bin.tar.gz 上传到 linux 的/opt/software 目录下
    2)解压 apache-hive-3.1.2-bin.tar.gz 到/opt/module/目录下面
    [atguigu@hadoop102 software]$ tar -zxvf /opt/software/apache-hive-3.1.2-
    bin.tar.gz -C /opt/module/
    3)修改 apache-hive-3.1.2-bin.tar.gz 的名称为 hive
    [atguigu@hadoop102 software]$ mv /opt/module/apache-hive-3.1.2-bin/
    /opt/module/hive
    4)修改/etc/profile.d/my_env.sh,添加环境变量
    [atguigu@hadoop102 software]$ sudo vim /etc/profile.d/my_env.sh
    5)添加内容
    #HIVE_HOME
    export HIVE_HOME=/opt/module/hive
    export PATH=$PATH:$HIVE_HOME/bin
    6)解决日志 Jar 包冲突
    [atguigu@hadoop102 software]$ mv $HIVE_HOME/lib/log4j-slf4j-impl2.10.0.jar $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.bak
    7)初始化元数据库
    [atguigu@hadoop102 hive]$ bin/schematool -dbType derby -initSchema
    2.2.2 启动并使用 Hive
    1)启动 Hive
    [atguigu@hadoop102 hive]$ bin/hive

    这样hive就启动完成了。Hive 默认使用的元数据库为 derby,开启 Hive 之后就会占用元数据库,且不与其他客户端共享数据,所以我们需要将 Hive 的元数据地址改为 MySQL。

    步骤如下:

    MySQL 安装
    1)检查当前系统是否安装过 MySQL
    [atguigu@hadoop102 ~]$ rpm -qa|grep mariadb
    mariadb-libs-5.5.56-2.el7.x86_64
    //如果存在通过如下命令卸载
    [atguigu @hadoop102 ~]$ sudo rpm -e --nodeps mariadb-libs
    2)将 MySQL 安装包拷贝到/opt/software 目录下
    [atguigu @hadoop102 software]# ll
    总用量 528384
    -rw-r--r--. 1 root root 609556480 3 月 21 15:41 mysql-5.7.28-
    1.el7.x86_64.rpm-bundle.tar
    3)解压 MySQL 安装包
    [atguigu @hadoop102 software]# tar -xf mysql-5.7.28-1.el7.x86_64.rpmbundle.tar

    在安装目录下执行 rpm 安装
    [atguigu @hadoop102 software]$
    sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
    sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
    sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
    sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
    sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

    删除/etc/my.cnf 文件中 datadir 指向的目录下的所有内容,如果有内容的情况下:
    查看 datadir 的值:
    [mysqld]
    datadir=/var/lib/mysql
    删除/var/lib/mysql 目录下的所有内容:
    [atguigu @hadoop102 mysql]# cd /var/lib/mysql
    [atguigu @hadoop102 mysql]# sudo rm -rf ./* //注意执行命令的位置
    6)初始化数据库
    [atguigu @hadoop102 opt]$ sudo mysqld --initialize --user=mysql
    7)查看临时生成的 root 用户的密码
    [atguigu @hadoop102 opt]$ sudo cat /var/log/mysqld.log

    启动 MySQL 服务

    [atguigu @hadoop102 opt]$ sudo systemctl start mysqld

    9)登录 MySQL 数据库

    [atguigu @hadoop102 opt]$ mysql -uroot -p

    Enter password: 输入临时生成的密码

     登录成功.

    10)必须先修改 root 用户的密码,否则执行其他的操作会报错

    mysql> set password = password("新密码");

    11)修改 mysql 库下的 user 表中的 root 用户允许任意 ip 连接

    mysql> update mysql.user set host='%' where user='root';

    mysql> flush privileges;

    Hive 元数据配置到 MySQL

    2.4.1 拷贝驱动

    将 MySQL 的 JDBC 驱动拷贝到 Hive 的 lib 目录下

    [atguigu@hadoop102 software]$ cp /opt/software/mysql-connector-java5.1.37.jar $HIVE_HOME/lib

    2.4.2 配置 Metastore 到 MySQL

    1)在$HIVE_HOME/conf 目录下新建 hive-site.xml 文件

    [atguigu@hadoop102 software]$ vim $HIVE_HOME/conf/hive-site.xml

    添加如下内容

    <?xml version="1.0"?>

    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <configuration>

     <!-- jdbc 连接的 URL -->

     <property>

     <name>javax.jdo.option.ConnectionURL</name>

     <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value>

    </property>

     <!-- jdbc 连接的 Driver-->

     <property>

     <name>javax.jdo.option.ConnectionDriverName</name>

     <value>com.mysql.jdbc.Driver</value>

    </property>

    <!-- jdbc 连接的 username-->

     <property>

     <name>javax.jdo.option.ConnectionUserName</name>

     <value>root</value>

     </property>

     <!-- jdbc 连接的 password -->

     <property>

     <name>javax.jdo.option.ConnectionPassword</name>

     <value>000000</value>

    </property>

     <!-- Hive 元数据存储版本的验证 -->

     <property>

     <name>hive.metastore.schema.verification</name>

     <value>false</value>

    </property>

     <!--元数据存储授权-->

     <property>

     <name>hive.metastore.event.db.notification.api.auth</name>

     <value>false</value>

     </property>

     <!-- Hive 默认在 HDFS 的工作目录 -->

     <property> 

     <name>hive.metastore.warehouse.dir</name>

     <value>/user/hive/warehouse</value>

     </property>

    </configuration>

    2)登陆 MySQL

    [atguigu@hadoop102 software]$ mysql -uroot -p000000

    3)新建 Hive 元数据库

    mysql> create database metastore;

    mysql> quit;

    4) 初始化 Hive 元数据库

    [atguigu@hadoop102 software]$ schematool -initSchema -dbType mysql -

    verbose

    2.4.3 再次启动 Hive

    1)启动 Hive

    [atguigu@hadoop102 hive]$ bin/hive

    能进去就说明hive启动成功了。

  • 相关阅读:
    [SSRS] Use Enum values in filter expressions Dynamics 365 Finance and Operation
    Power shell deploy all SSRS report d365 FO
    display method in Dynamics 365 FO
    How To Debug Dynamics 365 Finance and Operation
    Computed columns and virtual fields in data entities Dynamics 365
    Azure DevOps for Power Platform Build Pipeline
    Create readonly entities that expose financial dimensions Dynamics 365
    Dataentity call stack dynamics 365
    Dynamics 365 FO extension
    Use singletenant servertoserver authentication PowerApps
  • 原文地址:https://www.cnblogs.com/092e/p/15525552.html
Copyright © 2020-2023  润新知