暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase 学习笔记6:如何使用 RPM 包安装 OBProxy?

293

OBProxy 可以将用户发起的数据访问请求转发到正确的 OBServer 上,转发到后端 OBServer 的请求返回数据时,依然要通过 OBProxy 回发给客户端。本文主要介绍通过如何使用 RPM 包安装 OBProxy。

说明

  • OBProxy 在任何一台机器上部署后,通过向外暴露一个 ip:port 来提供 OceanBase 的代理服务。用户可以像访问 MySQL 数据库一样通过该 ip:port 访问 OceanBase 数据库,一般推荐部署在 OBServer 节点上。

  • 建议一台机器上只部署一个 OBProxy 服务,并且使用约定的 2883 端口。当同一台机器上部署多个OBProxy 服务时,需要指定不同端口和不同的配置文件路径予以区分,端口可以自定义为 3306、1521 或者其他端口。

安装 OBProxy

其中 $rpm_dir 表示存放 RPM 包的目录,$rpm_name 表示 RPM 包的名称。

cd $rpm_dir
sudo rpm -ivh $rpm_name

示例如下:

[admin@test rpm]$ sudo rpm -ivh obproxy-ce-3.2.3-2.el7.x86_64.rpm
Preparing...                          ################################[100%]
Updating / installing...
   1:obproxy-ce-3.2.3-2.el7           ################################[100%]

初始化 OBProxy

OBProxy 需要跟后端 OBServer 节点保持通信,所以需要提前在 OceanBase 集群的 sys 租户下为 OBProxy 创建连接用户(proxyro)和密码。后续在启动 OBProxy 时可通过设置 proxy 启动参数的方式来告知 proxy。

说明

proxyro 用户是 OBProxy 访问 OceanBase 集群的用户。一个 OceanBase 集群对应一个 proxyro 账号。

您可参考如下步骤查看集群中是否存在 proxyro 用户:

  1. 通过 IP 直连登录到集群。

    obclient -h172.xx.xxx.25 -uroot@sys -P2881 -pxxxxx
    
  2. 执行以下命令查看 sys 租户下的用户。

    obclient> select user,password from mysql.user;
    +------------+--------- -----------+
    | user       | password            |
    +------------+---------------------+
    | root       |                     |
    | ORAAUDITOR | *975xxxxxxxxxxxxx23 |
    | proxyro    | *e32xxxxxxxxxxxxx70 |
    +------------+---------------------+
    3 rows in set (0.008 sec)
    

    若输出结果显示已有 proxyro 用户,可直接执行 启动 OBProxy。若输出结果中无 proxyro 用户,可参考下述命令创建 proxyro 用户。

  3. 创建 proxyro 用户。

    示例如下:

    $ obclient -h172.xx.xxx.25 -uroot@sys -P2881 -pxxxxx
    
    obclient> CREATE USER proxyro IDENTIFIED BY '******';
    Query OK, 0 rows affected
    
    obclient> GRANT SELECT ON *.* TO proxyro;
    Query OK, 0 rows affected
    
    obclient> SHOW GRANTS FOR proxyro;
    +----------------------------------+
    | Grants for proxyro@%             |
    +----------------------------------+
    | GRANT SELECT ON *.* TO 'proxyro' |
    +----------------------------------+
    1 row in set
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论