精华内容
下载资源
问答
  • Linux系统安装web中间件操作说明,如何在linux系统安装web组件
  • 这是一个全集,包含了linux的详细安装,以及在linux下tomcat、weblogic、websphere的安装,还包括了linux下oracle、mysql的安装,内容详实,绝对是新手的福音。都经过笔者亲测,整合不易。
  • linux 安装tomcat中间件

    2015-11-28 16:05:00
    1、首先确认是否已安装jdk、配置好所需要的环境变量,如果未安装好...2、如上述安装并配置正确,就可以进行tomcat中间件服务的安装配置。 3、ApacheTomcat官网下载http://tomcat.apache.org/download-70.cgi 4...

    1、首先确认是否已安装jdk、配置好所需要的环境变量,如果未安装好,则需要安装jdk和配置好正确的环境变量。

    检查是否安装jdk及环境变量配置:#java -version。

    2、如上述安装并配置正确,就可以进行tomcat中间件服务的安装配置。

    3、Apache Tomcat 官网下载 http://tomcat.apache.org/download-70.cgi 

     

     

    4、通过ftp将下载好的tomcat中间件服务tar.gz 包上传到目标目录下

    5、登录终端,cd 进入到上传的目标目录下如:

     

    命令格式:tar  -zxvf   压缩文件名.tar.gz

    tar -zxvf apache-tomcat-7.0.64.tar.gz 

    解压完成之后,启动服务。

     

    服务启动成功

     

    测试服务是否正确启动:

    在浏览器端输入:http://182.254.xxx.xxx:8080/

    如果页面显示如下,则服务正常启动。

     

    (.压缩命令:命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名)

     

    转载于:https://www.cnblogs.com/nzplearnSite/p/5002858.html

    展开全文
  • 一:在Oracle 官网 根据系统环境下载不同的 安装包 二:linux 上 新建 /u02/weblogic 目录,并且 ...四: 修改下载的linux 版本的weblogic 安装 文件的执行权限 chmod 700 wls1036_xxx.bin 五:./wls1036_lin...

    一:在Oracle 官网 根据系统环境下载不同的 安装包

    二:linux 上 新建 /u02/weblogic 目录,并且 weblogic 用户添加到weblogic 用户组

    三:减产/u02/的owner是否是weblogic

    四: 修改下载的linux 版本的weblogic 安装 文件的执行权限

    chmod 700 wls1036_xxx.bin

    五:./wls1036_linux32.bin 执行安装文件

    六:设置主目录,默认是 /u02/weblogic/oracle/Middleware



     



     

    如果想修改,就手动设置值。

     

    七:是否注册安全更新

    如果我们不需要:



     

     

     
    然后再选择YES

    至于后续的安装,默认就行。

     

    展开全文
  • linux安装常用的中间件

    千次阅读 2020-03-24 16:31:40
    安装jdk ...linux安装zk cd到某个目录下开始下载tar.gz包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz 解压 tar -zxvf zookeeper-3....

    安装jdk
    yum install java-1.8.0-openjdk.x86_64

    linux安装zk
    cd到某个目录下开始下载tar.gz包
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

    解压 tar -zxvf zookeeper-3.4.14.tar.gz
    cd zookeeper-3.4.14
    cp conf/zoo_sample.cfg conf/zoo.cfg

    修改 zoo.cfg 的 dataDir 和 dataLog
    dataDir=/usr/local/zookeeper-3.4.14
    dataLogDir=/usr/local/zookeeper-3.4.14/log
    在这里插入图片描述
    启动zk
    bin/zkServer.sh start
    进入zk
    bin/zkCli.sh

    linux安装redis
    实测是可以起来 但具体的配置啥的 抽空看视频回忆下把
    yum install redis
    systemctl start redis
    systemctl status redis
    systemctl stop redis 停止服务
    systemctl restart redis 重启服务
    systemctl enable redis 设置开机自启动

    // 不要用
    systemctl start firewalld 开启防火墙
    systemctl status firewalld 查看状态
    //

    开放端口号
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --zone=public --add-port=6379/tcp --permanent

    vi /etc/redis.conf修改配置文件
    在这里插入图片描述
    修改未非本机也可以访问,保护模式修改为no

    在这里插入图片描述
    密码修改为123456
    保存退出 esc +:wq
    然后重启redis
    systemctl restart redis

    linux安装ng
    yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
    cd /usr/local
    mkdir nginx
    cd nginx
    下载
    wget http://nginx.org/download/nginx-1.9.12.tar.gz
    解压
    tar -xvf nginx-1.9.12.tar.gz

    然后到nginx-1.9.12目录下执行者两步
    ./configure --prefix=/usr/local/nginx
    make
    make install
    之后nginx目录下就会出现sbin
    // 这是用的目录 有没有成功忘记了
    ./sbin/nginx 启动
    ./sbin/nginx -s reload 重启
    -s stop
    之后通过ip:80 就可以了
    实测是绝对可行的!!!
    注意: 这里的nginx 配置文件是sbin同级目录的
    在这里插入图片描述
    配置多个静态资源:

        location / {
    	          root  /usr/local/dist/;
                index  index.html index.htm;
    		}
        location /core {
                     alias /usr/local/static/dist/;
                  index index.html index.php index.htm;
    		} 
    

    在这里插入图片描述
    api 表示这个打头的 替换成 parxy_pass的地址
    root 表示 映射的html地址

    linux 守护进程的方式启动 springboot项目
    nohup java -jar coreWeb.jar --spring.profiles.active=groupA
    java -jar coreWeb.jar --spring.profiles.active=groupA

    nohup java -jar 111.jar --spring.profiles.active=test-groupA > 111.log 2>&1 &

    展开全文
  • 数据库中间件,通常对实际应用来说,并不需要知道中间件的存在,业务开发人员只需要知道数据库的概念,所以数据库中间件可以被看做是一个或多个数据库集群构成的逻辑库。 2、逻辑表(Table) 既然有逻辑库,那么...

    https://blog.csdn.net/qq_22067469/article/details/84800989
    前言

    如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。
    但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的,所以还是需要使用关系性数据库。如果使用关系型数据库解决海量存储的问题呢?此时就需要做数据库集群,为了提高查询性能将一个数据库的数据分散到不同的数据库中存储。

    Mycat简介

    Mycat 背后是阿里曾经开源的知名产品——Cobar。Cobar的核心功能和优势是 MySQL 数据库分片,此产品曾经广为流传,据说最早的发起者对 Mysql 很精通,后来从阿里跳槽了,阿里随后开源的 Cobar,并维持到 2013 年年初,然后,就没有然后了。
    Cobar 的思路和实现路径的确不错。基于 Java 开发的,实现了 MySQL 公开的二进制传输协议,巧妙地将自己伪装成一个 MySQL Server,目前市面上绝大多数 MySQL 客户端工具和应用都能兼容。比自己实现一个新的数据库协议要明智的多,因为生态环境在哪里摆着。
    Mycat 是基于 cobar 演变而来,对 cobar 的代码进行了彻底的重构,使用 NIO 重构了网络模块,并且优化了 Buffer 内核,增强了聚合,Join 等基本特性,同时兼容绝大多数数据库成为通用的数据库中间件。
    简单的说,Mycat就是一个新颖的数据库中间件产品支持mysql集群,或者mariadb cluster,提供高可用性数据分片集群。你可以像使用mysql一样使用mycat。对于开发人员来说根本感觉不到mycat的存在。

    构架图

    在这里插入图片描述

    Mycat支持的数据库

    在这里插入图片描述

    MyCat安装与启动

    环境要求

    JDK必须是1.7及以上版本
    MySQL推荐使用5.5以上的版本
    本次安装JDK1.8、MySQL5.7、MyCat1.5
    Mysql安装这里不在进行安装了,具体的可以看MySQL安装教程。
    1、Mycat官方网站

    http://www.mycat.org.cn/
    1
    2、下载地址:

    https://github.com/MyCATApache/Mycat-download
    1
    提供下载链接 百度网盘
    3、将下载好的 Mycat-server-1.5.1-RELEASE-20161130213509-linux.tar.gz上传到服务器。
    4、将压缩包解压。建议将Mycat放到/usr/local/mycat目录下

    tar -xzvf Mycat-server-1.5.1-RELEASE-20161130213509-linux.tar.gz
    mv mycat /usr/locat
    

    5、修改配置文件 mycat/conf/wrapper.conf 指定JDK路径

    大概在第5行左右,路径根据实际自己的情况
    wrapper.java.command=/usr/java/jdk1.8.0_171/bin/java
    

    在这里插入图片描述
    6、先学几个命令

    ./mycat start 启动
    
    ./mycat stop 停止
    
    ./mycat console 前台运行
    
    ./mycat install 添加到系统自动启动(暂未实现)
    
    ./mycat remove 取消随系统自动启动(暂未实现)
    
    ./mycat restart 重启服务
    
    ./mycat pause 暂停
    
    ./mycat status 查看启动状态
    

    7、进到mycat目录的bin目录下,启动Mycat

    ./mycat console
    

    出现一堆错误

    Running Mycat-server...
    wrapper  | --> Wrapper Started as Console
    wrapper  | Launching a JVM...
    wrapper  | JVM exited while loading the application.
    jvm 1    | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
    jvm 1    | Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000715550000, 715849728, 0) failed; error='Cannot allocate memory' (errno=12)
    jvm 1    | #
    jvm 1    | # There is insufficient memory for the Java Runtime Environment to continue.
    jvm 1    | # Native memory allocation (mmap) failed to map 715849728 bytes for committing reserved memory.
    jvm 1    | # An error report file with more information is saved as:
    jvm 1    | # /usr/local/mycat/hs_err_pid7676.log
    wrapper  | Launching a JVM...
    wrapper  | JVM exited while loading the application.
    jvm 2    | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
    jvm 2    | Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000715550000, 715849728, 0) failed; error='Cannot allocate memory' (errno=12)
    jvm 2    | #
    jvm 2    | # There is insufficient memory for the Java Runtime Environment to continue.
    jvm 2    | # Native memory allocation (mmap) failed to map 715849728 bytes for committing reserved memory.
    jvm 2    | # An error report file with more information is saved as:
    jvm 2    | # /usr/local/mycat/hs_err_pid7681.log
    wrapper  | Launching a JVM...
    wrapper  | JVM exited while loading the application.
    jvm 3    | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
    jvm 3    | Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000715550000, 715849728, 0) failed; error='Cannot allocate memory' (errno=12)
    jvm 3    | #
    jvm 3    | # There is insufficient memory for the Java Runtime Environment to continue.
    jvm 3    | # Native memory allocation (mmap) failed to map 715849728 bytes for committing reserved memory.
    jvm 3    | # An error report file with more information is saved as:
    jvm 3    | # /usr/local/mycat/hs_err_pid7687.log
    wrapper  | Launching a JVM...
    wrapper  | JVM exited while loading the application.
    jvm 4    | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
    jvm 4    | Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000715550000, 715849728, 0) failed; error='Cannot allocate memory' (errno=12)
    jvm 4    | #
    jvm 4    | # There is insufficient memory for the Java Runtime Environment to continue.
    jvm 4    | # Native memory allocation (mmap) failed to map 715849728 bytes for committing reserved memory.
    jvm 4    | # An error report file with more information is saved as:
    jvm 4    | # /usr/local/mycat/hs_err_pid7692.log
    wrapper  | Launching a JVM...
    wrapper  | JVM exited while loading the application.
    jvm 5    | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
    jvm 5    | Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000715550000, 715849728, 0) failed; error='Cannot allocate memory' (errno=12)
    jvm 5    | #
    jvm 5    | # There is insufficient memory for the Java Runtime Environment to continue.
    jvm 5    | # Native memory allocation (mmap) failed to map 715849728 bytes for committing reserved memory.
    jvm 5    | # An error report file with more information is saved as:
    jvm 5    | # /usr/local/mycat/hs_err_pid7697.log
    wrapper  | There were 5 failed launches in a row, each lasting less than 300 seconds.  Giving up.
    wrapper  |   There may be a configuration problem: please check the logs.
    wrapper  | <-- Wrapper Stopped
    

    在mycat目录下可以看到一些 hs_err_pid的文件
    在这里插入图片描述
    原因是因为我们没有配置JVM堆内存的大小,导致程序无法启动。

    解决办法

    1、修改 mycat/conf/wrapper.conf 加上下面配置

    我的是加到文件最后面
    wrapper.java.additional.10=-Xmx1G
    wrapper.java.additional.11=-Xms512M
    

    2、修改再次启动

    Running Mycat-server...
    wrapper  | --> Wrapper Started as Console
    wrapper  | Launching a JVM...
    jvm 1    | Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
    jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
    jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
    jvm 1    | 
    jvm 1    | log4j 2018-12-04 22:34:38 [./conf/log4j.xml] load completed.
    jvm 1    | MyCAT Server startup successfully. see logs in logs/mycat.log
    

    看到上面提示表示Mycat成功启动,下面看一下启动端口
    在这里插入图片描述
    这时候可以到 Mycat的默认端口号为:8066

    MyCat 分片-海量数据存储解决方案

    什么分片

    简单来说,就是指通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果。
    数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。
    1、一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切分可以称之为数据的垂直(纵向)切分。
    在这里插入图片描述
    2、另外一种则是根据表中的数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库(主机)上面,这种切分称之为数据的水平(横向)切分。
    在这里插入图片描述

    MyCat分片策略

    在这里插入图片描述

    1、逻辑库(Schema)

    数据库中间件,通常对实际应用来说,并不需要知道中间件的存在,业务开发人员只需要知道数据库的概念,所以数据库中间件可以被看做是一个或多个数据库集群构成的逻辑库。

    2、逻辑表(Table)

    既然有逻辑库,那么就会有逻辑表,分布式数据库中,对应用来说,读写数据的表就是逻辑表。逻辑表,可以是数据切分后,分布在一个或多个分片库中,也可以不做数据切分,不分片,只有一个表构成。
    分片表:是指那些原有的很大数据的表,需要切分到多个数据库的表,这样,每个分片都有一部分数据,所有分片构成了完整的数据。 总而言之就是需要进行分片的表。
    非分片表:一个数据库中并不是所有的表都很大,某些表是可以不用进行切分的,非分片是相对分片表来说的,就是那些不需要进行数据切分的表。

    3、分片节点(dataNode)

    数据切分后,一个大表被分到不同的分片数据库上面,每个表分片所在的数据库就是分片节点(dataNode)。

    4、节点主机(dataHost)

    数据切分后,每个分片节点(dataNode)不一定都会独占一台机器,同一机器上面可以有多个分片数据库,这样一个或多个分片节点(dataNode)所在的机器就是节点主机(dataHost),为了规避单节点主机并发数限制,尽量将读写压力高的分片节点(dataNode)均衡的放在不同的节点主机(dataHost)。

    5、分片规则(rule)

    前面讲了数据切分,一个大表被分成若干个分片表,就需要一定的规则,这样按照某种业务规则把数据分到某个分片的规则就是分片规则,数据切分选择合适的分片规则非常重要,将极大的避免后续数据处理的难度。

    MyCat分片配置

    配置文件说明mycat目录下

    –bin 启动目录

    –conf 配置文件存放配置文件

    –lib MyCAT自身的jar包或依赖的jar包的存放目录。

    –logs MyCAT日志的存放目录。日志存放在logs/log中,每天一个文件。

    conf目录

    --server.xml:是Mycat服务器参数调整和用户授权的配置文件。
    --schema.xml:是逻辑库定义和表以及分片定义的配置文件。
    --rule.xml:  是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改需要重启MyCAT。
    --log4j.xml: 日志存放在logs/log中,每天一个文件,日志的配置是在conf/log4j.xml中,根据自己的需要可以调整输出级别为debug,debug级别下,会输出更多的信息,方便排查问题。
    --autopartition-long.txt,partition-hash-int.txt,sequence_conf.properties, sequence_db_conf.properties 分片相关的id分片规则配置文件
    

    Mycat最重要的3大配置文件如图。
    在这里插入图片描述

    1、配置 schema.xml

    schema.xml作为MyCat中重要的配置文件之一,管理着MyCat的逻辑库、逻辑表以及对应的分片规则、DataNode以及DataSource。弄懂这些配置,是正确使用MyCat的前提。这里就一层层对该文件进行解析。
    schema 标签用于定义MyCat实例中的逻辑库。
    Table 标签定义了MyCat中的逻辑表 rule用于指定分片规则,auto-sharding-long的分片规则是按ID值的范围进行分片 1-5000000 为第1片 5000001-10000000 为第2片… 具体的后面会讲解
    dataNode 标签定义了MyCat中的数据节点,也就是我们通常说所的数据分片。
    dataHost标签在mycat逻辑库中也是作为最底层的标签存在,直接定义了具体的数据库实例、读写分离配置和心跳语句。
    在服务器上创建3个数据库,分别为 db1、db2、db3

    myslq -u root -p
    CREATE DATABASE db1 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    CREATE DATABASE db2 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    CREATE DATABASE db3 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    

    Navicat上可以看到创建了三个空数据库
    在这里插入图片描述
    修改mycat/conf/schema.xml。

    <?xml version="1.0"?>
    <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
    <mycat:schema xmlns:mycat="http://org.opencloudb/" >
    	name对应逻辑库的库名
    	<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
    		dataNode 对应下面 dataNode的name
    		<table name="tb_test" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
    	</schema>
    	
    	dataHost 对应下面的dataHostname
    	database 对应刚刚新建的三个数据库
    	<dataNode name="dn1" dataHost="localhost1" database="db1" />
    	<dataNode name="dn2" dataHost="localhost1" database="db2" />
    	<dataNode name="dn3" dataHost="localhost1" database="db3" />
    	
    	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
    		writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
    		<heartbeat>select user()</heartbeat>
    		修改主机地址及用户名密码
    		<writeHost host="hostM1" url="119.23.74.34:3306" user="root"
    			password="123456">
    		</writeHost>
    	</dataHost>
    </mycat:schema>
    

    2、配置 server.xml

    server.xml几乎保存了所有mycat需要的系统配置信息。最常用的是在此配置用户名、密码及权限。在system中添加UTF-8字符集设置,否则存储中文会出现问号。mycat/conf/server.xml

    添加
    <property name="charset">utf8</property>
    

    修改 user 的配置,这里对我们的逻辑库 TESTDB设置两个登录用户

    <user name="test">
    	<property name="password">123456</property>
    	<property name="schemas">TESTDB</property>
    	<!-- 只读用户-->
    	<property name="readOnly">true</property>
    </user>
    
    <user name="root">
    	<property name="password">123456</property>
    	<property name="schemas">TESTDB</property>
    </user>
    

    修改配置之后一定记得重启

    ./mycat restart
    

    MyCat分片测试

    1、首先先用Navicat数据库连接工具连接到Mycat
    在这里插入图片描述
    连接之后可以看到我们刚刚配置的逻辑库 TESTDB现在还是一个空数据库
    在这里插入图片描述
    我们现在先创建一张表,Navicat新建查询

    CREATE TABLE tb_test (
      id BIGINT(20) NOT NULL,
      title VARCHAR(100) NOT NULL ,
      PRIMARY KEY (id)
    ) ENGINE=INNODB DEFAULT CHARSET=utf8
    

    创建后会发现我们MySQL的3个库,表都自动创建好了。
    在这里插入图片描述
    接下来就是插入数据,注意,在写INSERT语句时一定要写把字段列表写出来,否则会出现下列错误提示:

    错误代码: 1064 
    1064 - bad insert sql (sharding column:ID not provided,INSERT INTO tb_test (1, 'java')
    

    我们试着插入一些数据

    INSERT INTO tb_test(id,title) VALUES(1,'java1');
    INSERT INTO tb_test(id,title) VALUES(2,'java2');
    INSERT INTO tb_test(id,title) VALUES(3,'java3');
    

    我们会发现这些数据被写入到第一个节点中了,那什么时候数据会写到第二个节点中呢?
    我们插入下面的数据就可以插入第二个节点了

    INSERT INTO tb_test(id,title) VALUES(5000001,'java5000001');
    

    因为我们采用的分片规则是每节点存储500万条数据,所以当ID大于5000000则会存储到第二个节点上。

    目前只设置了三个节点,如果数据大于1000万条,会怎么样呢?执行下列语句测试一下

    INSERT INTO tb_test(id,title) VALUES(10000001,'java10000001');
    

    很明显插入到第三个节点上。
    测试结果
    在这里插入图片描述

    Mycat分片规则

    mycat/conf/rule.xml用于定义分片规则,这里说一下两种常见的分片规则
    1、按主键范围分片 rang-long
    在配置文件中找到

    schema.xml

    <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
    	<table name="tb_test" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
    </schema>
    
    rule.xml
    <tableRule name="auto-sharding-long">
    	<rule>
    		<columns>id</columns>
    		<algorithm>rang-long</algorithm>
    	</rule>
    </tableRule>
    

    tableRule 是定义具体某个表或某一类表的分片规则名称columns用于定义分片的列 algorithm代表算法名称,接着找rang-long的定义。

    <function name="rang-long"
    	class="org.opencloudb.route.function.AutoPartitionByLong">
    	<property name="mapFile">autopartition-long.txt</property>
    </function>
    

    Function用于定义算法mapFile用于定义算法需要的数据,打开 mycat/conf/autopartition-long.txt。

    # range start-end ,data node index
    # K=1000,M=10000.
    0-500M=0
    500M-1000M=1
    1000M-1500M=2
    

    这里可以看到最大的ID只能是 1500万,如果需要添加更多数据可以修改配置,如果超过了插入会出现错误。

    这里插入一条ID为2000M
    INSERT INTO tb_test(id,title)VALUES(20000000,"java20000000");
    出现错误
    1064 - can't find any valid datanode :TB_TEST -> ID -> 20000000
    意思找不到2000M这个节点,因为没有配置这个节点。
    

    2、一致性哈希murmur
    当我们需要将数据平均分在几个分区中,需要使用一致性hash规则。
    找到function的name为murmur 的定义,将count属性改为3,因为我要将数据分成3片。

    rule.xml

    <function name="murmur"
    	class="org.opencloudb.route.function.PartitionByMurmurHash">
    	<property name="seed">0</property><!-- 默认是0 -->
    	<property name="count">3</property><!-- 要分片的数据库节点数量,必须指定,否则没法分片 -->
    	<property name="virtualBucketTimes">160</property><!-- 一个实际的数据库节点被映射为这么多虚拟节点,默认是160倍,也就是虚拟节点数是物理节点数的160倍 -->
    	<!-- <property name="weightMapFile">weightMapFile</property> 节点的权重,没有指定权重的节点默认是1。以properties文件的格式填写,以从0开始到count-1的整数值也就是节点索引为key,以节点权重值为值。所有权重值必须是正整数,否则以1代替 -->
    	<!-- <property name="bucketMapPath">/etc/mycat/bucketMapPath</property> 
    		用于测试时观察各物理节点与虚拟节点的分布情况,如果指定了这个属性,会把虚拟节点的murmur hash值与物理节点的映射按行输出到这个文件,没有默认值,如果不指定,就不会输出任何东西 -->
    </function>
    

    再配置文件中可以找到表规则定义

    rule.xml

    <tableRule name="sharding-by-murmur">
    	<rule>
    		<columns>id</columns>
    		<algorithm>murmur</algorithm>
    	</rule>
    </tableRule>
    

    这个规则指定的列是id,如果数据库表的主键不是Id,是其它字段可以重新定义一个tableRule。

    <tableRule name="sharding-by-murmur-order">
    	<rule>
    		<columns>order_id</columns>
    		<algorithm>murmur</algorithm>
    	</rule>
    </tableRule>
    

    在 mycat/conf/schema.xml 中配置逻辑表时,指定规则为上面定义好的 sharding-by-murmur-order。

    name 逻辑为表名
    dataName 对应数据库
    rule 对应刚刚新建好的规则
    <table name="tb_order" dataNode="dn1,dn2,dn3" rule="sharding-by-murmur-order" />
    

    重启mycat,下面创建一个 tb_order 表添加一些数据进行测试。
    在这里插入图片描述
    可以看到数据表的基本是平均分布插入到不同的表,每张表相关数据就是一到两条。

    最后感谢阅读,讲得不好的地方,有问题等欢迎留言,看到第一时间修改和答复。

    注意点

    1、修改配置文件后记得重启服务。

    展开全文
  • IT运行中心 linux平台Tuxedo9.1中间件安装服务器系统要求及检查(v1.0)
  • linux安装rocketmq消息中间件

    千次阅读 2017-12-25 20:46:24
    本项目安装需要事先安装maven项目 1.下载(/user/local目录下) 下载地址:https://github.com/apache/rocketmq 本地下载的tar包是基础包,只能通过maven打包可以打包出rocketmq启动的项目。会生成在/rocketmq-all-...
  • systemd帮助文档: ...1.安装java yum install java-1.8.0-openjdk* -y 2.下载activeMQ二进制安装软件包 官网地址: http://activemq.apache.org/ 3.解压并安装 tar -zxvf apache-activemq-5....
  • linux安装Rabbitmq消息中间件

    千次阅读 2017-12-24 20:56:27
    1.安装erlang环境 以root身份执行下面命令 yum install erlang yum install erlang xmlto 2.安装epel源(补充完善需要erlang的环境) rpm -ivh ...
  • nginx awstats jdk tomcat 安装配置详细...1、上传apache-tomcat-6.0.18.tar.gz和jdk-6u12-linux-i586.bin至/usr/local 2、执行如下命令安装tomcat: #cd /usr/local #tar zxvf apache-tomcat-6.0.18.tar.gz...
  • 1.下载(/usr/local目录下) 下载地址:http://kafka.apache.org/downloads wget ...2.解压 tar -zxvf kafka_2.12-1.0.0.tgz 3.添加日志(/usr/loc
  • 中间件安装】redis安装

    万次阅读 2019-11-25 15:51:55
    第一部分:Linux安装redis服务器 1、检查是否有redis yum 源 yum install redis 提示 no package installed,即没有源 2、下载fedora的epel仓库 yum install epel-release 3、安装redis数据库 yum ...
  • 中间件安装】mongo安装

    万次阅读 2019-11-25 17:44:02
    第一部分:Linux安装 mongo服务器 1、配置 yum源 # 查看服务器版本 # more /etc/redhat-release CentOS Linux release 7.2.1511 (Core) # vi /etc/yum.repos.d/mongodb-org-3.2.repo [mongodb-org-3.2] name...
  • 这里只是在参考其他博主的操作上,...1. 安装jdk 链接:https://blog.csdn.net/pang_ping/article/details/80570011 注意:STEP 4: export JAVA_HOME=/usr/java/jdk1.8.0_152 export CLASSPATH=.:$JAVA_HOME/...
  • 2、打开linux防火墙端口 /sbin/iptables -I INPUT -p tcp --dport 8161 -j ACCEPT&&/etc/init.d/iptables save&&service iptables restart&&/etc/init.d/ iptables status /sbin/iptables -I INPUT -p tcp ...
  • 文章目录RabbitMq安装 RabbitMq安装 安装依赖 yum install
  • 阿里巴巴宣布捐赠RocketMQ到Apache软件基金会孵化项目,最近闲下来便去部署了一个试验版本玩玩。  至于RockeMQ是什么,原理架构什么的这里就不赘述了,这里只记录安装过程...1.1 安装Linux  笔者在此安装的是最...
  • Linux服务器一台(我使用的是VMware Workstation Pro搭建的虚拟环境,操作系统是CentOS 7.8.2003,同时我安装了GHOME图形化界面和宝塔Linuxmi) 定义一个简单的进程控制块,其中有对应进程分配到的内存的起始地址和...
  • Apache中间件安装

    2020-09-17 15:30:39
    今天复习以前的apache安装,在linux系统上安装apache、mysql、php。        在安装apache、mysql、php之前还要安装一下依赖环境。 apache: yum install expat-devel mysql:...
  • 最近需要用到solr,公司内部搭建了一个solr测试环境。  版本:solr4.7.2 ,tomcat 7.0.55 jdk:1.7_051  解压 solr 和tomcat这里就不详说。  1、启动tomcat: ... cp -r /home/hadoop/solr-4...
  • 阿里巴巴宣布捐赠RocketMQ到Apache...一、系统环境service操作系统:centOS7 64位虚拟机JDK:1.7以上client操作系统:Windows 7 64位旗舰版1.1 安装Linux笔者在此安装的是最小化版本的Linux安装完成后显示:安装完...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,048
精华内容 419
关键字:

linux中间件安装

linux 订阅