zoukankan      html  css  js  c++  java
  • ColumnStore完整验证指南之安装与启动停止

    官方文档https://mariadb.com/kb/en/library/mariadb-columnstore/

    推荐使用最新1.2.x最新版本。

    先决条件

    yum -y install boost
    yum -y install expect perl perl-DBI openssl zlib file sudo libaio rsync snappy net-tools numactl-libs nmap
    

       安装1.0的jemalloc,可下载rpm包如jemalloc-3.6.0-1.el7.x86_64.rpm。

    安装(单机)

    推荐下载linux二进制版本https://downloads.mariadb.com/ColumnStore/1.2.2/centos/x86_64/7/mariadb-columnstore-1.2.2-1-centos7.x86_64.bin.tar.gz,更加透明。

    直接运行自带shell命令/usr/local/mariadb/columnstore/bin/quick_installer_single_server.sh即可完成单机版本安装与启动。

    使用这种模式安装的columnstore并没有独立UM模块,而是作为原生进程存在(否则、至少需要2台服务器)。

    安装完成后,建议执行命令/usr/local/mariadb/columnstore/bin/columnstoreAlias为columnstore的两个主要客户端:SQL客户端以及mcsadmin(MariaDB ColumnStore MySQL Console)创建别名:

    其中:

    # 和非columnstore引擎的mysql是一样的
    mcsmysql = /usr/local/mariadb/columnstore/mysql/bin/mysql 
      --defaults-file=/usr/local/mariadb/columnstore/mysql/my.cnf 
      -u root   # 默认密码为空
    
    mcsadmin = /usr/lodcal/mariadb/columnstore/bin/mcsadmin

    然后就可以检查节点状态了(节点状态异常是可用来查看),如下所示:

    [root@oel-12c ~]# mcsadmin getsysteminfo
    getsysteminfo   Wed Mar 13 15:52:54 2019
    
    System columnstore-1
    
    System and Module statuses
    
    Component     Status                       Last Status Change
    ------------  --------------------------   ------------------------
    System        ACTIVE                       Tue Mar 12 13:35:07 2019
    
    Module pm1    ACTIVE                       Tue Mar 12 13:34:59 2019
    
    
    MariaDB ColumnStore Process statuses
    
    Process             Module    Status            Last Status Change        Process ID
    ------------------  ------    ---------------   ------------------------  ----------
    ProcessMonitor      pm1       ACTIVE            Tue Mar 12 13:34:23 2019        1281
    ProcessManager      pm1       ACTIVE            Tue Mar 12 13:34:29 2019        1838
    DBRMControllerNode  pm1       ACTIVE            Tue Mar 12 13:34:39 2019        2428
    ServerMonitor       pm1       ACTIVE            Tue Mar 12 13:34:42 2019        2447
    DBRMWorkerNode      pm1       ACTIVE            Tue Mar 12 13:34:42 2019        2465
    PrimProc            pm1       ACTIVE            Tue Mar 12 13:34:45 2019        2544
    ExeMgr              pm1       ACTIVE            Tue Mar 12 13:34:50 2019        2628
    WriteEngineServer   pm1       ACTIVE            Tue Mar 12 13:34:54 2019        2685
    DDLProc             pm1       ACTIVE            Tue Mar 12 13:34:58 2019        2756
    DMLProc             pm1       ACTIVE            Tue Mar 12 13:35:06 2019        2827
    mysqld              pm1       ACTIVE            Tue Mar 12 13:34:36 2019        2260
    
    Active Alarm Counts: Critical = 0, Major = 0, Minor = 0, Warning = 0, Info = 0
    [root@oel-12c ~]# mcsadmin getsystemstatus
    getsystemstatus   Wed Mar 13 15:53:05 2019
    
    System columnstore-1
    
    System and Module statuses
    
    Component     Status                       Last Status Change
    ------------  --------------------------   ------------------------
    System        ACTIVE                       Tue Mar 12 13:35:07 2019
    
    Module pm1    ACTIVE                       Tue Mar 12 13:34:59 2019

    查看后台进程状态

    查看所有支持的命令:

    [root@oel-12c ~]# mcsadmin help
    help   Wed Mar 13 15:52:43 2019
    
    List of commands:
    Note: the command must be the first entry entered on the command line
    
    Command                           Description
    ------------------------------    --------------------------------------------------------
    ?                                 Get help on the Console Commands
    addDbroot                         Add DBRoot Disk storage to the MariaDB Columnstore System
    addModule                         Add a Module within the MariaDB Columnstore System
    alterSystem-disableModule         Disable a Module and Alter the MariaDB Columnstore System
    alterSystem-enableModule          Enable a Module and Alter the MariaDB Columnstore System
    assignDbrootPmConfig              Assign unassigned DBroots to Performance Module
    assignElasticIPAddress            Assign Amazon Elastic IP Address to a module
    disableLog                        Disable the levels of process and debug logging
    disableMySQLReplication           Disable MySQL Replication functionality on the system

    查看命令的详细参数:

    [root@oel-12c ~]# mcsadmin help getsysteminfo
    help   Wed Mar 13 15:53:23 2019
    
       Command:     getSystemInfo
    
       Description: Get the Over-all System Statuses
                    Get the System, Module, Process, and Active Alarm Statuses
    
       Arguments:   None

    进入mcsadmin控制台:

    [root@oel-12c ~]# mcsadmin
    
    MariaDB ColumnStore Admin Console
       enter 'help' for list of commands
       enter 'exit' to exit the MariaDB ColumnStore Command Console
       use up/down arrows to recall commands
    
    
    Active Alarm Counts: Critical = 0, Major = 0, Minor = 0, Warning = 0, Info = 0
    
    Critical Active Alarms:

    进入SQL控制台(密码默认空):

    [root@oel-12c ~]# mcsmysql
    Welcome to the MariaDB monitor.  Commands end with ; or g.
    Your MariaDB connection id is 11
    Server version: 10.3.11-MariaDB-log Columnstore 1.2.2-1
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    MariaDB [(none)]> 

    修改密码、远程登录(同普通mysql),如下:

    MariaDB [(none)]> create user root@'%' identified by "123456";
    Query OK, 0 rows affected (0.001 sec)
    
    MariaDB [(none)]> grant all on *.* to root@'%';
    Query OK, 0 rows affected (0.000 sec)
    
    MariaDB [(none)]> exit
    Bye
    [root@oel-12c ~]# lsof -i:3306   # 端口,同普通mysql
    COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    mysqld  2260 mysql   26u  IPv6  29128      0t0  TCP *:mysql (LISTEN)
    [root@oel-12c ~]# 

    使用IDE访问:

    所以,columnstore仅仅只是一个引擎,上层架构相同。下层分布式,和mysql ndb cluster的架构是一样的。

    停止和启动

    系统停止

    完全停止columnstore(包括管理控制台和告警服务,停止后一个进程都没了):

    [root@oel-12c ~]# ps axu | grep columnstore
    root       1276  0.0  0.0 115256  3096 ?        S    3月12   0:00 /bin/bash /usr/local/mariadb/columnstore/bin/run.sh -l /tmp/columnstore_tmp_files /usr/local/mariadb/columnstore/bin/ProcMon
    root       1281  0.2  0.4 1647100 24996 ?       Sl   3月12   2:43 /usr/local/mariadb/columnstore/bin/ProcMon
    root       1960  0.0  0.0 115600  3448 ?        S    3月12   0:00 /bin/sh /oradata/mariadb/columnstore/mysql//bin/mysqld_safe --datadir=/oradata/mariadb/columnstore/mysql/db --pid-file=/oradata/mariadb/columnstore/mysql/db/oel-12c.pid --ledir=/oradata/mariadb/columnstore/mysql//bin
    mysql      2260  0.0  3.1 2325368 183900 ?      Sl   3月12   0:15 /oradata/mariadb/columnstore/mysql//bin/mysqld --basedir=/oradata/mariadb/columnstore/mysql/ --datadir=/oradata/mariadb/columnstore/mysql/db --plugin-dir=/oradata/mariadb/columnstore/mysql/lib/plugin --user=mysql --log-error=/oradata/mariadb/columnstore/mysql/db/oel-12c.err --pid-file=/oradata/mariadb/columnstore/mysql/db/oel-12c.pid --socket=/oradata/mariadb/columnstore/mysql/lib/mysql/mysql.sock --port=3306
    root       2428  0.0  0.3 753836 18404 ?        Sl   3月12   0:03 /usr/local/mariadb/columnstore/bin/controllernode fg
    root       2447  0.1  0.3 459460 18312 ?        Sl   3月12   1:01 /usr/local/mariadb/columnstore/bin/ServerMonitor
    root       2465  0.0  0.4 539900 26444 ?        Sl   3月12   0:02 /usr/local/mariadb/columnstore/bin/workernode DBRM_Worker1 fg
    root       8744  0.0  0.0 112692  2360 pts/0    S+   16:07   0:00 grep --color=auto columnstore
    [root@oel-12c ~]# mcsadmin shutdownSystem y
    shutdownsystem   Wed Mar 13 16:07:12 2019
    
    This command stops the processing of applications on all Modules within the MariaDB ColumnStore System
    
       Checking for active transactions
    
       Stopping System...
       Successful stop of System 
    
       Shutting Down System...
       Successful shutdown of System 
    
    [root@oel-12c ~]# ps axu | grep columnstore
    root       9315  0.0  0.0 112688  2212 pts/0    S+   16:07   0:00 grep --color=auto columnstore

    启动系统(异常时可用来启动):

    [root@oel-12c ~]# mcsadmin startSystem
    startsystem   Wed Mar 13 16:09:55 2019
    
    startSystem command, 'columnstore' service is down, sending command to
    start the 'columnstore' service on all modules
    
    
       System being started, please wait........
       Successful start of System 
    
    [root@oel-12c ~]# ps axu | grep columnstore
    root       9515  0.0  0.0 113136  2596 pts/0    S    16:09   0:00 /bin/bash /usr/local/mariadb/columnstore/bin/run.sh -l /tmp/columnstore_tmp_files /usr/local/mariadb/columnstore/bin/ProcMon
    root       9516 19.8  0.4 1417724 24776 pts/0   Sl   16:09   0:13 /usr/local/mariadb/columnstore/bin/ProcMon
    root       9806  0.0  0.0 113272  3148 pts/0    S    16:10   0:00 /bin/sh /oradata/mariadb/columnstore/mysql//bin/mysqld_safe --datadir=/oradata/mariadb/columnstore/mysql/db --pid-file=/oradata/mariadb/columnstore/mysql/db/oel-12c.pid --ledir=/oradata/mariadb/columnstore/mysql//bin
    mysql      9993  0.4  3.0 2349356 178932 pts/0  Sl   16:10   0:00 /oradata/mariadb/columnstore/mysql//bin/mysqld --basedir=/oradata/mariadb/columnstore/mysql/ --datadir=/oradata/mariadb/columnstore/mysql/db --plugin-dir=/oradata/mariadb/columnstore/mysql/lib/plugin --user=mysql --log-error=/oradata/mariadb/columnstore/mysql/db/oel-12c.err --pid-file=/oradata/mariadb/columnstore/mysql/db/oel-12c.pid --socket=/oradata/mariadb/columnstore/mysql/lib/mysql/mysql.sock --port=3306
    root      10117  0.0  0.3 618660 18528 pts/0    Sl   16:10   0:00 /usr/local/mariadb/columnstore/bin/controllernode fg
    root      10137  0.1  0.3 467324 18512 pts/0    Sl   16:10   0:00 /usr/local/mariadb/columnstore/bin/ServerMonitor
    root      10200  0.0  0.4 550140 26552 pts/0    Sl   16:10   0:00 /usr/local/mariadb/columnstore/bin/workernode DBRM_Worker1 fg
    root      10813  0.0  0.0 112688  2360 pts/0    S+   16:11   0:00 grep --color=auto columnstore

    停止应用(跟rac不停止cluster类似,相当于重启库本身):

    [root@oel-12c ~]# mcsadmin stopSystem y   #此时客户端发送请求,将收到 [Err] 1815 - Internal error: The system is not yet ready to accept queries
    stopsystem   Wed Mar 13 16:12:36 2019
    
    This command stops the processing of applications on all Modules within the MariaDB ColumnStore System
    
       Checking for active transactions
    
       System being stopped now...
       Successful stop of System 
    
    [root@oel-12c ~]# ps axu | grep columnstore
    root       9515  0.0  0.0 113136  2596 pts/0    S    16:09   0:00 /bin/bash /usr/local/mariadb/columnstore/bin/run.sh -l /tmp/columnstore_tmp_files /usr/local/mariadb/columnstore/bin/ProcMon
    root       9516  7.9  0.4 1794652 25128 pts/0   Sl   16:09   0:14 /usr/local/mariadb/columnstore/bin/ProcMon
    root      11942  0.0  0.0 112688  2284 pts/0    S+   16:12   0:00 grep --color=auto columnstore

    最近测试发现个额外现象。mcsadmin startSystem后,重新连接报"[Err] 1815 - Internal error: fatal error running mysql_real_connect() in libmysql_client lib (1045) (Access denied for user 'root'@'localhost' (using password: NO))",各种进程、模块状态都是正常的。

    常规的SQL以及DDL、建库等和普通mysql一样,唯一的差别是引擎要声明为columnstore,如下:

    create database mcs;
    use mcs;
    create table idbtest(col1 int, col2 int) engine=columnstore;
    show create table idbtest;
    insert into idbtest values (1, 2);
    insert into idbtest values (3, 4);
    select * from idbtest;

     设置utf-8

    vim /usr/local/mariadb/columnstore/mysql/my.cnf

    [client]
    default-character-set=utf8
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    init-connect=’SET NAMES utf8’

    设置columnstore本身的本地语言(建议不要直接修改配置文件/usr/local/mariadb/columnstore/etc/Columnstore.xml),改了后要通过mcsadmin stopSystem/startSystem使之生效:
    /usr/local/mariadb/columnstore/bin/setConfig SystemConfig SystemLang en_US.utf8

    将文件转换为utf-8格式:
    iconv -f ISO-8859-1 -t UTF-8 < input.txt > output.txt
  • 相关阅读:
    Windows API 的数据类型与 Delphi 数据类型对照表
    Delphi 编译错误信息表
    Delphi中的容器类
    Delphi 快捷键
    代码折叠
    [转]Delphi中record的使用
    [转]常用公共函数单元
    Delphi 运行时错误信息表
    C#调用Win32 的API函数User32.dll
    [转]Delphi程序启动参数的读取
  • 原文地址:https://www.cnblogs.com/zhjh256/p/10123091.html
Copyright © 2011-2022 走看看