Doris BE节点上安装ODBC

一.安装UnixODBC

  1. 用yum安装OBDC
    yum install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel
  2. 或者下载安装(不推荐)
    下载路径:ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC_2.3.9_Solaris.tgz
    2.1 将unixODBC-2.3.9.tar.gz放到/root目录
    2.2 解压:tar -zxvf unixODBC-2.3.9.tar.gz
    2.3 进入解压目录:cd unixODBC-2.3.9
    2.4 执行配置:./configure --prefix=/usr/local/unixODBC-2.3.9 --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/etc
    2.5 安装: make
    2.6 安装:make install

二.安装oracle的ODBC驱动

1、安装以下两个rpm软件包:
oracle-instantclient19.13-basic-19.13.0.0.0-2.x86_64.rpm
oracle-instantclient19.13-odbc-19.13.0.0.0-2.x86_64.rpm
包下载地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html (需要注册)

  1. 上传到/root目录下,执行以下下命令安装
    rpm -ivh oracle-instantclient19.13-basic-19.13.0.0.0-2.x86_64.rpm
    rpm -ivh oracle-instantclient19.13-odbc-19.13.0.0.0-2.x86_64.rpm
  2. 拷贝/usr/lib/oracle/11.2/client64/lib/*到/usr/lib/目录下。
    cp -r /usr/lib/oracle/19.13/client64/lib/* /usr/lib/
  3. 执行ldconfig命令
    ldconfig

说明:ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib.so),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.

三.安装mysql的OBDC驱动

  1. 下载mysql ODBC驱动
    https://dev.mysql.com/downloads/connector/odbc/
    注意下载对应的版本,在Centos 运行 uname -r 查看版本
    如果下载版本不匹配,安装会提示相关依赖关系未找到而导致出错。
[root@SJQ-DN-UAT03 conf]# uname -r
3.10.0-1160.25.1.el7.x86_64

所以,我下载的版本是mysql-connector-odbc-8.0.27-1.el7.x86_64.rpm,下载链接:
https://cdn.mysql.com//Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.27-1.el7.x86_64.rpm

  1. 把下载好的rpm文件上传/root
  2. 进入/root目录使用以下命令安装
    rpm -ivh mysql-connector-odbc-8.0.17-1.el7.x86_64.rpm
  3. 安装完毕后,可以进行mysql连接测试,可参考下面的博文
    https://blog.csdn.net/seakingx/article/details/97266160
  4. 执行ldconfig命令
    ldconfig

四.进入BE节点conf目录修改odbcinst.ini

  1. vim /your doris path/be/conf/odbcinst.ini
  2. 找到oracle ODBC的配置位置,主要看一下libsqora.so.19.1的路径对不对
# Driver from the oracle-connector-odbc package
# Setup from the unixODBC package
[Oracle 19 ODBC driver]
Description=Oracle ODBC driver for Oracle 19
Driver=/usr/lib/libsqora.so.19.1
  1. mylsq ODBC同理
  2. 如果正确按照上面的所有步骤把其他节点的BE节点都装一下,可以写个sh批量做

下面是之前的安装步骤,不用看

[mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit.tar.gz](https://cdn.mysql.com//Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit.tar.gz)
2. 上传到/root目录下,执行以下下命令解压
```tar -zxvf mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit.tar.gz```
3. 进入解压目录下的bin目录,执行一下安装命令
```cd mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit/bin```
```./myodbc-installer -d -a -n "MySQL ODBC 8.0 Unicode Driver" -t "DRIVER=/usr/lib64/libmyodbc8w.so;SETUP=/usr/lib64/libmyodbc8w.so"```
4. 复制```lib```下的两个```libmyodbc8a.so libmyodbc8w.so```文件至 ```/usr/lib /usr/lib64``` 下
```cp libmyodbc8* /usr/lib```
```cp libmyodbc8* /usr/lib64```
5. 进入```/usr/lib64```目录下用```ldd```命令查看```libmyodbc8w.so```依赖是否齐全,如果不齐全按照第6步进行
```ldd libmyodbc8w.so```
> 运行完上面的命令后,我自己的是没有找到```libcrypto.so```和```libssl.so```,如果你们是别的可以找找资料解决,或者在```/root/mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit/lib/private/```下找找有没有想要的```lib```,如果有,就按照第6步弄一下,理论上应该会好

6.复制```lib/private```下的```libcrypto.so```和```libssl.so```文件至```/usr/lib64```
```cp -r libcrypto.so* /usr/lib64```
```cp -r libssl.so* /usr/lib64```
> 这一步可有可无,主要在于第五步检测完依赖后,如果依赖都正常则不需要做这第6步

ldd libmyodbc8w.so
ln -s /usr/lib64/libcrypto.so.1.1 /usr/lib64/./libcrypto.so.1.1
```cd /etc/ld.so.conf.d/```
```cp mariadb-x86_64.conf mysql-x86_64.conf```
```vim mysql-x86_64.conf```

mysql-x86_64.conf中写入:

/usr/lib64


你可能感兴趣的:(Doris BE节点上安装ODBC)