Hive安装详细步骤

Hive安装详细步骤一 下载 hive 下载 hive 地址 http mirror bit edu cn apache hive 二 安装 mysql 执行以下几个命令安装 mysqlsu rootyum yinstallmysq servermysql develwgethtt dev mysql com get mysql community release el7 5 noarch rpmrpm ivhmysql community release el7 5

一、下载hive

下载hive——地址:http://mirror.bit.edu.cn/apache/hive/

Hive安装详细步骤

二、安装mysql

执行以下几个命令安装8.0版本mysql

//1、下载MySQLyum源(8.0版本的) wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm (5.7版本的) wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm //2、添加MySQLyum源 sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm (5.7版本) sudo yum localinstall mysql57-community-release-el7-10.noarch.rpm //3、MySQL的GPG升级了,需要更新,如果是新安装的MySQL,执行以下脚本即可: rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 //4、安装MySQL客户端 yum -y install mysql-community-server

 开启mysql服务

# 1、开启Mysql服务 sudo service mysqld start # 2、查看mysql是否开启 sudo servicee mysqld status # 重启mysql服务 sudo service mysqld restart # 3、查看初始密码 sudo grep 'temporary password' /var/log/mysqld.log # 4、进入mysql客户端,输入查询到的初始化密码 mysql -uroot -p

mysql密码设置

# 1、首先要修改密码,高版本的mysql默认必须修改密码才能正常使用,所以如果不修改密码不能做任何事 alter user 'root'@'localhost' identified by '新密码' 注意:因为我们还没有改密码的复杂度,所以这里的密码必须足够复杂,后面会改简单的 # 2、查看mysql初始化密码的策略 SHOW VARIABLES LIKE 'validate_password%'; mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 6 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | LOW | | validate_password.special_char_count | 1 | +--------------------------------------+-------+ 7 rows in set (0.00 sec) # 3、修改密码验证强度(重启后就失效) set global validate_password.policy=LOW; # 4、修改密码允许最短长度,不能小于4 set global validate_password.length=6; # 5、修改简单密码 alter user 'root'@'localhost' identified by '000000';

 设置mysql远程登陆

8.0版本以前

# 1、修改权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION; # %表示所有远程机器 # root表示远程登陆后使用root用户 # *.*表示所有表 # 刷新权限 flush privileges;

8.0版本的因为有新的安全要求,不能自己给自己授权,所以要新建一个用户,通过那个用户来授权

# 1、查看mysql用户 use mysql; select user, host from user; mysql> select user, host from user; +------------------+-----------+ | user | host | +------------------+-----------+ | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 4 rows in set (0.00 sec) # 2、新建用户 create user 'hadoop100'@'%' identified by '000000'; # hadoop100表示用户名 # %表示任意ip # 000000表示该用户的密码,记得如果重启需要从新修改密码验证策略 # 3、为用户授权 grant all on *.* to 'hadoop100'@'%'; # 4、刷新权限 flush privileges;

mysql开机自启动(在linux中执行)

systemctl enable mysqld

三、解压与配置

①进入到存放hive的目录下,输入以下命令解压到指定目录下

Hive安装详细步骤

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/modules/ 

②配置文件重命名

将hive-defaultxml.template重命名为hive-site.xml

将hive-env.sh.template重命名为hive-env.sh

将hive-log4j.properties.template重命名为hive-log4j.properties

③修改配置

1、修改hive-env.sh配置

添加JAVA_HOME和HADOOP_HOME,exportHIVE_CONF_DIR(即hive的conf目录地址)

Hive安装详细步骤

2、修改hive-site.xml配置

 
   
   
   
     javax.jdo.option.ConnectionURL 
    
   
     jdbc:mysql://hadoop100:3306/metastore?createDatabaseIfNotExist=true 
    
   
     JDBC connect string for a JDBC metastore 
    
   
   
   
   
     javax.jdo.option.ConnectionDriverName 
    
   
     com.mysql.jdbc.Driver 
    
   
     Driver class name for a JDBC metastore 
    
   
   
   
   
     javax.jdo.option.ConnectionUserName 
    
   
     root 
    
   
     username to use against metastore database 
    
   
   
   
   
     javax.jdo.option.ConnectionPassword 
    
   
     000000 
    
   
     password to use against metastore database 
    
   
   
   
   
     hive.cli.print.header 
    
   
     true 
    
   
     Whether to print the names of the columns in query output. 
    
   
   
   
   
     hive.cli.print.current.db 
    
   
     true 
    
   
     Whether to include the current database in the Hive prompt. 
    
   
   
   
   
     hive.fetch.task.conversion 
    
   
     more 
    
   
     Some select queries can be converted to single FETCH task minimizing latency. Currently the query should be single sourced not having any subquery and should not have any aggregations or distincts (which incurs RS), lateral views and joins. 1. minimal : SELECT STAR, FILTER on partition columns, LIMIT only 2. more : SELECT, FILTER, LIMIT only (TABLESAMPLE, virtual columns) 
    
   

3、修改hive-log4j.properties配置

Hive安装详细步骤

4、拷贝数据库驱动包到hive的lib目录中

cp mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /opt/modules/hive-3.1.2/lib/

四、打开hive

1、启动Hive,在hive目录下

bin/hive

2、修改HDFS系统中关于Hive的一些目录权限

/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/bin/hadoop fs -chmod 777 /tmp/ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/bin/hadoop fs -chmod 777 /user/hive/warehouse

五、配置HiveServer2(注:1.几版本的hive不用配)

 
   
   
     hive.server2.long.polling.timeout 
    
   
     5000 
    
   
     Time in milliseconds that HiveServer2 will wait, before responding to asynchronous calls that use long polling 
    
   
   
   
     hive.server2.thrift.bind.host 
    
   
     hadoop100 
    
   
     Bind host on which to run the HiveServer2 Thrift interface. Can be overridden by setting $HIVE_SERVER2_THRIFT_BIND_HOST 
    
   
   
   
     hive.server2.enable.doAs 
    
   
     false 
    
   
     Setting this property to true will have HiveServer2 execute Hive operations as the user making the calls to it. 
    
  

六、安装hive出现的一些错误

1、Exception in thread “main” java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

Hive安装详细步骤

解决方案:在hive 配置文件hive-site.xml 中找到${system:java.io.tmpdir},

并把所有的${system:java.io.tmpdir}都替换成具体目录,如/opt/modules/hive-0.13.1-cdh5.3.6/tmp即可

2、使用hive语句时出现:

Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name%7D

Hive安装详细步骤

解决方案:

①进入hive-site.xml配置文件中

 
   
   
     hive.exec.local.scratchdir 
    
   
     /opt/modules/hive-0.13.1-cdh5.3.6/tmp/${System:user.name} 
    
   
     Local scratch space for Hive jobs 
    
  

配置改为如下配置即可,其它地方可以不用改

 
   
   
     hive.exec.local.scratchdir 
    
   
     /opt/modules/hive-0.13.1-cdh5.3.6/tmp/${user.name} 
    
   
     Local scratch space for Hive jobs 
    
  

3、在Hive中无法执行任何命令java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.Session

hive的数据库MySQL在安装的时候没有初始化

# 在MySQL中 # 删除mysql中的元数据库 drop databases metastore; # 新建一个元数据库 create database metastore; # 在命令行中,重新初始化 schematool -dbType mysql -initSchema

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216528.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午11:39
下一篇 2026年3月18日 上午11:39


相关推荐

  • Hunyuan-MT-7B实战教程:基于FastAPI封装vLLM服务并添加JWT鉴权

    Hunyuan-MT-7B实战教程:基于FastAPI封装vLLM服务并添加JWT鉴权

    2026年3月13日
    2
  • 即梦3.0:真正可用的AI生图

    即梦3.0:真正可用的AI生图

    2026年3月13日
    2
  • 理解Object.defineProperty方法

    理解Object.defineProperty方法nbsp nbsp 之前没怎么对 Object defineProper 方法做深入了解 就知道可以通过这个方法可以设置对象的属性 现在稍微了解以后 发现还是有不少东西值得记录一下的 所以写下这篇博客 一 语法 Object defineProper obj prop descriptor nbsp nbsp nbsp nbsp obj 需要定义属性的对象 nbsp nbsp prop 需要定义的属性 nbsp nbsp descriptor 属性的描述描述符 nbsp

    2026年2月5日
    3
  • C++句柄类详解

    C++句柄类详解昨天由于时间的关系剩下一个小尾巴 今天忙里偷闲来把这个洞洞填上昨天学习了 面向对象编程 的部分 详细讨论了复制控制与类作用域需要注意的问题 这里有一个新的问题 如何实现一个类似 购物车 的数据结构呢 用过淘宝的同学们一定都晓得 购物车 应用 可以记录不同的商品 并且相同的商品可以显示次数 最后计算出总额 如果用 C 来实现的话 当然是首选容器对象了 由于是统计可以重复的对象 所以可以使用 multi

    2026年3月19日
    3
  • Ubuntu安装和配置ssh

    Ubuntu安装和配置ssh因为配置pypbc环境,需要windows系统下PycharmSSH连接虚拟机python环境1.安装ssh服务器sudoaptinstallopenssh-server2.安装ssh客

    2022年7月1日
    29
  • 使用vue-cli创建项目_vuecli3项目打包并运行

    使用vue-cli创建项目_vuecli3项目打包并运行vue-cli创建项目上一篇我们安装了vue-cli,接下来我们就使用该脚手架进行创建项目1.进入一个目录,创建项目创建项目命令如下:vuecreate<ProjectName&g

    2022年7月30日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号