Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 配置单元ODBC连接器设置_Hadoop_Odbc_Hive_Cloudera_Unixodbc - Fatal编程技术网

Hadoop 配置单元ODBC连接器设置

Hadoop 配置单元ODBC连接器设置,hadoop,odbc,hive,cloudera,unixodbc,Hadoop,Odbc,Hive,Cloudera,Unixodbc,我将unixodbc配置为在Linux Mint机器中使用cloudera的hive连接器, 但在尝试连接到hive(例如,使用isql-v hive)时,我一直收到以下错误 我想我用正确的方式设置了/etc/odbcinst.ini和~/.odbc.ini: # content of /etc/odbcinst.ini [hive] Description = Cloudera ODBC Driver for Apache Hive (64-bit) Driver=/opt/cloudera/

我将unixodbc配置为在Linux Mint机器中使用cloudera的hive连接器, 但在尝试连接到hive(例如,使用
isql-v hive
)时,我一直收到以下错误

我想我用正确的方式设置了/etc/odbcinst.ini和~/.odbc.ini:

# content of /etc/odbcinst.ini
[hive]
Description = Cloudera ODBC Driver for Apache Hive (64-bit)
Driver=/opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so
ODBCInstLib=libodbcinst.a(libodbcinst.so.1)
UsageCount  = 1
DriverManagerEncoding=UTF-16
ErrorMessagesPath=/opt/cloudera/hiveodbc/ErrorMessages/
LogLevel=0
SwapFilePath=/tmp
我的~/.odbc.ini文件包含:

[hive]
Description=Cloudera ODBC Driver for Apache Hive (64-bit) DSN 
Driver = hive
ErrorMessagesPath=/opt/cloudera/hiveodbc/ErrorMessages/
# Values for HOST, PORT, KrbHostFQDN, and KrbServiceName should be set here.
# They can also be specified on the connection string.
HOST= <the host>
PORT= <the port>
Schema=<the schema>
# .. etc
[hive]
Description=用于Apache配置单元(64位)DSN的Cloudera ODBC驱动程序
驱动器=蜂箱
ErrorMessagesPath=/opt/cloudera/hiveodbc/ErrorMessages/
#应在此处设置主机、端口、KrbHostFQDN和KrbServiceName的值。
#也可以在连接字符串上指定它们。
主机=
端口=
模式=
# .. 等
你能帮我找出错误的原因吗?

什么原因

ldd /opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so
给你看

可能是驱动程序未链接到libodbcinst.so

你可以试试看

LD_PRELOAD=/usr/local/libodbcinst.so

或者无论您的计算机上的libodbcinst.so位于何处。

您确定您的ODBCInstLib设置正确吗

我的Vertica驱动程序遇到了同样的问题,我的libodbcinst.so.1最终需要一个绝对路径:/usr/lib/x86_64-linux-gnu/libodbcinst.so.1


我通过运行libodbcinst的Find来确定路径。因此。

这可能会有帮助:谢谢sonic,但没有帮助:)我已经设置了环境变量,但错误仍然存在。有这个变量LD_LIBRARY_路径集吗?@sonic是的,它是setLD_PRELOAD=/usr/local/libodbcinst。因此,我也解决了这个问题。谢谢。
LD_PRELOAD=/usr/local/libodbcinst.so