-- Hive SQL-DQL-select 查询数据 -- Join -- 一 、基本环境准备： -- 1、打开HDFS完全分布式集群环境，保持集群环境健康可用； -- jps -- 2、启动beeline，测试是否可用。 -- beeline -u jdbc:hive2://hadoop202:10000 -n root -- 二、环境准备 -- 使用数据库 use lenovo_class07_lys; -- --显示所有的函数和运算符 show functions; -- --查看运算符或者函数的使用说明 describe function count; -- --使用extended 可以查看更加详细的使用说明 describe function extended count; -- 创建表格： -- --1、创建表dual create table dual(id string); -- --2、加载一个文件dual.txt到dual表中 -- --dual.txt只有一行内容：内容为一个空格（自行在Linux中创建，并加载） -- 测试：显示以下内容为成功 -- 1、在linux使用 -- echo " " > dual.txt -- hadoop fs -put dual.txt /user/hive/warehouse/lenovo_class07_lys.db/dual -- 2、将文件加载到表中： load data inpath '/user/hive/warehouse/lenovo_class07_lys.db/dual/dual.txt' into table dual; -- 3\test select 1+1 from dual; -- 三、关系运算符 -- 1、输出3和4进行“等于、大于、小于、不等于，小于等于，大于等于”关系运算的结果 select 3 = 4 as equal_result, 3 > 4 as greater_result, 3 < 4 as less_result, 3 <> 4 as not_equal_result, 3 <= 4 as less_equal_result, 3 >= 4 as greater_equal_result; -- 2、输入语句观察结果 -- 四、算数运算符 -- 1、计算17除以3，17乘以3，17+3，17-3，17对3取余数 select 17 / 3 as division_result, 17 * 3 as multiplication_result, 17 + 3 as addition_result, 17 - 3 as subtraction_result, 17 % 3 as modulus_result; -- 2、输入程序观察结果 -- -- -- 五、逻辑运算符：输入程序观察结果 select true and false as and_result, true or false as or_result, not true as not_result;
us-covid19-counties.dat文件：https://www.lanzouw.com/iI4Bq1zv8d9i-- 1、准备一下select语法测试环境， -- 新建数据库 CREATE DATABASE lenovo_class07_lys; -- 使用数据库 use lenovo_class07_lys; -- 2、创建表t_usa_covid19 CREATE TABLE t_usa_covid19 ( count_date STRING, county STRING, state STRING, fips INT, cases INT, deaths INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; -- 将文件上传到HDFS 下面的这个目录 -- /user/hive/warehouse/lenovo_class07_lys.db/t_usa_covid19 -- 3、将源数据load加载到t_usa_covid19表对应的路径下 LOAD DATA INPATH '/user/hive/warehouse/lenovo_class07_lys.db/t_usa_covid19/us-covid19-counties.dat' INTO TABLE t_usa_covid19; -- 4、创建一张分区表 基于count_date日期,state州进行分区， -- 在定义的时候定义除了上述两个字段外的其他四个字段， -- 用count_date日期,state进行分区。 -- 创建分区表t_usa_covid19_p: -- 权限问题：hdfs dfs -chmod -R 1777 / CREATE TABLE IF NOT EXISTS t_usa_covid19_p ( county STRING, fips INT, cases INT, deaths INT ) PARTITIONED BY (count_date STRING, state STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; -- 5、使用动态分区插入将t_usa_covid19中的数据导入t_usa_covid19_p中 -- 设置Hive动态分区配置 SET hive.exec.dynamic.partition = true; SET hive.exec.dynamic.partition.mode = nonstrict; -- 插入数据到分区表 INSERT INTO TABLE t_usa_covid19_p PARTITION (count_date, state) SELECT county, fips, cases, deaths, count_date, state FROM t_usa_covid19; -- ============== -- 一、查询所有字段或者指定字段 -- （1）查询所有字段 SELECT * FROM t_usa_covid19_p; -- （2）查询确诊病例字段和所在州字段 SELECT cases, state FROM t_usa_covid19_p; -- 二、查询匹配正则表达式的所有字段 -- （1）查询所有以C开头的字段 SELECT county, cases FROM t_usa_covid19_p; -- （2）查询所有含有t字符的字段 SELECT count_date, state FROM t_usa_covid19_p; -- 三、查询使用函数 -- （1）统计cases列数 SELECT COUNT(cases) FROM t_usa_covid19_p; -- （2）统计cases总数 SELECT SUM(cases) FROM t_usa_covid19_p; -- 四、ALL /DISTINCT -- 1、统计cases总数 SELECT SUM(cases) FROM t_usa_covid19_p; -- 2、去掉重复行后cases总数 SELECT SUM(DISTINCT cases) FROM t_usa_covid19_p; -- 3、county,state两个字段整体去重 SELECT DISTINCT county, state FROM t_usa_covid19_p; -- 五、where -- 1、表达式 -- （1）在where后面使用2>3和2<3作为条件进行查询过滤 SELECT * FROM t_usa_covid19_p WHERE 2 < 3; -- （2）在where后面使用2+3作为条件进行查询过滤 SELECT * FROM t_usa_covid19_p WHERE 2 + 3; -- （3）在where后面使用2&3作为条件进行查询过滤 SELECT * FROM t_usa_covid19_p WHERE 2 & 3; -- （4）找出确诊病例和死亡病例的和超过50000的记录 SELECT * FROM t_usa_covid19_p WHERE cases + deaths > 50000; -- 2、函数 -- （1）找出county字母长度大于7的有哪些 SELECT * FROM t_usa_covid19_p WHERE LENGTH(county) > 7; -- 六、group by -- 1、使用group by统计死亡病例数大于10000的州 SELECT state, SUM(deaths) AS total_deaths FROM t_usa_covid19_p GROUP BY state HAVING total_deaths > 10000; -- 七、having -- 1、使用having统计死亡病例数大于10000的州 SELECT state, SUM(deaths) AS total_deaths FROM t_usa_covid19_p GROUP BY state HAVING SUM(deaths) > 10000; -- 八、limit -- （1）没有限制返回2021.1.28 Florida（州）的所有记录 SELECT * FROM t_usa_covid19_p WHERE count_date = '2021-01-28' AND state = 'Florida'; -- （2）显示2021.1.28 Florida（州）的前10条记录 SELECT * FROM t_usa_covid19_p WHERE count_date = '2021-01-28' AND state = 'Florida' LIMIT 10; -- （3）显示2021.1.28 Florida（州）的从第10条开始，共10条记录 SELECT * FROM t_usa_covid19_p WHERE count_date = '2021-01-28' AND state = 'Florida' LIMIT 10 OFFSET 10;
hive启动步骤1、启动集群确定hadoop集群都启动成功了在浏览器访问 hadoop21:9870 能访问就是好的my_hadoop start # 启动hadoop集群 jpsall # 查看所有集群的进程[collapse status="false" title="查看详细："][root@hadoop21 conf]# my_hadoop start =================== 启动 hadoop集群 =================== --------------- 启动 hdfs --------------- Starting namenodes on [hadoop21] 上一次登录：六 5月 4 06:11:28 CST 2024 Starting datanodes 上一次登录：六 5月 4 06:19:04 CST 2024 Starting secondary namenodes [hadoop23] 上一次登录：六 5月 4 06:19:07 CST 2024 --------------- 启动 yarn --------------- Starting resourcemanager 上一次登录：六 5月 4 06:11:17 CST 2024 Starting nodemanagers 上一次登录：六 5月 4 06:19:23 CST 2024 [2]+ 退出 143 nohup hive --service hiveserver2 2> /tmp/hive_server2_error.log(工作目录：~) (当前工作目录：/opt/module/hive/conf) [root@hadoop21 conf]# jpsall =============== hadoop21 =============== 4707 NameNode 5171 NodeManager 4842 DataNode 5293 Jps =============== hadoop22 =============== 3493 Jps 2809 DataNode 3002 ResourceManager 3134 NodeManager =============== hadoop23 =============== 2641 Jps 2519 NodeManager 2329 DataNode 2429 SecondaryNameNode [root@hadoop21 conf]# [/collapse]2、启动hive服务必须启动以下两个服务才可以使用beeline启动 hiveserver2nohup hive --service hiveserver2 2>/tmp/hive_server2_error.log &启动 metastorenohup hive --service metastore 2>/tmp/hive_metastore_error.log &3、使用IDEA（Java编辑器）连接JDBC参考资料：在idea连接hive：https://blog.csdn.net/windinroad/article/details/1239220433、在linux中使用beeline连接jdbc beeline -u jdbc:hive2://hadoop21:10000 -n roothive关闭步骤1、关闭HiveServer2jps -m # 出现最前面的就是进程号 kill [进程号]如：2651 RunJar /opt/module/hive/lib/hive-service-3.1.2.jar org.apache.hive.service.server.HiveServer2 4511 Jps -m [root@hadoop21 conf]# kill 2651 [1]- 退出 143 nohup hive --service metastore 2> /tmp/hive_metastore_error.log(工作目录：~) (当前工作目录：/opt/module/hive/conf) 2、关闭hadoop如果之前配置过hadoop集群脚本命令可以用 my_hadoop 来关闭my_hadoop stop如果没有配置集群脚本：# 在hadoop22 关闭yarn stop-yarn.sh # 在hadoop21 关闭HDFS stop-dfs.sh
踩坑Hive｜Error: Could not open client transport with JDBC Uri
1、报错[root@hadoop21 ~]# beeline -u jdbc:hive2://hadoop21:10000 -n root SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/module/hive/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/module/hadoop-3.1.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] Connecting to jdbc:hive2://hadoop21:10000 24/05/04 05:34:50 [main]: WARN jdbc.HiveConnection: Failed to connect to hadoop21:10000 Could not open connection to the HS2 server. Please check the server URI and if the URI is correct, then ask the administrator to check the server status. Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop21:10000: java.net.ConnectException: 拒绝连接 (Connection refused) (state=08S01,code=0) Beeline version 3.1.2 by Apache Hive2、基础检查1、查看防火墙端口100002、检查HiveServer2配置3、查看HiveServer2日志4、权限问题3、权限问题如果上面的都没有解决，那么就说HDFS的权限问题1、检查目录是否存在hadoop fs -ls /user/hive/warehouse2、创建目录（如果不存在）hadoop fs -mkdir -p /user/hive/warehouse3、设置适当的权限hadoop fs -chmod 777 /user/hive/warehouse
week09—练习—lenovo_class011、创建数据库如果有则不创CREATE DATABASE lenovo_class01_pxj;2、在库中建表可以用beeline连接：beeline -u jdbc:hive2://hadoop21:10000 -n root建表USE lenovo_class01_pxj;CREATE TABLE t_TL_hero ( attack_max INT COMMENT '最高物攻', defense_max INT COMMENT '最大物防', attack_range STRING COMMENT '攻击范围', role_main STRING COMMENT '主要定位', role_assist STRING COMMENT '次要定位' ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';3、上传HDFS可以使用hadoop Web 网页上传也可以直接在IDEA上传也可以使用HDFS 上传：[root@hadoop21 ~]# cd /opt/file/ [root@hadoop21 file]# ls archer.txt assassin.txt mage.txt support.txt tank.txt warrior.txt [root@hadoop21 file]# hdfs dfs -put ./* /user/hive/warehouse/lenovo_class01_pxj.db/t_tl_hero文件：https://www.123pan.com/s/lfKDVv-zVQNH.html提取码:22444、执行 SQL 语句可以在idea上面执行：SELECT COUNT(*) FROM t_TL_hero WHERE role_main = 'archer' AND hp_max > 6000;参考资料：在idea连接hive：https://blog.csdn.net/windinroad/article/details/123922043
hive安装与配置安装VMware导入提供的三个hadoop系统，分别为202，203，204连接xshell用hadoop账户连接账号：hadoop密码：123456在202里，登录Hadoop账户判断Hadoop是否安装echo $HADOOP_HOME echo $PATH检查是否安装，并配置Hadoop，如果没有，则去重新安装hadoophadoop与hive整合-配置core-site.xmlHive需要把数据存储在HDFS上，并且通过MapReduce作为执行引擎处理数据需要在Hadoop中添加相关配置属性，以满足Hive在Hadoop上运行。修改Hadoop中core-site.xml，并且Hadoop集群同步配置文件，重启生效。尝试改变目录到 $HADOOP_HOME/etc/hadoop，然后查找 core-site.xml文件：cd $HADOOP_HOME/etc/hadoop ls -l core-site.xml 其中的内容如下： hadoop.proxyuser.hadoop.hosts * hadoop.proxyuser.hadoop.groups * 如果有不一致，则vim编辑之。远程模式部署-hive-site查看Hive的配置目录，通常这个配置目录位于Hive安装目录下的 conf文件夹。以下是查找 hive-site.xml文件的命令：cd /opt/module/hive/conf ls -l hive-site.xml sta如果没有该文件，可以自行创建，比较快捷的方法是复制同目录下 hive-default.xml.template，然后做内容修改cp hive-default.xml.template hive-site.xmlhive-site.xml<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> javax.jdo.option.ConnectionURL jdbc:mysql://hadoop202:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8 javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456789 hive.metastore.warehouse.dir /user/hive/warehouse hive.metastore.schema.verification false hive.metastore.event.db.notification.api.auth false hive.metastore.uris thrift://hadoop202:9083 注意：最后指定了远程模式，部分同学可能在这里把远程模式跟本地模式搞混。启动metastore启动方式有三种直接启动Metastore服务:hive --service metastore这个命令会在前台启动Hive Metastore服务。这意味着服务会占用终端窗口，并且如果你关闭了终端或者按下 Ctrl+C，服务会停止运行。使用 nohup在后台启动Metastore服务:nohup hive --service metastore &在这个命令中，nohup用于在后台运行Hive Metastore服务，即使你退出了终端会话，服务也会继续运行。&将命令放到后台执行。不过，这个命令不会重定向错误日志，所以标准错误输出仍会显示在终端上，或者写入到 nohup.out文件中。使用 nohup在后台启动Metastore服务，并重定向错误日志:nohup hive --service metastore 2>/tmp/hive_metastore_error.log &这个命令也是在后台运行Hive Metastore服务，并且使用 2>将错误日志重定向到 /tmp/hive_metastore_error.log文件中。这样，任何错误信息都会被写入指定的日志文件，帮助你更好地管理和查看服务可能产生的错误信息。关闭服务当使用 nohup在后台运行Hive Metastore服务时，由于进程在后台执行，不能直接使用 Ctrl+C来停止它。需要找到运行该服务的进程ID（PID），然后使用 kill命令来停止它。以下是步骤：查找Hive Metastore服务的进程ID使用 ps命令查找进程： 你可以使用 ps命令结合 grep来查找Hive Metastore服务的PID。运行以下命令：ps -ef | grep 'hive.*metastore'这将列出所有与Hive Metastore相关的进程。输出会包含进程的详细信息，PID是每行输出的第二列。确定正确的PID： 在输出中找到对应于Hive Metastore服务的进程。确保这个PID对应的是你想要停止的服务实例。停止服务使用 kill命令： 一旦你知道了PID，就可以使用 kill命令来停止进程。替换 <PID>为你从上一步得到的进程ID：kill <PID>如果进程没有响应，你可以使用更强制的方式来停止它：kill -9 <PID>使用 kill -9会立即停止进程，但应谨慎使用，因为它不给进程清理自身的机会。注意事项在使用 kill命令之前，确保你选择的PID是正确的。杀错进程可能会影响到系统的其他部分。如果你在启动服务时重定向了输出到日志文件，检查这些日志文件可能会对确认服务是否已经停止提供帮助。有些情况下，Hive Metastore服务可能会由于各种原因（如配置问题、资源限制等）自动重启。如果你发现服务似乎无法停止，检查服务的配置以及任何相关的管理脚本或系统服务配置。启动hive启动Hadoop环境：Hive是建立在Hadoop之上的，所以在启动Hive之前，需要先确保Hadoop环境是运行的。可以通过以下命令启动Hadoop：启动HDFS（Hadoop分布式文件系统）: start-dfs.sh启动YARN（用于集群资源管理和作业调度）: start-yarn.sh检查Hadoop环境是否正常：通过 jps命令可以检查Hadoop的各个组件是否已经启动，正常情况下，应该能看到NameNode、DataNode、ResourceManager等进程。这一步，应该有如下内容：[hadoop@hadoop202 hadoop]$ jps -m 9569 RunJar 12164 NodeManager 12373 DataNode 12425 Jps 11163 NameNode NameNode：这是HDFS的主节点，负责文件系统的命名空间管理和客户端访问请求。DataNode：HDFS的工作节点，负责存储实际数据。从你的输出中我们可以看到这个进程已经启动。ResourceManager：YARN的全局资源管理器，负责整个系统的资源管理和分配。NodeManager：YARN的工作节点，负责容器的管理和监控。从你的输出中我们也可以看到这个进程已经启动。SecondaryNameNode：并不是HDFS的备份节点，而是帮助NameNode合并编辑日志和文件系统的图像，以避免NameNode重启时需要过长时间。如果缺失了某一个，可以以以下命令手动启动：启动NameNode：hdfs --daemon start namenode ## 如果报错，检查其日志文件，详情查看下面resourcemanager日志文件启动DataNode（如果需要）：hdfs --daemon start datanode查看日志cd $HADOOP_HOME/logs tail -n 100 hadoop-hadoop-datanode-hadoop202.log启动ResourceManager：yarn --daemon start resourcemanager cd $HADOOP_HOME/logs tail -n 100 hadoop-hadoop-namenode-hadoop202.log启动NodeManager（如果需要）：yarn --daemon start nodemanager如果在启动过程中，产生了问题，可以查看日志，来确定问题在哪里启动Hive：通过命令行界面使用Hive，那么只需在命令行中输入 hive即可启动Hive的命令行界面。[hadoop@hadoop202 hive]$ hive启动HiveServer2退出hive交互模式exit;启动hiveserver2nohup hive --service hiveserver2 2>/tmp/hive_server2_error.log &使用jps -m 查看是否启动正常分别存在 HiveServer2和HiveMetaStore是否存在beeline连接hive\# 通过beeline访问hadoop202上的hiveserver2服务，用户为操作hdfs系统用户beeline -u jdbc:hive2://hadoop21:10000 -n root如果报错：[hadoop@hadoop202 lib]$ beeline -u jdbc:hive2://hadoop202:10000 -n hadoop SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/module/hive/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/module/hadoop-3.1.3/share/hadoop/common/lib/xxx.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] Connecting to jdbc:hive2://hadoop202:10000 24/04/07 14:06:33 [main]: WARN jdbc.HiveConnection: Failed to connect to hadoop202:10000 Could not open connection to the HS2 server. Please check the server URI and if the URI is correct, then ask the administrator to check the server status. Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop202:10000: java.net.ConnectException: *拒绝连接* (Connection refused) (state=08S01,code=0) Beeline version 3.1.2 by Apache Hive 使用Beeline连接到Hive服务器时遇到了“拒绝连接”的错误。这个问题通常发生于以下几种情况中的一种：HiveServer2服务未运行：[hadoop@hadoop202 lib]$ jps -m 9569 RunJar /opt/module/hive/lib/hive-metastore-3.1.2.jar org.apache.hadoop.hive.metastore.HiveMetaStore 13137 RunJar /opt/module/hive/lib/hive-service-3.1.2.jar org.apache.hive.service.server.HiveServer2 13251 Jps -m 11163 NameNode 如上，可以看到metastore和hiveserver2都在运行，如果这两个没有运行，按照上一步的步骤继续操作，检查是少了哪一项。网络问题：可能是因为网络设置问题（如防火墙设置）导致无法建立连接。确保服务器 hadoop202的10000端口没有被防火墙或者网络安全组规则阻止。HiveServer2配置问题：HiveServer2的配置问题也可能导致连接失败。这可能是因为HiveServer2没有正确监听在预期的接口或端口上，或者有与网络相关的其他配置问题。检查Hive的配置文件（如 hive-site.xml），确保配置了正确的监听地址和端口。日志文件中的错误信息：您已经切换到了Hadoop的日志目录。建议检查HiveServer2相关的日志文件（如 hadoop-hive-server-hadoop202.log或其他类似的Hive日志文件，这里未列出具体的HiveServer2日志，但您可以寻找包含 hive和 server的日志文件），以查找可能导致连接失败的更具体的错误信息。查看数据库启动hive后show databases; create database test;nohup hive --service metastore 2>/tmp/hive_metastore_error.log & start-dfs.sh start-yarn.sh [hadoop@hadoop202 hadoop]$ jps -m ##如果能看到以下内容 9569 RunJar service2 9279 RunJar metastore 12164 NodeManager 12373 DataNode 12425 Jps 11163 NameNode 就可以去idea连接hive了
踩坑｜Hive 无法连接hive FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me
踩坑｜Hive 无法连接hive FAILED: HiveException java.lang.RuntimeException:Unable to instantiate org.apache.hadoop.hive.ql.me问题点：[ mysql没有远程权限 ]、[ 没有metastore数据库 ]云上贵猪：20240408一、原因在Hive 执行 show databases;时出现如下报错FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me尝试重新格式化失败原因是因为服务器上的Mysql数据库root用户未开启权限。二、解决2.1、进入数据库中mysql -u root -p2.2、切换到mysqluse mysql;2.3、设置root用户的连接权限%的意思是允许所有IP连接数据库update user set host = '%' where user ='root';2.4、刷新权限flush privileges; 三、再次重新格式化3.1、在hive的bin目录格式化当前目录：/opt/module/hive-3.1.3/bin schematool -dbType mysql -initSchema接着提示说我们没有找到名为'metastore'的数据库，hive初始化失败查看了下数据库确实没有：show databases;如果有则要删了，在新建一个drop databases metastore; create database metastore;3.2、在mysql建立metastore数据库登录数据库并建立库mysql -uroot -p123456789 CREATE DATABASE metastore;3.3、再次格式化hivecd /opt/module/hive-3.1.3/bin schematool -initSchema -dbType mysql成功的标志四、启动hive启动的前提，确保hadoop、mysql都启动起来了环境变量都配置好了4.1、hive启动ps：要打开两个Xshell ,都在hadoop21运行第一窗口运行，不要关闭：hive --service metastore第二窗口运行hivehive hive> show databases; OK default Time taken: 0.603 seconds, Fetched: 1 row(s)成功解决查看及启动信息[root@hadoop21 ~]# jpsall =============== hadoop21 =============== 2688 DataNode 6416 RunJar 2977 NodeManager 3158 JobHistoryServer 2522 NameNode 7918 Jps =============== hadoop22 =============== 3523 Jps 2013 DataNode 2205 ResourceManager 2526 NodeManager =============== hadoop23 =============== 2032 DataNode 2219 NodeManager 3659 Jps 2141 SecondaryNameNode [root@hadoop21 ~]# hive which: no hbase in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/module/jdk1.8.0_121/bin:/opt/module/hadoop-3.1.3/bin:/opt/module/hadoop-3.1.3/sbin:/opt/module/mysql-8.0.32/bin:/opt/module/jdk1.8.0_121/bin:/opt/module/hadoop-3.1.3/bin:/opt/module/hadoop-3.1.3/sbin:/opt/module/hive-3.1.3/bin:/root/bin) SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/module/hive-3.1.3/lib/log4j-slf4j-impl-2.17.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/module/hadoop-3.1.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] Hive Session ID = 98448c32-2794-4a1a-ab06-ecd2015e4538 Logging initialized using configuration in jar:file:/opt/module/hive-3.1.3/lib/hive-common-3.1.3.jar!/hive-log4j2.properties Async: true Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases. Hive Session ID = 94d18717-35fa-4d04-8e3b-b060c2575890 hive> show databases; OK default Time taken: 0.603 seconds, Fetched: 1 row(s)
启动Hive手册一、启动Hadoop集群脚本方式启动：【在21运行】my_hadoop start 一键启动hadoop：21的hdfs、22的yarn my_hadoop stop 一键关闭hadoop：21的hdfs、22的yarnjps查看进程Web服务网页：hadoop21:9870二、启动mysql（如果设置了开机自启动则省略）service mysql start三、启动Hiveps：要打开两个Xshell ,都在hadoop21运行3.1、第一窗口输入命令不要关闭：hive --service metastore运行 jps -mps：看到测启动成功【 RunJar /opt/module/hive-3.1.2/lib/hive-metastore-3.1.2.jar org.apache.hadoop.hive.metastore.HiveMetaStore】3.2、第二窗口知行启动hivehive运行sql语句show databases;看到则环境部署成功hive> show databases; OK default Time taken: 0.513 seconds, Fetched: 1 row(s)