当前位置:   article > 正文

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

showdatabases没反应

目录

一、安装包准备

二、安装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

  1. rpm -qa|grep mariadb
  2. # mariadb-libs-5.x.x-1.el7.x86_64
  3. # 卸载
  4. 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、安装

  1. rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm
  2. rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm
  3. rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm
  4. 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

  1. # 登录mysql
  2. mysql -u root -p
  3. Enter password:     #输入在日志中生成的临时密码
  4. # 更新root密码 设置为root
  5. set global validate_password_policy=0;
  6. set global validate_password_length=1;
  7. 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配置文件

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

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

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

  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <configuration>
  4. <!-- 存储元数据mysql相关配置 /etc/hosts -->
  5. <property>
  6. <name>javax.jdo.option.ConnectionURL</name>
  7. <value>jdbc:mysql://hadoop:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
  8. </property>
  9. <property>
  10. <name>javax.jdo.option.ConnectionDriverName</name>
  11. <value>com.mysql.jdbc.Driver</value>
  12. </property>
  13. <property>
  14. <name>javax.jdo.option.ConnectionUserName</name>
  15. <value>root</value>
  16. </property>
  17. <property>
  18. <name>javax.jdo.option.ConnectionPassword</name>
  19. <value>123456</value>
  20. </property>
  21. </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内配置有问题:原因是配置文件中的中的内容必须在同一行上且不能有空格,即不能包含换行符和空格,否则就会出错,请检查其它的配置是否还在存在这类问题。

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/633469
推荐阅读
  

闽ICP备14008679号