作者:郭奥门

爱可生 DBLE 研发成员,负责分布式数据库中间件的新性能开发,答复社区/客户/外部提出的一般性问题。

本文起源:原创投稿

*爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。

背景

鲲鹏 920 处理器是华为在 2019 年 1 月公布的数据中心高性能处理器,由华为自主研发设计,旨在满足数据中心多样性计算、绿色计算等需要。鲲鹏处理器基于 ARM 架构。

ARM 是一种 CPU 架构,有别于 Intel&AMD 的CPU 采纳的 CISC 简单指令集;ARM CPU 采纳 RISC 精简指令集(reduced instruction set computer,精简指令集计算机)。

近几年为了响应国产化的号召,越来越多的国内厂商也逐步应用华为鲲鹏920的服务器来代替之前的服务器。最近也是有很多社区小伙伴在鲲鹏的服务器上安装dble时遇到了一些问题,这里总结了一下装置步骤。

步骤

DBLE 的 GitHub 文档《0.3 疾速开始》是基于 x86 处理器的服务器的装置教程,在基于 ARM 处理器的服务器上安装 DBLE 时可能会报以下谬误:

[root@huawei bin]# ./dble startUnable to locate any of the following operational binaries:  /opt/dble/bin/./wrapper-linux-aarch64-64  /opt/dble/bin/./wrapper-linux-aarch64-32  /opt/dble/bin/./wrapper

这时咱们须要先执行以下步骤:

1.补齐 wrapper 须要的文件

  • 从 java service wrapper 下载并解压 ARM 架构的文件
wget https://download.tanukisoftware.com/wrapper/3.5.40/wrapper-linux-armhf-64-3.5.40.tar.gztar zxvf wrapper-linux-armhf-64-3.5.40.tar.gz
  • 将 bin/wrapper 拷贝至 dble/bin 目录下
  • 将 lib/libwrapper.so 拷贝至 dble/lib 目录下

2.装置鲲鹏版 jdk

环境变量等问题不在此赘述,自行 Google 解决(adoptopenjdk 官网、编译工具 — AdoptOpenJDK)。

3.启动 DBLE

查看 wrapper.log,如呈现相似以下的日志示意 DBLE 启动胜利。

STATUS | wrapper  | 2021/01/08 13:45:15 | --> Wrapper Started as DaemonSTATUS | wrapper  | 2021/01/08 13:45:15 | Java Service Wrapper Community Edition 64-bit 3.5.40STATUS | wrapper  | 2021/01/08 13:45:15 |   Copyright (C) 1999-2019 Tanuki Software, Ltd. All Rights Reserved.STATUS | wrapper  | 2021/01/08 13:45:15 |     http://wrapper.tanukisoftware.comSTATUS | wrapper  | 2021/01/08 13:45:15 |STATUS | wrapper  | 2021/01/08 13:45:16 | Launching a JVM...INFO   | jvm 1    | 2021/01/08 13:45:16 | Listening for transport dt_socket at address: 8088INFO   | jvm 1    | 2021/01/08 13:45:16 | WrapperManager: Initializing...INFO   | jvm 1    | 2021/01/08 13:45:19 | Server startup successfully. dble version is [5.7.21-dble-3.20.10.99-cdc0923be854d91a0f942a9027bef1454057bde3-20210107185349]. Please see logs in logs/dble.log

4.连贯验证

查看 user.xml 文件中的 shardingUser 用户,并应用 mysql 客户端建设连贯,如呈现以下状况示意连贯建设胜利

[root@localhost ~]# mysql -uroot -p123456 -P8066 -hyour_ip
mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.7.11-dble-3.20.10.0-b29c7c91ac638509dbc4f2c146aea41c3f9f0b83-20201203053354 dble Server (ActionTech) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases;+----------+| DATABASE |+----------+| testdb   |+----------+1 row in set (0.04 sec) mysql> use testdb;Database changed

留神

  • wrapper 版本为 3.5.40,不统一会报错
INFO   | jvm 1    | 2021/01/08 16:12:21 | WrapperManager: ERROR - The version of the Wrapper which launched this JVM is "3.5.42"INFO   | jvm 1    | 2021/01/08 16:12:21 | WrapperManager:         while the version of the Wrapper jar file currently in useINFO   | jvm 1    | 2021/01/08 16:12:21 | WrapperManager:         is "3.5.40".INFO   | jvm 1    | 2021/01/08 16:12:21 | WrapperManager:STATUS | wrapper  | 2021/01/08 16:12:23 | <-- Wrapper Stopped
  • 不应用鲲鹏版的 jdk 也是能够启动胜利,不过在理论应用过程中可能会呈现无奈预知的问题(比方之前遇到应用 Oracle 的 ARM 版 jdk,DBLE 能够启动,然而队列无奈工作,会阻塞工作)