Hadoop 配置单元ODBC连接器设置
我将unixodbc配置为在Linux Mint机器中使用cloudera的hive连接器, 但在尝试连接到hive(例如,使用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/
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