天道酬勤,学无止境

Cannot connect to beeline hive2

问题

Hadoop 2.7.3 和 Hive 2.1.0

我可以像这样连接到直线

!connect jdbc:hive2://

但是当我输入

!connect jdbc:hive2://hostname:10000/default org.apache.hive.jdbc.HiveDriver 或 !connect jdbc:hive2://hostname:10000/default

给出用户名和密码后,它给了我一个错误

错误:无法打开与 jdbc:hive2://:10000 的连接:java.net.ConnectException:连接被拒绝(状态=08S01,代码=0)

在 CLI 中:

which: no hbase in (/user/local/maven/bin:/user/local/maven/bin:/user/local/maven/bin:/user/local/maven/bin:/user/local/maven/bin:/usr/local/rvm/gems/ruby-2.1.2/bin:/usr/local/rvm/gems/ruby-2.1.2@global/bin:/usr/local/rvm/rubies/ruby-2.1.2/bin:/usr/lib64/qt-3.3/bin:/user/local/maven/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/bin:/usr/local/hive/bin:/usr/bin:/usr/local/bin:/bin:/root/bin:/usr/java/jdk1.7.0_60/bin:/usr/local/hadoop/bin/:/usr/local/hadoop/bin:/usr/local/hadoop/sbin:/usr/bin:/usr/local/bin:/usr/java/jdk1.7.0_60/bin:/usr/java/jdk1.7.0_60/bin:/usr/local/hadoop/bin/:/usr/local/hadoop/bin:/usr/local/hadoop/sbin:/usr/bin:/usr/local/bin:/usr/java/jdk1.7.0_60/bin:/usr/java/jdk1.7.0_60/bin:/usr/local/hadoop/bin/:/usr/local/hadoop/bin:/usr/local/hadoop/sbin)
ls: cannot access /usr/local/hive/lib/hive-jdbc-*-standalone.jar: No such file or directory
Beeline version 2.1.0 by Apache Hive
beeline> !connect jdbc:hive2://10.1.1.60:10000/;transportMode=binary
Connecting to jdbc:hive2://10.1.1.60:1000/;transportMode=binary
Enter username for jdbc:hive2://10.1.1.60:10000/;transportMode=binary: APP
Enter password for jdbc:hive2://10.1.1.60:10000/;transportMode=binary: ****
16/10/25 18:07:11 [main]: WARN jdbc.HiveConnection: Failed to connect to 10.1.1.60:10000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://10.1.1.60:1000/;transportMode=binary: java.net.ConnectException: Connection refused (state=08S01,code=0)
beeline> 

有什么建议么??

我为 hive 2 设置的 hive-site.xml 中的属性是:-

    <?xml version="1.0"?>
    <configuration>
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:derby:;databaseName=/usr/local/hive/metastore_db;create=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
    </property>

    <property>
    <name>org.apache.derby.jdbc.EmbeddedDriver</name>
    <value>org.apache.derby.jdbc.ClientDriver</value>
    <description>Driver class name for a JDBC metastore</description>
    </property>

    <property>
    <name>hive.server2.thrift.min.worker.threads</name>
    <value>5</value>
    <description>Minimum number of worker threads</description>
    </property>

    <property>
    <name>hive.server2.thrift.max.worker.threads</name>
    <value>500</value>
    <description>Maximum number of worker threads</description>
    </property>

    <property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    <description>TCP port number to listen on</description>
    </property>

    <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>hadoop-master</value>
    <description>TCP interface to bind to</description>
    </property>


    <property>
    <name>hive.server2.transport.mode</name>
    <value>binary</value>
    <description>Set to http to enable HTTP transport mode</description>
    </property>


    <property>
    <name>hive.server2.thrift.http.port</name>
    <value>10001</value>
    <description>HTTP port number to listen on</description>
    </property>

    <property>
    <name>hive.server2.thrift.http.max.worker.threads</name>
    <value>500</value>
    <description>TCP interface to bind to</description>
    </property>

    <property>
    <name>hive.server2.thrift.http.min.worker.threads</name>
    <value>5</value>
    <description>Minimum worker threads in the server pool</description>
    </property>

    <property>
     <name>hive.server2.authentication</name>
     <value>NOSASL</value>
    </property>

    <property>
    <name>hive.server2.thrift.http.path</name>
    <value>cliservice</value>
    <description>The service endpoint</description>
    </property>


    </configuration>

有什么建议么?

回答1
回答2

从错误:

16/10/25 18:07:11 [main]: WARN jdbc.HiveConnection: Failed to connect to 10.1.1.60:1000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://10.1.1.60:1000/;transportMode=binary: java.net.ConnectException: Connection refused (state=08S01,code=0)

看起来您正在访问端口 1000 而不是 10,000 - 如果您连接到端口 10000 是否有效?

如果它仍然对端口 10000 不起作用,您确定 Hiveserver2 正在侦听该端口吗? 您能否在 Hiveserver2 主机上运行以下命令并确保端口上正在侦听某些内容:

netstat -an | grep 10000
标签

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • beeline cannot connect to hive2server
    Enter username for jdbc:hive2://localhost:10001/default: Enter password for jdbc:hive2://localhost:10001/default: 17/08/19 09:25:14 [main]: WARN jdbc.HiveConnection: Failed to connect to localhost:10001 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://localhost:10001/default: java.net.ConnectException: Connection refused (Connection refused) (state=08S01,code=0) Beeline version 2.3.0 by Apache Hive beeline> show tables; No
  • Cannot connect to beeline hive2
    Hadoop 2.7.3 & Hive 2.1.0 I am able to connect to beeline like this !connect jdbc:hive2:// But when i type !connect jdbc:hive2://hostname:10000/default org.apache.hive.jdbc.HiveDriver or !connect jdbc:hive2://hostname:10000/default After giving the username and password it gives me an error Error: Could not open connection to jdbc:hive2://:10000: java.net.ConnectException: Connection refused (state=08S01,code=0) In CLI: which: no hbase in (/user/local/maven/bin:/user/local/maven/bin:/user/local/maven/bin:/user/local/maven/bin:/user/local/maven/bin:/usr/local/rvm/gems/ruby-2.1.2/bin:/usr/local
  • 使用 Kerberos 密钥表通过 Beeline 连接到 Hive(Connecting to Hive via Beeline using Kerberos keytab)
    问题 是否可以使用类似于用于 JDBC 的方法的(kerberos)keytab 文件通过直线连接到 Hive https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-UsingKerberoswithaPre-AuthenticatedSubject PS:beeline 确实支持使用用户名和密码连接到 kerberos 安全的配置单元服务器。 但我正在寻找一种将它与密钥表文件连接的方法。 http://doc.mapr.com/display/MapR40x/Configuring+Hive+on+a+Secure+Cluster#ConfiguringHiveonaSecureCluster-UsingBeelinewithKerberos 回答1 我认为您无法将 keytab 文件连接到 beeline,但您可以使用kinit获取带有 keytab 的kinit ,然后使用kinit的 jdbc 连接字符串传递 hive 服务器主体进行连接。 kinit -k -t keytab principal 与直线连接的连接字符串 !connect jdbc:hive2://hostname:10000/default;principal=hive/_HOST
  • 使用Beeline连接到Hive(Connecting to Hive using Beeline)
    问题 我正在尝试通过Beeline客户端连接到安装在计算机中的配置单元。 当我发出“直线”命令并连接到Hive时,客户端要求输入用户名和密码 !connect jdbc:hive2://localhost:10000/default 我不知道应该输入什么用户名和密码。 我是否必须在某些配置文件中添加凭据(用户名和密码)? 回答1 通过直线访问HIVE: 启动beeline客户端 beeline --incremental=true 注意:命令行选项“ -incremental = true”是可选的,但会延长您可以保持空闲并且不断开连接的时间。 连接到Hive2服务器 !connect jdbc:hive2://silver-server- hive.app.google.com:10000/default 注意:系统将提示您输入用户名和密码。 使用用户名和密码 beeline> !connect jdbc:hive2:// silver-server-hive.app.google.com:10000/default scan complete in 3ms Connecting to jdbc:hive2:// silver-server-hive.app.google.com:10000/default Enter username for jdbc:hive2://
  • hive beeline详解
    Hive客户端工具后续将使用Beeline 替代HiveCLI ,并且后续版本也会废弃掉HiveCLI 客户端工具,Beeline是 Hive 0.11版本引入的新命令行客户端工具,它是基于SQLLine CLI的JDBC客户端。 Beeline支持嵌入模式(embedded mode)和远程模式(remote mode)。在嵌入式模式下,运行嵌入式的Hive(类似Hive CLI),而远程模式可以通过Thrift连接到独立的HiveServer2进程上。从Hive 0.14版本开始,Beeline使用HiveServer2工作时,它也会从HiveServer2输出日志信息到STDERR。 beeline 的常用参数 复制代码 Usage: java org.apache.hive.cli.beeline.BeeLine -u the JDBC URL to connect to -n the username to connect as -p the password to connect as -d the driver class to use -i script file for initialization -e query that should be executed -f script file that should be executed -w (or) -
  • 直线无法连接到 hiveserver2(beeline not able to connect to hiveserver2)
    问题 我有一个 CDH 5.3 实例。 我首先启动 hive-metastore,然后从命令行启动 hive-server 来启动 hive-server2。 在此之后,我使用 beeline 连接到我的 hive-server2,但显然它不能这样做。 Could not open connection to jdbc:hive2://localhost:10000: java.net.ConnectException: Connection refused (state=08S01,code=0) 另一个问题,我尝试查看 hive-server2 是否正在侦听端口 10000。我执行了“ sudo netstat -tulpn | grep :10000 ”但没有任何应用程序出现。 我还在 hive-site.xml 中添加了以下属性但无济于事。 为什么它没有显示在 netstat 上? <property> <name>hive.server2.thrift.port</name> <value>10000</value> <description>TCP port number to listen on, default 10000</description> </property> 直线上的连接命令: !connect jdbc:hive2://localhost
  • Beeline – 命令行参数详解
    Beeline Shell 在嵌入式模式和远程模式下均可工作。在嵌入式模式下,它运行嵌入式 Hive(类似于Hive CLI),而远程模式用于通过 Thrift 连接到单独的 HiveServer2 进程。从Hive 0.14开始,当 Beeline 与 HiveServer2 一起使用时,它还会打印 HiveServer2 的日志消息,以查询执行到 STDERR 的查询。建议将远程 HiveServer2 模式用于生产环境,因为它更安全并且不需要为用户授予直接 HDFS /元存储访问权限。 Warning 在远程模式下,HiveServer2 仅接受有效的 Thrift 调用-即使在 HTTP 模式下,消息正文也包含 Thrift 有效负载。 Beeline Example % bin/beeline Hive version 0.11.0-SNAPSHOT by Apache beeline> !connect jdbc:hive2://localhost:10000 scott tiger !connect jdbc:hive2://localhost:10000 scott tiger Connecting to jdbc:hive2://localhost:10000 Connected to: Hive (version 0.10.0) Driver: Hive
  • beeline 连接,参数报错 Cannot modify ** at runtime. It is in the list of parameters that can‘t be modified
    CDH 大数据集群,使用beeline 连接hiveserver2时,后面跟spark的一些参数时。报错Failed to open new session: java.lang.IllegalArgumentException: Cannot modify hive.spark.client.server.connect.timeout at runtime. It is in the list of parameters that can't be modified at runtime or is prefixed by a restricted variable,详情如下: [wzqi@cdh1 shell]$ beeline -u 'jdbc:hive2://ha01.bg.hadoop:10000/default;principal=hive/ha01.bg.hadoop@HA.CDH' --hiveconf hive.merge.smallfiles.avgsize=16000000 --hiveconf hive.execution.engine=spark --hiveconf hive.server2.long.polling.timeout=50ms --hiveconf hive.mapjoin.smalltable.filesize=100000000 -
  • Hive命令和CLI(三)
    Beeline – 命令行Shell HiveServer2支持命令行工具Beeline, Beeline是一个基于SQLLine CLI的JDBC客户端。 SQLLine的使用规则也适用于Beeline。Beeline shell 既可以在本地模式下工作,也可以在远程模式下工作。在本地模式下,运行本地的Hive(类似于Hive CLI),而远程模式用于通过Thrift连接到单独的HiveServer2进程。从Hive 0.14开始,当Beeline与HiveServer2一起使用时,它还会打印HiveServer2的日志消息,以查询执行到STDERR的操作。建议将远程HiveServer2模式用于生产环境,因为它更安全并且不需要为用户授予直接HDFS /元存储访问权限。在远程模式下,HiveServer2仅接受有效的Thrift调用-即使在HTTP模式下,消息正文也包含Thrift有效负载。 Beeline例子 % bin/beeline Hive version 0.11.0-SNAPSHOT by Apache beeline> !connect jdbc:hive2://localhost:10000 scott tiger !connect jdbc:hive2://localhost:10000 scott tiger Connecting to jdbc:hive2
  • 【Hive】beeline连接报错 root is not allowed to impersonate root (state=08S01,code=0)
    User: root is not allowed to impersonate root (state=08S01,code=0) hive的客户端连接服务使用metastore连接hiveserver2没有出问题,而使用beeline连接hiveserver2却出现如下问题 Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop02:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate root (state=08S01,code=0) [root@hadoop01 lib]# beeline which: no hbase in (.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/vim82/bin:/usr/local/myJdk/bin
  • 通过DBeaver客户端连接Hive
    通过DBeaver客户端连接Hive 1、下载DBearver 下载地址:https://dbeaver.io/download/ 2、安装 双击进行安装 2、启动Hive相关服 启动hiveserver2服务 如果想远程连接hive,则需要启动hiveserver2 [hadoop@master ~]$ nohup hive --service hiveserver2 & #或者 [hadoop@master ~]$ nohup hiveserver2 & 2.1、通过beeline连接hive [hadoop@master ~]$ beeline SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/hadoop/apps/apache-hive-2.3.6/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/hadoop/apps/hadoop-2.7.7/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j
  • 启动hiveserver2连接不上jdbc:hive2://localhost:10000
    启动hiveserver2连接不上localhost:10000,中间试了很多方法,总结就是/hadoop-3.2.1/etc/hadoop的core-site.xml少了以下配置,加入以下配置后问题成功解决。 1、修改hadoop的core-site.xml #进入/hadoop-3.2.1/etc/hadoop/core-site.xml文件,增加以下设置,下面beeline的账号为什么,这是的账号就是什么 <property> <name>hadoop.proxyuser.账号.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.账号.groups</name> <value>*</value> </property> 例如,下面的账号是zheng,那这里就写 <property> <name>hadoop.proxyuser.zheng.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.zheng.groups</name> <value>*</value> </property> 2、保存好后需要重启hadoop #进入/hadoop-3.2.1/sbin $ ./stop
  • 在beeline配置单元中导出为csv(Export as csv in beeline hive)
    问题 我正在尝试将我的蜂巢表导出为beeline蜂巢中的csv。 当我运行命令!sql select * from database1 > /user/bob/output.csv这会给我语法错误。 我现在已使用以下命令成功连接到数据库。 该查询在控制台上输出正确的结果。 beeline -u 'jdbc:hive2://[databaseaddress]' --outputformat=csv 另外,不清楚文件的最终位置。 应该是hdfs中的文件路径正确吗? 回答1 当配置单元版本至少为0.11.0时,您可以执行: INSERT OVERWRITE LOCAL DIRECTORY '/tmp/directoryWhereToStoreData' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY "\n" SELECT * FROM yourTable; 从hive / beeline中将表存储到本地文件系统上的目录中。 或者,使用beeline将SELECT查询保存在yourSQLFile.sql中并运行: beeline -u 'jdbc:hive2://[databaseaddress]' --outputformat=csv2 -f yourSQlFile.sql >
  • Jdbc Hive2无效的网址异常(Jdbc Hive2 Invalid Url Exception)
    问题 我有一个Hortonwork集群(Linux),并且想使用JDBC从远程主机将数据加载到Hive中。 我试图首先使JDBC连接在群集上本地工作,以便我知道在远程尝试之前它已经正确完成了。 Hive已成功安装,我可以通过beeline进行连接而不会出现任何问题: /usr/lib/hive/bin/beeline Beeline version 0.13.0.2.1.4.0-632 by Apache Hive beeline> !connect jdbc:hive2://localhost:10000 scan complete in 3ms Connecting to jdbc:hive2://localhost:10000 Enter username for jdbc:hive2://localhost:10000: someuser Enter password for jdbc:hive2://localhost:10000: ****** Connected to: Apache Hive (version 0.13.0.2.1.4.0-632) Driver: Hive JDBC (version 0.13.0.2.1.4.0-632) Transaction isolation: TRANSACTION_REPEATABLE_READ 我的java类看起来像:
  • Jdbc Hive2 Invalid Url Exception
    I have a Hortonwork cluster (Linux) and want to use JDBC for loading data into Hive from a remote host. I am trying to get the JDBC connection to work locally on the cluster first so that I know I have done it correct before trying remotely. Hive has been succesfully installed and I can connect through beeline without any problems: /usr/lib/hive/bin/beeline Beeline version 0.13.0.2.1.4.0-632 by Apache Hive beeline> !connect jdbc:hive2://localhost:10000 scan complete in 3ms Connecting to jdbc:hive2://localhost:10000 Enter username for jdbc:hive2://localhost:10000: someuser Enter password for
  • java连接hive1.2.2执行hive sql
    仅仅通过./hive启动hive1.2.2的话,hive本质上就相当于hdfs的一个客户端,本身并不是一个服务,如果想要通过java代码以jdbc的方式去连接hive,那么首先要解决的是把hive变成服务器上的一个服务。 以jdbc方式连接hive的步骤: 一、以./hive --service hiveserver2的方式启动hive [root@node113 /usr/local/hive/apache-hive-1.2.2-bin/bin]#./hive --service hiveserver2 hive会卡在这里,另开一个窗口,hive如果作为服务启动的话,默认占用10000端口: [root@node113 ~]#netstat -tunpl|grep 10000 tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 31627/java 在以前老的版本里面绑定的是127.0.0.1:10000,需要修改 <property> <name>hive.server2.thrift.bind.host</name> <value>localhost</value> <description>Bind host on which to run the HiveServer2 Thrift service.</description> <
  • 在 Beeline (Hive) 中添加本地文件(Adding Local Files in Beeline (Hive))
    问题 我正在尝试通过 Beeline 客户端添加本地文件,但是我一直遇到一个问题,它告诉我该文件不存在。 [test@test-001 tmp]$ touch /tmp/m.py [test@test-001 tmp]$ stat /tmp/m.py File: ‘/tmp/m.py’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 801h/2049d Inode: 34091464 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1036/ test) Gid: ( 1037/ test) Context: unconfined_u:object_r:user_tmp_t:s0 Access: 2017-02-27 22:04:06.527970709 +0000 Modify: 2017-02-27 22:04:06.527970709 +0000 Change: 2017-02-27 22:04:06.527970709 +0000 Birth: - [test@test-001 tmp]$ beeline -u jdbc:hive2://hs2-test:10000/default -n r-zubis Connecting to jdbc:hive2://hs2
  • 如何从Spark连接到远程Hive服务器(How to connect to remote hive server from spark [duplicate])
    问题 这个问题已经在这里有了答案: 如何在没有hive-site.xml的情况下将Spark SQL连接到远程Hive Metastore(通过节俭协议)? (8个答案) 去年关闭。 我正在本地运行spark,并希望访问位于远程Hadoop集群中的Hive表。 我可以通过在SPARK_HOME下启动beeline来访问配置单元表 [ml@master spark-2.0.0]$./bin/beeline Beeline version 1.2.1.spark2 by Apache Hive beeline> !connect jdbc:hive2://remote_hive:10000 Connecting to jdbc:hive2://remote_hive:10000 Enter username for jdbc:hive2://remote_hive:10000: root Enter password for jdbc:hive2://remote_hive:10000: ****** SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/ml/spark/spark-2.0.0/jars/slf4j-log4j12-1.7.16.jar
  • Hive使用beeline(KERBEROS)
    使用beeline连接hive两种方式 1、启动hiveserver2 #进入hive安装目录 cd /usr/local/hive目录 #启动hive2目录 bin/hive --service hiveserver2 2、克隆会话启动beeline #进入hive安装目录 cd /usr/local/hive目录 #启动beeline bin/beeline 3、使用全局 beeline -u beeline -u jdbc:hive2://localhost:10000/default -n root 4、beeline添加kerberos 在连接中添加principal但是会提示不支持的机制类型 beeline -u jdbc:hive2://172.17.109.152:10000/default;principal=hive/rdsp-nn-02.cars.com@CARS.COM 错误:Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000/default: Peer indicated failure: Unsupported mechanism type PLAIN (state=08S01,code=0) 其实只需要添加"" beeline -u
  • 分布式SQL引擎之ThriftServer服务和beeline
    文章目录 概述启动ThriftServer服务使用Beeline连接(类似Hive中beeline客户端)测试 概述 Spark Thrift Server将Spark Applicaiton当做一个服务运行,提供Beeline客户端和JDBC方式访问,与Hive中HiveServer2服务一样的。 注: Spark Thrift JDBC/ODBC Server 依赖于HiveServer2服务(依赖JAR包),所有要想使用此功能,在编译Spark源码时,支持Hive Thrift。 启动ThriftServer服务 启动ThriftServer之前需要开启hive的元数据库的服务metastore: nohup /export/server/hive/bin/hive --service metastore & 在Spark软件包的目录下的sbin目录,有相关的服务启动命令: SPARK_HOME=/export/server/spark $SPARK_HOME/sbin/start-thriftserver.sh \ --hiveconf hive.server2.thrift.port=10000 \ --hiveconf hive.server2.thrift.bind.host=node1.itcast.cn \ --master local[2] \ --conf