Service hiveserver2在启动时挂起。端口10000上没有监听任何内容

Service hiveserver2在启动时挂起。端口10000上没有监听任何内容,service,hive,hadoop2,Service,Hive,Hadoop2,我一直在尝试设置Apache套件的本地单个大数据节点。我成功地建立了hadoop和HDF,而且纱线工作得很好。然而,在过去的几个小时里,我一直在试着让蜂巢启动并运行,但运气不好。当我说“hive--services hiveserver2”时,在打印出几行之后,它会挂起。我检查了端口10000上是否有监听,但没有。 下面是命令“hive--services hiveserver2”的输出 2019-07-27 17:55:54:启动HiveServer2 SLF4J:类路径包含多个SLF4J绑定

我一直在尝试设置Apache套件的本地单个大数据节点。我成功地建立了hadoop和HDF,而且纱线工作得很好。然而,在过去的几个小时里,我一直在试着让蜂巢启动并运行,但运气不好。当我说“hive--services hiveserver2”时,在打印出几行之后,它会挂起。我检查了端口10000上是否有监听,但没有。 下面是命令“hive--services hiveserver2”的输出

2019-07-27 17:55:54:启动HiveServer2
SLF4J:类路径包含多个SLF4J绑定。
SLF4J:在[jar:file:/home/particle/apache-hive-2.3.5-bin/lib/log4j-SLF4J-impl-2.6.2.jar!/org/SLF4J/impl/StaticLoggerBinder.class]中找到绑定
SLF4J:在[jar:file:/home/particle/hadoop-2.9.2/share/hadoop/common/lib/SLF4J-log4j12-1.7.25.jar!/org/SLF4J/impl/StaticLoggerBinder.class]中找到绑定
SLF4J:参见http://www.slf4j.org/codes.html#multiple_bindings 我需要一个解释。
SLF4J:实际绑定的类型为[org.apache.logging.SLF4J.Log4jLoggerFactory]
由于hive-site.xml很大,我无法在这里通过它,但是如果您怀疑有任何属性,请告诉我,我会将其粘贴到这里。我是从tarball而不是maven安装了蜂箱


我想这一切都与前面提到的某种SLF4J绑定冲突有关,但我不知道需要采取什么步骤来处理它。非常感谢您的帮助。

我曾多次尝试让蜂箱通过焦油球和Maven安装工作。无论如何,这件事没有发生

下面是我如何让蜂巢开始工作的。(2019年8月3日)。

首先,我下载了最新的Hive.tar.gz文件(从今天起为3.1.1)。 下载后,我确保在~/.bashrc文件中设置了以下内容。请注意,Java版本是1.8,Hadoop版本是2.9.2。不确定这些版本是否重要,但这些设置对我来说很有用

export JAVA_HOME=/HOME/particle/jdk1.8.0_221
导出路径=$JAVA_HOME/bin:$PATH
导出HADOOP_HOME=/HOME/particle/HADOOP-2.9.2
导出路径=$HADOOP\u HOME/bin:$PATH
导出HIVE_HOME=/HOME/particle/apache-HIVE-3.1.1-bin
导出路径=$HIVE\u HOME/bin:$PATH
之后,我获取了~/.bashrc文件(如下所示)

source~/.bashrc
在继续之前,我确保DFS和纱线正常运行。如果没有,请从$HADOOP_HOME/sbin/start-dfs.sh和$HADOOP_HOME/sbin/start-warn.sh开始。与jps确认Namenode、SecondaryNameNode、DataNode、ResourceManager和NodeManager正在运行

然后我创建了几个目录并设置了所有权。有些目录可能已经存在,所以不要担心

hadoop fs-mkdir/tmp hadoop fs-mkdir/user hadoop fs-mkdir/user/hive/ hadoop fs-mkdir/user/hive/warehouse hadoop fs-chmod g+w/tmp hadoop fs-chmod g+w/用户/配置单元/仓库 之后,我通过键入以下命令初始化了derby db。不确定这是否必要,但无论如何都做到了

$HIVE\u HOME/bin/schematool-dbtypederby-initSchema
之后,我创建了一个名为“hive site.xml”的文件,并将其放在$hive_HOME/conf中。确保您做了适当的更改。下面我们要做的是设置使用MySQL作为配置单元的db


hadoop.proxyuser.TypeYourUserName此处用于osorVirtualos.groups
*
hadoop.proxyuser.TypeYourUserName在此用于osorVirtualos.hosts
*
javax.jdo.option.ConnectionURL
jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
在此处键入您的用户名,以便在MySQL中快速创建此用户
javax.jdo.option.ConnectionPassword
键入您的密码\u您将在MySQL中快速创建此密码
datanucleus.autoCreateSchema
真的
datanucleus.fixedDatastore
真的
datanucleus.autoCreateTables
真的
之后,我安装了MySQL客户端和服务器。因为我使用的是Ubuntu,所以我的命令很简单,如下所示。此步骤将根据您的操作系统而改变

sudo apt get安装mysql客户端mysql服务器
之后,我下载了使HIVE工作所需的驱动程序。我使用了这个链接(),但这可能会因您使用的MySQL版本而异。解压/解压后,将在解压/解压文件夹中看到两个(或更多).jar文件。 我在$HIVE\u HOME/lib中复制了这两个(或全部)文件(.jar文件)

之后我登录了mysql。由于在安装时没有设置现有密码,因此我必须使用以下命令。如果您已经拥有root/admin登录名和密码,则可以跳过前三行。 请确保您已首先更改到以下目录“$HIVE_HOME/scripts/metastore/upgrade/mysql/”

sudomysql-u root
#它将首先询问与sudo关联的超级密码
#然后它会直接带您到mysql提示符,或者它会要求输入密码。
使用mysql;
创建用户“yourUsernamethavedin_-hive-site.xml”@“localhost”,由“yourPasswordethavedin_-hive-site.xml”标识;
将**上的所有权限授予“您在hive-site.xml中保存的用户名”@“localhost”;
同花顺特权;
出口
现在我有了一个MySQL帐户,它与我在hive-site.xml中的设置相匹配。我使用上面创建的用户名和密码登录到MySQL,并键入以下命令,一次一个

进入mysql shell后,键入以下行,一次一行

如果存在配置单元,则删除数据库;
创建数据库配置单元;
使用蜂箱;
源hive-schema-3.1.0.mysql.sql;
出口
然后,我在bashshell中键入以下命令。很多警告都来了

$HIVE\u HOME/bin/schematool-dbtypemysql-initSchema
然后我终于去了魔法指挥部。