Alibaba的OceanBase数据库环境配置与安装
发布日期:2021-05-10 01:23:30 浏览次数:15 分类:精选文章

本文共 5032 字,大约阅读时间需要 16 分钟。

������������������

CentOs 6.5

g++ 4.1.2

������������������������

���������OceanBase���������������������������������������������

#### 2.1 ������������������������
������OceanBase������������������������������������
1. **������������������**
���root������������������������������
- ������vi������������������`/etc/udev/rules.d/70-persistent-net.rules`���������
���������������������������������������������`eth0`���
- ������`/etc/sysconfig/network-scripts/ifcfg-eth0`���������������IP������������������������
- ������`reboot`���������������������������������������������
2. **������sysctl������**
���`/etc/sysctl.conf`������������������������������
```bash
net.core.somaxconn=2048
net.core.netdev_max_backlog=10000
net.core.rmem_default=16777216
net.core.wmem_default=16777216
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.ip_local_port_range=3500 65535
net.ipv4.ip_forward=0
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.default.accept_source_route=0
net.ipv4.tcp_syncookies=0
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
net.ipv4.tcp_max_syn_backlog=16384
net.ipv4.tcp_fin_timeout=15
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
vm.swappiness=0

������/sbin/sysctl -p /etc/sysctl.conf������������������

  1. ������������������
    ���������������������������admin���������
    useradd -d /home/admin -s /bin/bash -m admin  
    passwd admin

    ���admin������������sudo���������

    chmod u+w /etc/sudoers  
    vi /etc/sudoers
    admin ALL=(ALL) ALL
    chmod u-w /etc/sudoers

    ���������������������������������������

  2. 2.2 ������gcc������

    ������������������������gcc���������4.1.2���4.4.6���

    gcc --version

    ��������������������������������� gcc 4.1.2������������

    2.3 ������������������

    ���/home/admin/.bashrc������������������

    export TBLIB_ROOT=~/tb-common-utils  
    export LD_LIBRARY_PATH=/home/admin/oceanbase/lib:/usr/local/lib/libsnappy.so:/usr/
    export JAVA_HOME=/opt/taobao/java
    export DRC_ROOT=/home/ds

    ������source ~/.bashrc������������������

    2.4 ���������������

    ���������������������������������������������

    ssh-keygen -t rsa  
    ssh-copy-id admin@10.10.10.2

    ������������������������������������������������

    ������������RPM���������

    #### 3.1 ��������������� ������������������������ ```bash git clone ~/oceanbase_install ``` ������������������git���������������������

    3.2 ������������

    ������LZO���Snappy���

    cd ~/oceanbase_install/Lib  
    sudo rpm -ivh lzo-2.06-0.x86_64.rpm
    sudo rpm -ivh snappy-1.1.2-2.x86_64.rpm

    3.3 ������OceanBase

    ������������������������

    cd ~/oceanbase_install/Package  
    sudo rpm ���nodeps -ivh oceanbase-0.4.2.8-1502.el6.x86_64.rpm ���prefix=/home/admin/oceanbase

    ������������OceanBase C���������

    #### 4.1 ������ ��������������������������� ```bash sudo rpm -Uvh curl-7.29.0-1.el6.x86_64.rpm sudo rpm -Uvh oceanbase-devel-0.4.2.1-1193.el6.x86_64.rpm ```

    4.2 ������������

    ������~/.bashrc���������

    export LD_PRELOAD=/home/admin/oceanbase/lib/libobsql.so.0.0.0  
    export OB_SQL_CONFIG_DIR=/home/admin/oceanbase/etc/

    ������source ~/.bashrc������������������

    4.3 ���������������������

    ������~/oceanbase/etc/libobsql.conf���������

    logfile=/tmp/obsql.log  
    initurl=
    loglevel=DEBUG
    minconn=2
    maxconn=50

    ip=10.10.10.2

    port=2828

    username=admin

    passwd=admin

    ������������

    ������������C���������`test.c` ```bash #include
    #include
    #include

    int main(int argc, char argv[]) { (void)argc; (void)argv; const char HOST = "127.0.0.1"; int PORT = 2828;

    // ���������MySQL���������
    if (0 != mysql_library_init(0, NULL, NULL)) {
    fprintf(stderr, "could not init mysql library\n");
    return 1;
    }
    MYSQL my_;
    mysql_init(&my_);
    // ���������������
    printf("Connecting server %s:%d...\n", HOST, PORT);
    if (0 != mysql_real_connect(&my_, HOST, "admin", "admin", "", PORT, NULL, 0)) {
    fprintf(stderr, "connection failed\n");
    return 1;
    }
    // ���������
    if (0 != mysql_query(&my_, "drop table if exists test")) {
    fprintf(stderr, "%s\n", mysql_error(&my_));
    return 1;
    }
    if (0 != mysql_query(&my_, "create table if not exists test (c1 int primary key, c2 varchar)")) {
    fprintf(stderr, "%s\n", mysql_error(&my_));
    return 1;
    }
    // ������������
    sleep(60); // ������������������������
    if (0 != mysql_query(&my_, "insert into test (c1, c2) values (1, 'hello ob'), (2, 'hello java')")) {
    fprintf(stderr, "%s\n", mysql_error(&my_));
    return 1;
    }
    // ������������
    if (0 != mysql_query(&my_, "select * from test")) {
    fprintf(stderr, "%s\n", mysql_error(&my_));
    return 1;
    }
    // ������������
    MYSQL_RES *result = mysql_store_result(&my_);
    if (result) {
    int count = mysql_num_rows(result);
    printf("%d records retrieved\n", count);
    mysql_free_result(result);
    }
    // ���������
    if (0 != mysql_query(&my_, "drop table if exists test")) {
    fprintf(stderr, "%s\n", mysql_error(&my_));
    return 1;
    }
    // ������������
    mysql_close(&my_);
    mysql_library_end();
    return 0;

    }

    ���`admin`���������������������������������  
    ```bash
    g++ test.c -o atest -I /usr/include -L /usr/lib64/mysql -lmysqlclient
    ./atest
     
上一篇:fabric手动多机部署
下一篇:Redis数据结构(三)——字符串对象、列表对象、hash对象、集合对象、有序集合对象

发表评论

最新留言

不错!
[***.144.177.141]2025年04月27日 12时02分45秒