首页 > 其他分享 >搭建hive环境,并解决后启动hive命令报 hive: command not found的问题

搭建hive环境,并解决后启动hive命令报 hive: command not found的问题

时间:2024-03-26 18:01:24浏览次数:13  
标签:opt node01 hive command wjx 3.1 found root

一、问题解决 

1、问题复现

2、解决问题

        查阅资料得知该问题大部分是环境变量配置出了问题,我就输入以下命令进入配置文件检查自己的环境变量配置:

[root@node03 ~]# vi /etc/profile

        检查发现自己的hive配置没有问题 ,于是我就退出,然后更新了配置文件,更新命令如下

[root@node03 ~]# source /etc/profile

        再次启动hive命令,成功运行,那么问题原因找到了:修改环境变量配置文件后没有进行更新。

重要的事情说N遍: 修改环境变量配置后记得执行更新命令 

二、搭建hive环境流程梳理

        以下操作需要在linux上已经完成ZooKeeper,HaDoop-HDFS,Hadoop-Yarn三项的搭建,我这里在linux上准备了三个节点node01,node02,node03,并且三个节点都已经完成上述三项的搭建。

仅作流程梳理,不进行细节展开 。

2、官网地址


2.1、官网: https://hive.apache.org/
2.2、Hive 3.1.2 安装包下载: https://dlcdn.apache.org/hive/hive-3.1.2/

3、安装

        3.1、将下载好的安装包上传

                上传至node01:/root/目录,执行以下命令


# 本命令是解压该压缩安装包解压至指定的/opt/wjx/目录下
[root@node01 ~]# tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/wjx/
# 该命令是删除压缩包
[root@node01 ~]# rm apache-hive-3.1.2-bin.tar.gz -rf

        3.2、 修改配置文件

                3.2.1 、hive-env.sh

                 输入以下命令进入文件:             

# hive-env.sh是hive-env.sh.template复制后的文件名
[root@node01 ~]# cd /opt/wjx/apache-hive-3.1.2-bin/conf/
[root@node01 conf]# cp hive-env.sh.template hive-env.sh
[root@node01 conf]# vim hive-env.sh

                进入文件后末尾添加以下配置信息:

HADOOP_HOME=/opt/wjx/hadoop-3.3.4/
export HIVE_CONF_DIR=/opt/wjx/apache-hive-3.1.2-bin/conf
export HIVE_AUX_JARS_PATH=/opt/wjx/apache-hive-3.1.2-bin/lib

                3.2.2 、改hive-site.xml                                    

# 以下命令进入文件
[root@node01 conf]# cp hive-default.xml.template hive-site.xml
[root@node01 conf]# vim hive-site.xml

将原先<configuration> </configuration> 的内容删除,删除技巧:先按ESC,退出编辑模式,然后按G到最后一行,再敲击显示行号命令

:set nu

然后查看</configuration>标签所在行号:假如是6720,再返回到最初 <configuration>地方,快速返回某一行命令:

:19(数字是想返回的行号)

 然后光标点在第19行,键盘敲6701dd,就删除了6701行数据。

 删除原代码后在<configuration> </configuration>里面添加以下代码

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node01:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.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>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hive/warehouse</value>
</property>
<property>
<name>hive.server2.webui.host</name>
<value>node01</value>
</property>
<property>
<name>hive.server2.webui.port</name>
<value>10002</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://node01:9083</value>
</property>

                3.2.3 、改core-site.xml

[root@node01 conf]# vim /opt/wjx/hadoop-3.3.4/etc/hadoop/core-site.xml

在<configuration> </configuration>里面添加以下代码 

<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<!-- 通过 httpfs 接口访问的用户获得的群组身份 -->
<!-- 配置允许通过 httpfs 方式访问的客户端的用户组 -->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>

       

 3.3 、配置日志组件

3.3.1、创建日志目录

[root@node01 conf]# mkdir /opt/wjx/apache-hive-3.1.2-bin/logs
[root@node01 conf]# cp hive-log4j2.properties.template hive-log4j2.properties
[root@node01 conf]# vim hive-log4j2.properties

 3.3.2、进入hive-log4j2.properties文件修改代码:

将这行代码------property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name} 替换为:

property.hive.log.dir = /opt/wjx/apache-hive-3.1.2-bin/logs

3.4、添加驱动包

        就是把这个mysql-connector-java-8.0.18.jar放在node01节点下pache-hive-3.1.2-bin/lib/目录下

3.5、资源拷贝

[root@node02 ~]# scp -r root@node01:/opt/wjx/apache-hive-3.1.2-bin /opt/wjx/
[root@node03 ~]# scp -r root@node01:/opt/wjx/apache-hive-3.1.2-bin /opt/wjx/ 
[root@node01 ~]# scp /opt/wjx/hadoop-3.3.4/etc/hadoop/core-site.xml root@node02:/opt/wjx/hadoop-
3.3.4/etc/hadoop/
[root@node01 ~]# scp /opt/wjx/hadoop-3.3.4/etc/hadoop/core-site.xml root@node03:/opt/wjx/hadoop-
3.3.4/etc/hadoop/

3.6 、配置环境变量

(这一步的操作需要在三个节点都进行一次)

[root@node01 ~]# vim /etc/profile
[root@node02 ~]# vim /etc/profile
[root@node03 ~]# vim /etc/profile

         3.6.1、执行命令后三个节点都添加以下内容

export HIVE_HOME=/opt/wjx/apache-hive-3.1.2-bin
export PATH=$HIVE_HOME/bin:$PATH

         3.6.2、执行命令后三个节点都保存退出并执行以下更新命令

[root@node01 ~]# source /etc/profile
[root@node02 ~]# source /etc/profile
[root@node03 ~]# source /etc/profile

标签:opt,node01,hive,command,wjx,3.1,found,root
From: https://blog.csdn.net/weixin_46662581/article/details/137043827

相关文章

  • Ubuntu实现Hive与HBase的安装与配置(单机)
    (一)Hive的安装与配置 Hive下载链接:https://mirrors.bfsu.edu.cn/apache/hive/(1)将下载好的Hive文件(版本:3.1.2)解压到/usr/local目录下sudotar-zxvf./apache-hive-3.1.2-bin.tar.gz-C/usr/local(2)切换至目录/usr/local,将文件夹名改为hive,并且修改文件权限给本账户cd/......
  • Hive-技术补充-ANTLR语法编写
    一、导读我们学习一门语言,或外语或编程语言,是不是都是要先学语法,想想这些语言有哪些相同点    1、中文、英语、日语......是不是都有主谓宾的规则    2、c、java、python、js......是不是都有数据类型、循环等语法或数据结构虽然人们在过去的几十年里......
  • hive 、spark 、flink之想一想
    hive1:hive是怎么产生的?2:hive的框架是怎么样的?3:hive执行流程是什么?4:hivesql是如何把sql语句一步一步到最后执行的?5:hivesql任务常用参数调优做过什么?spark6:spark是怎么产生的?7:spark框架是怎么样的?8:spark的DAG是什么?9:spark中的app,job,stage,task是什么?有什么好处?......
  • Postgresql Common Commands
    PSQL快捷命令cat~/.psqlrc--checkactivesession\setactive_session'selectpid,usename,datname,application_name,client_addr,age(clock_timestamp(),query_start),queryfrompg_stat_activitywherepid<>pg_backend_pid()andstate=\'active\......
  • Hive 时间戳日期函数总结
    说明基于Hive的数据开发工作中,常常用到时间戳,日期各种格式转换,今天抽时间梳理一下。1. 获取当前UNIX时间戳函数:unix_timestampselectunix_timestamp();17112685562、UNIX时间戳转日期函数:from_unixtimeselectfrom_unixtime(1711268371,'yyyyMMdd');--20240324......
  • C#设计模式——命令模式(Command Pattern)
    命令模式命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。示例假定要实现一个绘图系统,要求支持撤销功能,下面就用命令模式来实现这一需求。首先定义一个抽象的命令接口publicinterfaceIGraphCommand......
  • Hive 刷题——奖金瓜分问题
    题目描述在活动大促中,有玩游戏瓜分奖金环节。现有奖金池为3000元,代表奖金池中的初始额度。用户的分数信息如下:uid,score1001,451002,401003,351004,301005,25表中的数据代表每一个用户和其对应的得分,user_id和score都不会有重复值。瓜分奖金的规则如下:按照score从高到......
  • CentOS加载yum源时报错 [Errno 14] HTTP Error 404 - Not Found Trying other mirror.
    报错内容:[[email protected]]#yumrepolistLoadedplugins:fastestmirror,product-id,search-disabled-repos,subscription-managerThissystemisnotregisteredtoRedHatSubscriptionManagement.Youcanusesubscription-managertoregister.Determiningf......
  • ModuleNotFoundError: No module named ‘matplotlib‘ 一系列解决办法
    编译器:pycharm,在导入matplotlib包时出现ModuleNotFoundError:Nomodulenamed‘matplotlib‘的报错问题一:如何下载matplotlib包打开PyCharm,点击File->Settings,点击弹出界面的“+”号:输入:matplotlib ,点下面的安装,等待一段时间,安装失败,并提示在终端进行操作 进入终......
  • No supported version of Visual Studio was found.
    问题描述:官网下载CUDAToolkit11.6.0安装包,然后安装CUDAToolkit11.6.0的过程中,出现下面的问题NosupportedversionofVisualStudiowasfound.SomecomponentsoftheCUDAToolkitwillnotworkproperly.PleaseinstallVSfirsttogetthefullfunctionality.......