我正在尝试通过 Beeline 客户端连接到我的机器中安装的配置单元。当我给出“直线”命令并连接到 Hive 时,客户端要求输入用户名和密码
!connect jdbc:hive2://localhost:10000/default
我不知道我应该提供的用户名和密码是什么。我是否必须在某些配置文件中添加凭据(用户名和密码)?
beeline --incremental=true
注意:命令行选项“--incremental=true”是可选的,但会延长您可以保持空闲且连接不中断的时间。
!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:// silver-server-hive.app.google.com:10000/default:suman
Enter password for jdbc:hive2:// silver-server-hive.app.google.com:10000/default: *********
set mapred.job.queue.name=<your queue name>;
注意:您需要设置队列才能运行查询。
USE google_map_data;
注意:执行查询时,您应该在数据库中。
!reconnect jdbc:hive2:// silver-server-hive.app.google.com:10000/default;
!quit
笔记:
beeline -u jdbc:hive2:// silver-server-hive.app.google.com:10000\
-n <yourname> -p <yourpassword> --incremental=true**
Beeline 支持一组丰富的 SQL 查询函数。
SHOW DATABASES;
USE <database>;
SHOW TABLES;
DESC <table>;
DESC FORMATTED <table>;
SELECT * FROM google_map_city limit 25;
没有用户名和密码。
!connect jdbc:hive2://localhost:10000/default
Enter username for jdbc:hive2://localhost:10000/default: <press Enter>
Enter password for jdbc:hive2://localhost:10000/default: <press Enter>
只需按回车键。这个对我有用。
或者试试这个。
!connect jdbc:hive2://localhost:10000/default "" "" ""
使用直线连接启用 Kerberos 安全性的配置单元服务器
beeline -u "jdbc:hive2://<Server Ip>:<port>/sample;principal=<hive user>/<Server Ip>@<relam>;retries=3"
例子
beeline -u "jdbc:hive2://10.10.10.10:8071/sample;principal=hive/10.10.10.10@abc.com;retries=3"
您可以使用@sravan 提到的空白用户名和密码。这将以运行 hiveserver2 进程的用户身份执行查询。
但是,如果您hive.server2.enable.doAs
在 hive-site.xml 中设置了该属性,或者在运行 hiveserver2 时将其放入 hiveconf 中,那么您可以选择通过提示传递用户名和密码。在这种情况下,hive 将使用给定的密码作为传递的用户名执行查询。这里的用户名是系统用户名。
在某些情况下,它是必需的 - 假设您以用户“hive”的身份运行 hiveserver2 进程,但您有一个使用 HDFS 路径 /user/alex/table1 定义的外部表,该表由用户“alex”拥有,其他用户没有对此位置的读/写访问权限。在这种情况下,将查询作为“hive”运行 - 通过输入空的用户名和密码 - 将不起作用,因为它将无法访问目录并引发权限被拒绝异常。
它是用于登录集群的用户 ID 和密码。有时它是您用来登录服务器的边缘节点凭据。避免这种情况的最佳方法是使用以下命令
beeline -u jdbc:hive2://localhost:10000/default
如果您已经通过 putty 登录到某个节点,则不会提示您输入任何用户 ID 或密码。
编辑
技巧:为了避免重复输入整个直线字符串,最好在 bash_profile 文件中创建一个别名。
只需在 bash 配置文件中添加以下行(使用@Harsimranjit Singh Kler 建议的 kerberos 安全性)
beeline -u jdbc:hive2://<hostname>:10000/default;principal=hive/<hostname>@<realm>;ssl=true;
并获取 bash_profile ( source .bash_profile
) 即可。下次只需键入beeline
,它将连接到 hive2 服务器
hive-site.xml
是的,您可以在 tge 文件夹内的文件中设置用户名和密码conf
。默认凭据是APP
/ mine
。
• 在一个命令中加载beeline、URL 并提供您的用户名和密码:
**beeline -u jdbc:hive2:// silver-server-hive.app.google.com:10000\
-n <yourname> -p <yourpassword> --incremental=true**