hive2.3.7安装部署-问题:show databases;没反应

目录

一、安装包准备

二、安装mysql

三、hive安装

四、hive启动

五、问题

环境:CentOS7.2.xx、hadoop2.6.4、jdk1.8.0xx、mysql-5.7.38

        hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能。hive本身不存数据也不计算,数据存储在hadoop的hdfs中,它也不做数据计算,只是将SQL转化为MapReduce程序。所以部署hive,首先要部署hadoop。此处假设hadoop已部署好且启动正常。

一、安装包准备

二、安装mysql

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

1、卸载Centos7自带mariadb

rpm -qa|grep mariadb
# mariadb-libs-5.x.x-1.el7.x86_64
# 卸载
rpm -e mariadb-libs-5.5.x.x-1.el7.x86_64 --nodeps

2、解压安装包:tar -xvf mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar 

3、安装

rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm

4、启动mysql:systemctl start mysqld

5、查看并修改生成的随机密码:cat /var/log/mysqld.log | grep password

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

 6、授予远程连接权限:

grant all privileges on *.* to 'root' @'%' identified by '123456';
# 刷新
flush privileges;

三、hive安装

1、解压:tar -xvzf apache-hive-2.3.7-bin.tar.gz

2、修改hive配置文件

cd /opt/hive-2.3.7/apache-hive-2.3.7-bin/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh

添加hadoop环境变量:export HADOOP_HOME=/opt/hadoop-2.6.4

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

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- 存储元数据mysql相关配置 /etc/hosts -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>
</configuration>

 3、将mysql-jdbc驱动拷贝到hive目录

cp mysql-connector-java-5.1.42.jar /opt/hive-2.3.7/apache-hive-2.3.7-bin/lib/

4、初始化元数据库

cd /opt/hive-2.3.7/apache-hive-2.3.7-bin/bin
./schematool -dbType mysql -initSchema

5、初始化成功会在mysql中创建表

四、hive启动

为了方便使用hive命令,可以添加环境变量

vim /etc/profile

使文件生效:source /etc/profile

        启动前确保hadoop已启动

        启动hive输入:hive

启动后输入:show databases;能显示默认库即安装成功。 

五、问题

        中间遇到输入show databases;  一直没反应的问题,查看日志文件,路径在/tmp/root/hive.log

tail -f /tmp/root/hive.log 

显示驱动未找到,核实驱动在的。经过百度后发现是配置文件$HIVE_HOME/conf/hive-site.xml内配置有问题:原因是配置文件中的中的内容必须在同一行上且不能有空格,即不能包含换行符和空格,否则就会出错,请检查其它的配置是否还在存在这类问题。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值