• 阿里数据库中间件Cobar环境搭建


    装了CentOS7,结果死活连不上网,一直提示没有可用的网络设备,没工夫处理,以后再说,先用之前装好的CentOS6.4,Mysql安装包又下不下来,只好翻出了之前玩Storm装的Archlinux,总共有Alpha、Beta、Delta三台虚机,里头安装了JDK、MariaDB等等。

    准备

    测试中有一个schema,两张表tb1、tb2,其中tb1在一个库,tb2分为两个库。

    几个Cobar的release包都先下载好。

    数据准备,三个数据库表都建好:

    #创建dbtest1
    drop database if exists dbtest1;
    create database dbtest1;
    use dbtest1;
    #在dbtest1上创建tb1
    create table tb1(
    id int not null,
    gmt datetime);
    #创建dbtest2
    drop database if exists dbtest2;
    create database dbtest2;
    use dbtest2;
    #在dbtest2上创建tb2
    create table tb2(
    id int not null,
    val varchar(256));
    #创建dbtest3
    drop database if exists dbtest3;
    create database dbtest3;
    use dbtest3;
    #在dbtest3上创建tb2
    create table tb2(
    id int not null,
    val varchar(256));
    

    注意系统的JAVA_HOME要配置好

    配置

    Cober的server目录下的conf中的是配置文件

    schema.xml中需要修改三个数据库的ip和端口,账号和密码。

    server.xml中需要修改Cobar的账号和密码。

    启动

    通过运行bin目录下的startup.bat来启动Cobar服务,

    第一遍没起来,打开startup.bat,其中的APP_VERSION版本和release中的server版本不匹配,log4j的版本也不匹配,修改之后才能正确运行。

    logs目录下有Cobar运行的log文件,stdout.log是服务运行的日志,正确运行时是这样:

    23:13:00,876 INFO  ===============================================
    23:13:00,876 INFO  Cobar is ready to startup ...
    23:13:00,876 INFO  Startup processors ...
    23:13:00,969 INFO  Startup connector ...
    23:13:00,969 INFO  Initialize dataNodes ...
    23:13:01,047 INFO  dnTest1:0 init success
    23:13:01,063 INFO  dnTest3:0 init success
    23:13:01,063 INFO  dnTest2:0 init success
    23:13:01,063 INFO  CobarManager is started and listening on 9066
    23:13:01,079 INFO  CobarServer is started and listening on 8066
    23:13:01,079 INFO  ===============================================
    

    测试

    访问Cobar可以和访问Mysql一样的方式:

    >mysql -utest -ptest -P8066 -Ddbtest
    

    三个库看起来是在一个库,成功~

    再实验在Arch下跑Cobar

      大部分步骤和Windows下一样,不同的是startup的启动,Linux下运行的是startup.sh。
      先是报错:JAVA_HOME environment variable is not set.,但是我的JAVA_HOME已经设定了,虽然用的是openJDK,再查看到有人说JAVA_HOME不应该指向jre,但是openJDK下的java就是软链到jre的,所以把启动脚本中的if [ ! -e "$JAVA_HOME/bin/java" ] 注释了。

      运行后又失败,没有报错,查看../logs/console.log

      1 OpenJDK Server VM warning: INFO: os::commit_memory(0x7b000000, 805306368, 0) failed; error='Cannot allocate memory' (errno=12)
      2 #
      3 # There is insufficient memory for the Java Runtime Environment to continue.
      4 # Native memory allocation (malloc) failed to allocate 805306368 bytes for committing reserved memory.
      5 # An error report file with more information is saved as:
      6 # /home/software/cobar-server-1.2.7/hs_err_pid623.log
    

    原来是虚拟机内存不够分配,因为装Arch的时候为了多运行几个,每个只分配了256M内存,而startup.sh中配置如下:

    JAVA_OPTS="-server -Xms1024m -Xmx1024m -Xmn256m -Xss256k"
    

    堆内存分了1G,新生代占了整个Arch内存大小,线程栈256k。将参数修改后可以运行。

  • 相关阅读:
    随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比
    stringstream读入每行数据
    java Log4j封装,程序任何位置调用
    Oracle 归档模式和非归档模式
    为什么需要 RPC 服务?
    JFrame windowbuiler的使用基础
    Eclipse安装windowsbuilder
    字符串反转
    static{}静态代码块与{}普通代码块之间的区别
    jQuery EasyUI 数据网格
  • 原文地址:https://www.cnblogs.com/hyace/p/4135150.html
Copyright © 2020-2023  润新知