MatrixOne从入门到实践03——部署MatrixOne

Selenium基于Python的web自动化测试框架(1)-环境搭建 环境搭建前言一、selenium简介二、环境搭建1. 笔者环境2. Python安装2.1 原料:2.2 步骤恭喜你,python安装成功。开始你的代码之旅吧 前言 学习python+selenium实现UI自动化测试,要有一些HTML和xpth的基础,当然python基础一定是必须要会的。笔者建议花点时间了解下相关基础知识,不至于后面发懵。 Python:http://www.runoob.co... 阅读详情

MatrixOne从入门到实践——部署MatrixOne

前两章节我们简单介绍了MatrixOne和源码编译了MatrixOne。本章节将使用不同的部署方式,来部署MatrixOne的服务。

注意:不同版本的MO,启动所使用的的命令不一样,请执行相应版本的启动命令!

源码部署

源码编译

源码编译直通车:MatrixOne从入门到实践——源码编译

上一章节讲了MatrixOne的源码编译,在编译完成之后,会在当前目录生成一个二进制文件:mo-service

目录结构如下所示:

drwxr-xr-x.  4 root root      4096 Sep  6 14:32 cgo
drwxr-xr-x.  3 root root        24 Sep  6 14:32 cmd
-rw-r--r--.  1 root root      3371 Sep  6 14:11 CODE_OF_CONDUCT.md
-rw-r--r--.  1 root root      2597 Sep  6 14:32 CODEOWNERS
-rw-r--r--.  1 root root      3704 Sep  6 14:11 CONTRIBUTING.md
drwxr-xr-x.  5 root root        38 Sep  6 14:11 docs
drwxr-xr-x.  4 root root      4096 Sep  6 19:06 etc
-rw-r--r--.  1 root root      6079 Sep  6 19:07 go.mod
-rw-r--r--.  1 root root     70341 Sep  6 14:32 go.sum
-rw-r--r--.  1 root root     11309 Sep  6 14:11 LICENSE
drwxr-xr-x.  2 root root        76 Sep  6 14:11 LICENSES
-rw-r--r--.  1 root root      5322 Sep  6 14:32 Makefile
-rwxr-xr-x.  1 root root  68334672 Sep  6 19:07 mo-service
-rw-------.  1 root root 624590427 Sep  8 16:24 nohup.out
drwxr-xr-x.  6 root root       102 Sep  6 14:32 optools
drwxr-xr-x. 27 root root      4096 Sep  6 14:32 pkg
drwxr-xr-x.  2 root root       201 Sep  6 19:06 proto
-rw-r--r--.  1 root root     11791 Sep  6 14:32 README_CN.md
-rw-r--r--.  1 root root     31404 Sep  6 14:32 README.md
drwxr-xr-x.  6 root root        65 Sep  6 19:13 store
drwxr-xr-x.  5 root root        50 Sep  6 19:06 test

部署

./mo-service -cfg ./etc/cn-standalone-test.toml

启动成功后会有一下日志显示:

{"level":"INFO","time":"2022/09/08 16:27:14.821702 +0800","caller":"frontend/session.go:842","msg":"dbName mo_catalog tableNames [mo_database mo_tables mo_columns mo_user mo_account mo_role mo_user_grant mo_role_grant mo_role_priv]"}
{"level":"INFO","time":"2022/09/08 16:27:14.821934 +0800","caller":"frontend/mysql_cmd_executor.go:1921","msg":"time of Exec.Build : 536.76µs","span":{"TraceId":"0b15b180-2f50-11ed-923c-000c29a35f3c","SpanId":"0000000000000000"}}
{"level":"INFO","time":"2022/09/08 16:27:14.822689 +0800","caller":"compile/scope.go:44","msg":"\t:2 filter(typ:<id:10 size:1 > f:<func:<obj:73014444032 > args:<typ:<id:10 size:1 > f:<func:<obj:12 obj_name:\"=\" > args:<typ:<id:61 width:100 > col:<col_pos:1 name:\"mo_tables.reldatabase\" > > args:<typ:<id:61 width:10 size:4 > c:<sval:\"mo_catalog\" > > > > args:<typ:<id:10 size:1 > f:<func:<obj:4294967308 obj_name:\"<>\" > args:<typ:<id:61 width:100 > col:<name:\"mo_tables.relname\" > > args:<typ:<id:61 width:23 size:4 > c:<sval:\"%!%mo_increment_columns\" > > > > > ) -> projection(typ:<id:61 width:100 > col:<name:\"mo_tables.relname\" > ) -> projection(typ:<id:61 width:100 > col:<name:\"mo_tables.relname\" > ) -> pipe connector"}
{"level":"INFO","time":"2022/09/08 16:27:14.822737 +0800","caller":"compile/scope.go:44","msg":":0  union all  -> sql output"}
{"level":"DEBUG","time":"2022/09/08 16:27:14.822785 +0800","caller":"moengine/helper.go:41","msg":"try set 18 txn access info to t0(true) u0(true) r0(true), ","span":{"TraceId":"00000000-0000-0000-0000-000000000000","SpanId":"0000000000000000"}}
{"level":"INFO","time":"2022/09/08 16:27:14.823203 +0800","caller":"frontend/mysql_cmd_executor.go:2004","msg":"time of Exec.Run : 1.150387ms"}
{"level":"INFO","time":"2022/09/08 16:27:14.823247 +0800","caller":"frontend/mysql_cmd_executor.go:2277","msg":"----close mce"}
{"level":"INFO","time":"2022/09/08 16:27:14.823469 +0800","caller":"frontend/server.go:38","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823528 +0800","caller":"frontend/server.go:39","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823536 +0800","caller":"frontend/server.go:40","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823542 +0800","caller":"frontend/server.go:41","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823548 +0800","caller":"frontend/server.go:42","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823557 +0800","caller":"frontend/server.go:43","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823563 +0800","caller":"frontend/server.go:44","msg":"Server Listening on : 0.0.0.0:6001 "}
{"level":"INFO","time":"2022/09/08 16:27:14.823569 +0800","caller":"frontend/server.go:45","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823575 +0800","caller":"frontend/server.go:46","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823580 +0800","caller":"frontend/server.go:47","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823585 +0800","caller":"frontend/server.go:48","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823590 +0800","caller":"frontend/server.go:49","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"INFO","time":"2022/09/08 16:27:14.823600 +0800","caller":"frontend/server.go:50","msg":"++++++++++++++++++++++++++++++++++++++++++++++++"}
{"level":"DEBUG","time":"2022/09/08 16:27:14.823632 +0800","caller":"v2@v2.0.3-0.20220812142536-dfcb3d33cfdc/application.go:190","msg":"application started","listen-address":"0.0.0.0:6001"}
{"level":"INFO","time":"2022/09/08 16:27:14.823772 +0800","caller":"morpc/client.go:299","msg":"gc inactive backends task started"}
{"level":"DEBUG","time":"2022/09/08 16:27:14.823872 +0800","caller":"v2@v2.0.3-0.20220812142536-dfcb3d33cfdc/application.go:246","msg":"application accept loop started","listen-address":"0.0.0.0:6001"}

此时看见 application accept loop started,代表程序已经启动成功,但是此时是在前台启动的程序,当前界面会一直打印日志,因此,可以选择如下命令来启动mo-service:

nohup ./mo-service -cfg ./etc/cn-standalone-test.toml &

日志就会输出在当前目录下的nohup.out文件中。

二进制包部署

从 0.3.0 版本开始,就可以直接下载二进制包,然后在 X86_64 Linux 环境或者 X86_64 的 MacOS 环境中运行 MatrixOne。

下载二进制包

解压并部署

解压我们上一步下载的压缩包

unzip mo-server-v0.5.1-linux-amd64.zip
# 如提示没有unzip 命令,请使用下列命令安装
yum install -y unzip 

解压完成后会有一个二进制文件,如下所示

[root@node01 matrixone]# unzip mo-server-v0.5.1-linux-amd64.zip 
Archive:  mo-server-v0.5.1-linux-amd64.zip
  inflating: mo-server               
  inflating: system_vars_config.toml  
[root@node01 matrixone]# ll
total 53200
-rwxr-xr-x. 1 root root 38715328 Aug 19 10:35 mo-server
-rw-r--r--. 1 root root 15747914 Aug 19 10:35 mo-server-v0.5.1-linux-amd64.zip
-rw-r--r--. 1 root root    10755 Aug 19 10:35 system_vars_config.toml

准备部署MO的服务

./mo-server ./system_vars_config.toml

启动后,有如下日志,就说明启动成功

{"level":"INFO","time":"2022/09/08 16:54:58.592942 +0800","caller":"frontend/mysql_cmd_executor.go:1639","msg":"time of Exec.Build : 10.615µs"}
{"level":"INFO","time":"2022/09/08 16:54:58.592967 +0800","caller":"frontend/mysql_cmd_executor.go:1763","msg":"time of Exec.Run : 9.16µs"}
{"level":"INFO","time":"2022/09/08 16:54:58.592982 +0800","caller":"frontend/mysql_cmd_executor.go:1769","msg":"time of SendResponse 76ns"}
{"level":"INFO","time":"2022/09/08 16:54:58.592996 +0800","caller":"frontend/session.go:537","msg":"commit autocommit only"}
{"level":"INFO","time":"2022/09/08 16:54:58.593004 +0800","caller":"frontend/session.go:84","msg":"switch from 2 to 3"}
{"level":"INFO","time":"2022/09/08 16:54:58.593014 +0800","caller":"frontend/session.go:608","msg":"clean tae txn"}
{"level":"INFO","time":"2022/09/08 16:54:58.593020 +0800","caller":"frontend/session.go:84","msg":"switch from 3 to 0"}
{"level":"INFO","time":"2022/09/08 16:54:58.593164 +0800","caller":"frontend/session.go:452","msg":"start txn autocommit if needed"}
{"level":"INFO","time":"2022/09/08 16:54:58.593175 +0800","caller":"frontend/session.go:375","msg":"current txn state 0"}
{"level":"INFO","time":"2022/09/08 16:54:58.593181 +0800","caller":"frontend/session.go:457","msg":"need create new txn"}
{"level":"INFO","time":"2022/09/08 16:54:58.593187 +0800","caller":"frontend/session.go:438","msg":"start txn by autocommit"}
{"level":"INFO","time":"2022/09/08 16:54:58.593198 +0800","caller":"frontend/session.go:84","msg":"switch from 0 to 2"}
{"level":"INFO","time":"2022/09/08 16:54:58.593205 +0800","caller":"frontend/mysql_cmd_executor.go:1529","msg":"start autocommit txn in default"}
{"level":"INFO","time":"2022/09/08 16:54:58.593219 +0800","caller":"frontend/mysql_cmd_executor.go:1639","msg":"time of Exec.Build : 4.645µs"}
{"level":"INFO","time":"2022/09/08 16:54:58.593238 +0800","caller":"frontend/mysql_cmd_executor.go:1763","msg":"time of Exec.Run : 4.643µs"}
{"level":"INFO","time":"2022/09/08 16:54:58.593252 +0800","caller":"frontend/mysql_cmd_executor.go:1769","msg":"time of SendResponse 64ns"}
{"level":"INFO","time":"2022/09/08 16:54:58.593265 +0800","caller":"frontend/session.go:537","msg":"commit autocommit only"}
{"level":"INFO","time":"2022/09/08 16:54:58.593272 +0800","caller":"frontend/session.go:84","msg":"switch from 2 to 3"}
{"level":"INFO","time":"2022/09/08 16:54:58.593279 +0800","caller":"frontend/session.go:608","msg":"clean tae txn"}
{"level":"INFO","time":"2022/09/08 16:54:58.593286 +0800","caller":"frontend/session.go:84","msg":"switch from 3 to 0"}
{"level":"DEBUG","time":"2022/09/08 16:54:58.593295 +0800","caller":"metric/metric.go:159","msg":"[Metric] init metrics tables: create cost 4 ms"}
{"level":"INFO","time":"2022/09/08 16:54:58.593382 +0800","caller":"metric/metric.go:104","msg":"[Metric] metrics scrape endpoint is ready at http://0.0.0.0:7001/metrics"}
++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++
Server Listening on : 0.0.0.0:6001 
++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++
{"level":"info","ts":"2022-09-08 16:54:58.593","logger":"goetty","caller":"goetty@v1.13.0/application.go:96","msg":"application started","listen-address":"0.0.0.0:6001"}
{"level":"info","ts":"2022-09-08 16:54:58.593","logger":"goetty","caller":"goetty@v1.13.0/application.go:155","msg":"application accept loop started","listen-address":"0.0.0.0:6001"}

同理,我们可以使用后台启动的方式,将日志输出到文件中去

nohup ./mo-server ./system_vars_config.toml &

Docker部署

安装Docker

在进行docker部署之前,请先检查机器上是否有docker的环境,使用如下命令检查:

docker version

如果有以下输出,就说明具有docker的环境,并且docker的服务也启动着

[root@node01 matrixone]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7d71120/1.13.1
 Built:           Wed Mar  2 15:25:43 2022
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      7d71120/1.13.1
 Built:           Wed Mar  2 15:25:43 2022
 OS/Arch:         linux/amd64
 Experimental:    false

如果出现以下内容,说明具有docker环境,但是docker服务没有启动

[root@node01 matrixone]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: 
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

直接执行以下命令启动docker即可

systemctl start docker

如果出现以下情况,说明docker没有安装

[root@node01 matrixone]# docker version
-bash: /usr/bin/docker: No such file or directory

需要安装,然后启动服务

yum install -y docker
# 安装完成后使用 
systemctl start docker

部署MO环境

  • 拉取matrixone镜像

    使用如下命令拉取最新的matrixone的镜像文件

    docker pull matrixorigin/matrixone:latest
    

    如果需要拉取固定版本的镜像,请更换最后的版本描述即可,例如拉取0.5.1

    docker pull matrixorigin/matrixone:0.5.1
    

    拉取成功后,使用docker image 命令可以查看到我们拉取的镜像文件

    [root@node01 matrixone]# docker images
    REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
    docker.io/matrixorigin/matrixone   0.5.1               c92ab76b7376        2 weeks ago         117 MB
    docker.io/matrixorigin/matrixone   latest              c92ab76b7376        2 weeks ago         117 MB
    
  • 运行镜像文件

    这里因为我们需要将容器内的端口映射到主机上,便于我们外部去和MO通信,同时我们还需要将数据目录挂载在我们本机上,所以我们在启动镜像的时候,需要添加这些操作,具体命令如下:

    docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:latest
    # 或者
    docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:0.5.1
    来启动不同版本的镜像
    

    如果需要挂载数据目录,请使用以下命令启动

    docker run -d -p 6001:6001 -v ${path_name}/system_vars_config.toml:/system_vars_config.toml:ro -v ${path_name}/store:/store:rw --name matrixone matrixorigin/matrixone:0.5.1
    
  • 检查是否成功

    启动对应镜像之后,需要查看对应容器是否启动成功,使用以下命令查看容器状态

    docker ps -a
    

    例如这里,容器启动有问题就会有下面的提示:

    CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS                     PORTS               NAMES
    f7f0bf405b06        matrixorigin/matrixone:latest   "/mo-server /syste..."   2 minutes ago       Exited (2) 2 minutes ago                       matrixone
    

    此时,我们需要查看对应日志:

    docker logs f7f0bf405b06
    

    如果遇到启动不了的问题,需要升级docker,升级步骤如下:

    # 卸载老版本docker
    yum  remove docker docker-common  docker-selinux docker-engine
    # 安装相关依赖
    yum install  -y  yum-utils  device-mapper-persistent-data  lvm2
    # 设置docker yum源
    yum-config-manager  --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
    

    配置好源之后就可以查看对应的docker 版本了

    # 查看对应版本
    yum  list  docker-ce  --showduplicates |  sort -r
    

    如下所示:

    [root@node01 matrixone]# yum  list  docker-ce  --showduplicates |  sort -r
     * updates: mirrors.ustc.edu.cn
    This system is not registered with an entitlement server. You can use subscription-manager to register.
                  : manager
    Loading mirror speeds from cached hostfile
    Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-
    Installed Packages
     * extras: mirrors.bupt.edu.cn
    docker-ce.x86_64            3:20.10.9-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.9-3.el7                    @docker-ce-stable
    docker-ce.x86_64            3:20.10.8-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.7-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.6-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.5-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.4-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.3-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.2-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.17-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:20.10.16-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:20.10.15-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:20.10.14-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:20.10.1-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:20.10.13-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:20.10.12-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:20.10.11-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:20.10.10-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:20.10.0-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.9-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.8-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.7-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.6-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.5-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.4-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.3-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.2-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.15-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:19.03.14-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:19.03.1-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.13-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:19.03.12-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:19.03.11-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:19.03.10-3.el7                   docker-ce-stable 
    docker-ce.x86_64            3:19.03.0-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:18.09.9-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:18.09.8-3.el7                    docker-ce-stable 
    

    我们选择最新的版本下载

    yum  install  -y --setopt=obsoletes=0 docker-ce-20.10.9-3.el7
    

    下载完成之后,启动docker,然后重新pull镜像,启动容器即可。

    命令如下:

    # pull镜像
    docker pull matrixorigin/matrixone:0.5.1
    # 启动容器
    docker run -d -p 6001:6001 --name mo0.5.1 matrixorigin/matrixone:0.5.1
    

    查看是否启动成功

    # 查看状态
    docker ps -a
    # 输出如下:
    CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS                      PORTS                                       NAMES
    bd58ac4181d2   matrixorigin/matrixone:0.5.1   "/mo-server /system_…"   5 minutes ago    Up 5 minutes                0.0.0.0:6001->6001/tcp, :::6001->6001/tcp   mo0.5.1
    
MatrixOne数据库的部署与实践 在本文中,我们介绍了如何在Ubuntu操作系统上部署MatrixOne数据库,并提供了一个简单的Java示例,演示了如何使用MatrixOne数据库。在本文中,我们将介绍如何在Ubuntu操作系统上部署MatrixOne数据库,并通过简单的示例来演示如何使用MatrixOne数据库。在配置MatrixOne之后,我们需要将MatrixOne部署到Tomcat中。在下载MatrixOne软件包之后,我们需要构建MatrixOne。在构建MatrixOne之后,我们需要配置MatrixOne。 阅读详情

相关推荐

手把手教你搞定MT6701磁编码器的SSI通信与CRC-6校验(附避坑代码)

本文详细介绍了MT6701磁编码器的SSI通信与CRC-6校验的实现方法,包括硬件连接、时序配置、数据读取和专用CRC-6算法。通过提供避坑代码和常见问题解决方案,帮助开发者快速掌握磁编芯片的调试技巧,确保通信稳定可靠。

weixin_30872337的博客 220

很色,非常色,十分色,格外色,异常色,特别色,相当色,太色了!

■■★●◆lightpink(浅粉红)■■★●◆pink(粉红)■■★●◆crimson(腥红)■■★●◆lavenderblush(苍白的紫罗兰红)■■★●◆palevioletred(脸红的淡紫红)■■★●◆hotpink(热情的粉红)■■★●◆mediumvioletred(适中的紫罗兰红)■■★●◆orchid(兰花紫)■■★●◆thistle(苍紫)■■★●◆plum(轻紫)■■★●◆v

coldwindflyrain的专栏 243万+

FUMA实战:5分钟搞定GWAS数据中的Independent SNPs和Lead SNPs筛选

本文详细介绍了如何使用FUMA平台快速筛选GWAS数据中的Independent SNPs和Lead SNPs。通过解析核心概念、分步实战演示和结果解读,帮助研究人员在5分钟内从海量显著关联位点中提炼出独立且具代表性的遗传信号,为后续功能注释和基因定位奠定高效基础。

weixin_29201859的博客 425

搬家了,oorr.cn 笔友城堡-记录美好生活

搬家了 启用新的域名:https://www.biumall.com/ 欢迎光临,谢谢

1万+

企业多部门网络隔离实战:用华为交换机VLAN+Trunk实现行政/技术部安全隔离

本文详细介绍了如何利用华为交换机的VLAN划分与Trunk链路技术,实现企业行政与技术部门间的网络逻辑隔离。通过具体的配置案例,阐述了Access与Trunk端口的工作原理、单交换机与多交换机环境下的部署策略,并延伸至三层网关部署与ACL访问控制,为企业构建安全、高效的核心网络提供实战指导。

p4q5r6s7t的博客 578

ShardingSphere-jdbc 5.5.0 + spring boot 基础配置 - 实战篇

shardingsphere 5.5.0移除了sm4算法,自己加上即可。增加spi扩展org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm增加以下代码:SM4算法代码/***/static {@Getter@Overrideif (!

qq_21903999的博客 4747

电子网站导航

2005-10-16 11:06:00 电子网站导航 http://blog.21ic.com/user1/49/archives/2005/4157.html mcs-51单片机技术学习: www.laogu.com www.mcu51.com www.c51bbs.com www.21icbbs.com =====

yingxuexuan的专栏 1万+

东方通TongWeb虚拟主机配置全流程:从创建到应用部署的保姆级教程

本文提供东方通TongWeb虚拟主机从创建、HTTP通道配置到应用部署的完整实战指南。重点解析虚拟主机的逻辑隔离价值、通道参数调优原理及企业级多应用部署架构,并涵盖常见报错排查与性能优化建议,旨在帮助运维和开发人员高效、稳定地完成应用系统部署。

oil88的博客 532

在matlab中读取二进制文件

一、基础知识来源:http://crystaldonna.blog.sohu.com/84162722.html        从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件

聚沙成塔 4万+

Arm A-profile架构RAS系统设计:可靠性、可用性与可服务性解析

在计算机体系结构中,可靠性(Reliability)、可用性(Availability)和可服务性(Serviceability)是构建高可信系统的核心要素。RAS系统通过硬件错误检测、隔离和恢复机制,确保系统持续稳定运行。其技术原理包括ECC内存纠错、冗余执行单元和错误传播阻断等关键技术,可显著降低数据中心等关键业务场景的故障率。现代芯片设计中,Arm A-profile架构提供标准化的RAS框架,涵盖从内存子系统到计算单元的全方位错误管理。通过分层防御策略和统一错误记录格式,实现硬件错误可追溯、可修复。

weixin_30920853的博客 358

从零到一:RK3588平台上的星闪模块驱动移植全解析

本文详细解析了在RK3588平台上移植UB37星闪模块驱动的完整流程,涵盖内核配置、设备树适配、驱动编译、功能测试等关键步骤。通过实践指导,帮助开发者掌握星闪技术在嵌入式系统中的集成与应用,提升无线通信模块的开发效率。

qsc90123456的博客 339

MatrixOne从入门到实践01——初识MatrixOne

介绍MatrixOne的各方面

MatrixOrigin的博客 363

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

部署篇 | MatrixOne与MySQL全面对比

MatrixOne Cloud 是一个全托管云原生数据平台,它提供了 HSTAP 数据库 MatrixOne 的云上服务,极大简化了 MatrixOne 的部署和运维成本。并且,MatrixOne Cloud 所提供的 Serverless 实例支持计算资源的自动弹性伸缩以及按 SQL 用量计费,让我们不需再关注数据库部署运维的复杂性,而可以仅关注业务应用或SQL本身。章节,MatrixOne中的CN节点是无状态的,在K8s中可以根据负载进行任意的弹性扩缩,保证集群持续保持较低的SQL执行耗时。

MatrixOrigin的博客 1266

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

MatrixOne从入门到实践07——MO-Tester

MO-Tester 是基于 Java 语言进行开发,用于 MatrixOne 的测试套件。MO-Tester 构建了一整套完整的工具链来进行 SQL 自动测试。它包含测试用例和运行结果。MO-Tester 启动后,MO-Tester 将使用 MatrixOne 运行所有 SQL 测试用例,并将所有输出 SQL 测试结果与预期结果进行比较。所有案例的结果无论成功或者失败,都将记录在报告中。

MatrixOrigin的博客 811

MatrixOne从入门到实践02——源码编译

详解MatrixOne如何进行源码编译。

MatrixOrigin的博客 270

MatrixOne实战系列回顾 | MatrixOne 集群运维

为大家带来本次MatrixOne 实战直播系列第四部分集群运维。本次将从四个方向为大家演示MatrixOne的功能。分别是版本升降、集群扩缩、集群调优以及最后的QA环节。首先我们采用替换二进制文件进行单机版MatrixOne版本的升降。从 0.8.0 版本开始,MatrixOne 所有后续版本都将与 0.8.0 版本的底层数据存储格式保持兼容,各个版本间可以平滑升降级(低于0.8.0版本无法使用这种方式进行升降级)。MatrixOne 只有一个二进制程序包,对于单机版本我们可以非常方便的通过手动替换 mo-

MatrixOrigin的博客 1152

手把手入门MO | 如何通过 Superset 实现 MatrixOne 的可视化监控

Superset 是一个开源的、现代的、轻量级 BI 分析工具,能够连接多种数据源、提供丰富的可视化图表,支持自定义仪表盘,帮助用户轻松探索和呈现数据。MatrixOne 1.0 版本现在支持与数据可视化工具 Superset 集成。本指南将引导您快速部署 MatrixOne 和 Superset 环境,通过将 MatrixOne 与 Superset 的可视化功能相结合,创建一个简单的监控面板,用于监测 MatrixOne 数据库,使用其中的 'system_metric' 数据。

MatrixOrigin的博客 1137

手把手入门MO | 如何使用 Flink 将批量数据写入 MatrixOne

得益于其独特的架构设计,用户可以降低多达70%的硬件和运维成本,增加3-5倍的开发效率,同时更加灵活的响应市场需求变化和更加高效的抓住创新机会。在下面的命令中,使用 --topic 参数指定要添加到的主题,而 --bootstrap-server 参数指定了 Kafka 服务的监听地址。创建 Person.java 和 Mysql2Mo.java 类,使用 Flink 读取 MySQL 数据,执行简单的 ETL 操作(将 Row 转换为 Person 对象),最终将数据写入 MatrixOne 中。

MatrixOrigin的博客 1214

手把手入门MO | 如何通过永洪 BI 实现 MatrixOne 的可视化报表

永洪 BI 是一款全面的大数据平台,它整合了自服务数据准备、探索性自助分析、深度分析、企业级管理和高性能计算功能,提供了一站式的大数据解决方案。永洪 BI 的目标是为各种规模的企业提供灵活易用的全业务链大数据分析工具,使用户能够轻松发掘大数据的价值并获得深刻的洞察力。MatrixOne 支持连接到智能数据分析工具永洪 BI。本文将指导您如何通过永洪 BI 连接到单机版 MatrixOne,并创建各种可视化数据报表。

MatrixOrigin的博客 2486

MatrixOne部署完全指南:从Docker到Kubernetes的5种方案

MatrixOne作为一款AI原生的HTAP数据库,支持多种灵活的部署方案,无论是本地开发还是生产环境都能轻松应对。本文将详细介绍5种实用的MatrixOne部署方法,帮助您快速上手这款强大的Git-for-Data数据库系统。😊 ## 📊 MatrixOne部署方案概览 在开始具体部署之前,让我们先了解MatrixOne支持的5种主要部署方式: | 部署方案 | 适用场景 | 复杂度

gitblog_01140的博客 910

手把手入门MO | 如何使用 DolphinScheduler 连接 MatrixOne

MatrixOne 支持与可视化 DAG 工作流任务调度系统 DolphinScheduler 进行连接。本文将指导您如何通过 DolphinScheduler 连接到 MatrixOne 并创建任务工作流。

MatrixOrigin的博客 1113

从 0 到 100TB,MatrixOne 助您轻松应对

通过云原生相关的开源组件,如 KEDA,可以感知整个集群的负载。MatrixOne 是一款强大的云原生超融合数据库,具备优秀的流式数据写入和加工能力,同时拥有强大的可扩展性,能适应任意规模的负载和数据量。多租户相关能力是MatrixOne产品的一大亮点,通过数据库内部创建新租户,实现数据空间的隔离,便于 SaaS 应用处理多租户需求。对于 AP 相关的大规模查询,如果缓存或 LogTail 中没有所需数据,系统将直接从 S3 读取,由于AP的操作本身就会读较多数据,因此对S3的读取相对是比较友好的。

MatrixOrigin的博客 1100

MatrixOne Meetup回顾 | 深圳站

A: 很难做到绝对的线性扩展,因为分布式系统会有数据交换的任务开销,不过从 MatrixOne 当前的测试效果来看,线性度还是挺高的;A: 对于计算资源,付费实例会使用独立的 CN 组,每个 CN 组中的单个 CN 实例会使用容器限制 CPU/Memory,而 CN 组的上限(近乎)无限扩展。A: 策略可配置,以 MatrixOne Cloud 为例,不同付费实例之间(即使是同一个租户的)都会使用独立的计算节点(CN),免费实例会使用一组共享的计算节点(CN)。,分享了目前火爆的大模型行业相关内容。

MatrixOrigin的博客 1032

MO干货 | Matrixone-Operator 设计与实现

而实际场景中,确实存在一组 CN 先被缩容,在缩容完成前又再扩容上去的场景(尤其是在开启了自动伸缩后),这时候,Operator 内的调谐循环就可以计算出此时可以直接复用仍然在下线中的 CN,调用 MO 内部的管理接口将 CN 将这个 CN 重新恢复成服务状态,不再向其他 CN 迁移 session 并且重新向 Proxy 接受新 session,而不需要再扩容出一个新的 CN。每种 API 和它们的控制器在设计时都有独特的考量,但万变不离其宗,所有的 API 和控制器都是以上述模式进行构建的。

MatrixOrigin的博客 1677

迁移篇 | MatrixOne与MySQL全面对比

Skyable 自研了物联网私有云平台用于 IoT 设备的数据上报和协议解析,由于管理设备数量的增加导致设备上报的数据量越来越大,架构中原使用的 MySQL 数据库(分库分表)的部分业务在对设备上报信息进行相关的查询时,查询速度很慢,且会偶发出现查询不出来的情况,无法通过优化SQL来提升数据库性能,非常影响系统体验。后续反馈至 MatirxOne 社区后,社区的研发和支持同学也给予了大量的帮助,同时针对迁移过程中的问题及时合入了大量提升易用性的PR,以下为业务实际的迁移动作。

MatrixOrigin的博客 957
上一篇: MatrixOne从入门到实践02——源码编译
下一篇: MatrixOne从入门到实战04——MatrixOne的连接和建表
MatrixOrigin
博客等级 码龄5年 708粉丝 230原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值