返回顶部
首页 > 资讯 > 数据库 >tomcat中的redis、activemq、activemq数据库调优的使用
  • 958
分享到

tomcat中的redis、activemq、activemq数据库调优的使用

2024-04-02 19:04:59 958人浏览 安东尼
摘要

1.下载安装包Redis-3.2.2.tar.gz,并且进行解压,解压后编译源码[root@localhost soft]# tar  -zxvf redis-3.2.2.tar.gz 

1.下载安装包Redis-3.2.2.tar.gz,并且进行解压,解压后编译源码


[root@localhost soft]# tar  -zxvf redis-3.2.2.tar.gz 

[root@localhost soft]# cd redis-3.2.2

[root@localhost redis-3.2.2]# make

编译完成后提示

make[1]: Leaving directory `/soft/redis-3.2.2/src'

2.编译完成后,在src目录下有四个可执行文件redis-server、

[root@localhost redis-3.2.2]# mkdir /usr/local/redis

[root@localhost redis-3.2.2]# cp redis.conf /usr/local/redis/

[root@localhost redis-3.2.2]# cd src/

[root@localhost src]# cp redis-server /usr/local/redis/

[root@localhost src]# cp redis-benchmark /usr/local/redis/

[root@localhost src]# cp redis-cli /usr/local/redis/

[root@localhost src]# cd /usr/local/redis/

[root@localhost redis]# ls

redis-benchmark   #redis性能测试工具

redis-cli         #redis命令行操作工具

redis.conf        redis配置文件

redis-server      #服务器的daemon启动程序


3.修改配置文件

[root@localhost redis]# vi redis.conf 

61 #bind 127.0.0.1      注释这一行,默认是指至运行自己访问自己

128 daemonize yes       默认为no,改为yes,默认是不能以守护进程运行

480 requirepass 123456  默认是没有开启redis的密码,设置redis的密码为123456


4.redis启动服务

/usr/local/redis/redis-server /usr/local/redis/redis.conf    配置文件已经改写为守护进程的方式 

[root@fanxiaohui redis]# ps -elf | grep redis

5 S root       6524      1  0  80   0 - 33383 ep_pol 00:06 ?        00:00:00 /usr/local/redis/redis-server *:6379                     

0 S root       6528   3187  0  80   0 - 25814 pipe_w 00:06 pts/1    00:00:00 grep redis


5.客户端测试一下是否启动成功,开启认证功能后redis测试方法必须指定服务器IP地址、端口和密码

[root@fanxiaohui redis]# redis-cli -h 127.0.0.1 -p 6379 -a 123456

127.0.0.1:6379> set foo bar

OK

127.0.0.1:6379> get foo

"bar"

127.0.0.1:6379> 

可以看到取的值说明成功。


activeMQ linux中的部署和安装


1.下载安装包apache-activemq-5.14.1-bin.tar.gz,并且进行解压,解压后编译源码

[root@fanxiaohui soft]# tar -zxvf apache-activemq-5.14.1-bin.tar.gz 

[root@fanxiaohui soft]# mv apache-activemq-5.14.1 /usr/local/apache-activemq

[root@fanxiaohui soft]# cd /usr/local/apache-activemq/bin/

2.启动activemq服务

/usr/local/activemq/bin/activemq start


3.查看端口是否有运行程序

[root@localhost bin]# netstat -anpult | grep 61616

tcp        0      0 :::61616                    :::*                        LISTEN

  3576/java


4.完成后添加开启自启动


[root@localhost bin]# cat /etc/rc.local 

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.



touch /var/lock/subsys/local

/usr/local/activemq/bin/activemq start


5.apache-activemq调优配置 

持久化

ActiveMQ支持持久化,可以将接收到的消息保存到数据库中,就算ActiveMQ重启,也照样能将尚未派发的消息发送出去。

    ActiveMQ的持久化机制,对于Queue类型的消息,将存储在Broker,但是一旦其中一个消费者完成消费,则立即删除这条消息。

对于Topic类型的消息,即使所有的订阅者都完成了消费,Broker也不一定会马上删除无用消息,而是保留推送历史,之后会异步清除无用消息。

而每个订阅者消费到了哪条消息的offset会记录在Broker,以免下次重复消费。因为消息是顺序消费,先进先出,所以只需要记录上次消息消费到哪里就可以了。

配置持久化的方式,都是修改%ACTIVEMQ_HOME%conf/acticvemq.xml文件。


1。持久化为文件

这个你装ActiveMQ时默认就是这种,只要你设置消息为持久化就可以了。涉及到的配置和代码有

 <persistenceAdapter>

            <kahaDB directory="${activemq.data}/kahadb"/>

        </persistenceAdapter>

2.持久化 为 Mysql

[root@fanxiaohui lib]# cd /usr/local/apache-activemq/lib

[root@fanxiaohui soft]# mv  mysql-connector-java-5.1.34.jar /usr/local/apache-activemq/lib/

 你首先需要把Mysql的驱动放到ActiveMQ的Lib目录下,如mysql-connector-Java-5.1.34.jar。

[root@fanxiaohui soft]# cd /usr/local/apache-activemq/conf/

[root@fanxiaohui conf]# vi activemq.xml

     85        <persistenceAdapter>

     86                  <jdbcPersistenceAdapter dataSource="#mysql-ds" dataDirectory="${activemq.base}/data" createTablesOnStartup="true" useDatabaseLock="false" />

     87                  </persistenceAdapter>

...............................

...............................

    133           <bean id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">

    134                         <property name="driverClassName" value="com.mysql.jdbc.Driver"/>       #使用的JDBC驱动的完整有效的java 类名

    135                         <property name="url" value="jdbc:mysql://192.168.23.240:3306/activemqdb?relaxAutoC        ommit=true"/>  #传递给JDBC驱动的用于建立连接的URL

    136                         <property name="username" value="activemq"/>    # 传递给JDBC驱动的用于建立连接的用户名

    137                         <property name="passWord" value="activemq.123"/> #传递给JDBC驱动的用于建立连接的密码

    138                         <property name="poolPreparedStatements" value="true"/> #开启池的prepared statement 池功能

    139                         <property name="maxTotal" value="150"/>  # 最大活动连接:连接池在同一时间能够分配的最大活动连接的数量, 如果设置为非正数则表示不限制 

    140                         <property name="minIdle" value="5"/>     #最大空闲连接:连接池中容许保持空闲状态的最大连接数量,超过的空闲连接将被释放,如果设置为负数表示不限制

    141                         <property name="maxIdle" value="20"/>    #小空闲连接:连接池中容许保持空闲状态的最小连接数量,负数表示没有现在

    142                         <property name="initialSize" value="30"/>  #初始化连接:连接池启动时创建的初始化连接数量

    143                         <property name="maxWaitMillis" value="1000"/>  #最大等待时间:当没有可用连接时,连接池等待连接被归还的最大时间(以毫秒计数),超过时间则抛出异常,如果设置为-1表示无限等待

    144                         <property name="timeBetweenEvictionRunsMillis" value="10000"/>  #在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位.如果设置为非正数,则不运行空闲连接回收器线程

    145                         <property name="numTestsPerEvictionRun" value="10"/>  #在每次空闲连接回收器线程(如果有)运行时检查的连接数量

    146                         <property name="minEvictableIdleTimeMillis" value="10000"/>   #连接在池中保持空闲而不被空闲连接回收器线程(如果有)回收的最小时间值,单位毫秒

    147                         <property name="validationQuery" value="SELECT NOW() FROM DUAL"/> #SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定,则查询必须是一个SQL SELECT并且必须返回至少一行记录

    148             </bean>


从配置中可以看出数据库的名称是activemq,密码为:activemq.123 你需要手动在MySql中增加这个库。

mysql>

mysql>create database activemqdb;

mysql>grant all on activemqdb.* to "activemq"@"%" identified by "activemq.123";


数据库配置好后才能启动activemq服务


[root@fanxiaohui conf]# /usr/local/apache-activemq/bin/activemq start

INFO: Loading '/usr/local/apache-activemq//bin/env'

INFO: Using java '/usr/java/bin/java'

INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details

INFO: pidfile created : '/usr/local/apache-activemq//data/activemq.pid' (pid '4123')

[root@fanxiaohui conf]#  ps -elf | grep  activemq

0 S root       4123      1 40  80   0 - 768127 futex_ 02:03 pts/0   00:00:04 /usr/java/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/usr/local/apache-activemq//conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/usr/local/apache-activemq//tmp -Dactivemq.classpath=/usr/local/apache-activemq//conf:/usr/local/apache-activemq//../lib/: -Dactivemq.home=/usr/local/apache-activemq/ -Dactivemq.base=/usr/local/apache-activemq/ -Dactivemq.conf=/usr/local/apache-activemq//conf -Dactivemq.data=/usr/local/apache-activemq//data -jar /usr/local/apache-activemq//bin/activemq.jar start


再次查看数据库时出现三张表

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| infORMation_schema |

| activemqdb         |

| data               |

| fanxiaohui         |

| mysql              |

| performance_schema |

| sys                |

| test               |

+--------------------+

8 rows in set (0.00 sec)


mysql> use activemqdb;

Database changed

mysql> show tables;

+----------------------+

| Tables_in_activemqdb |

+----------------------+

| ACTIVEMQ_ACKS        |

| ACTIVEMQ_LOCK        |

| ACTIVEMQ_MSGS        |

+----------------------+

3 rows in set (0.00 sec)  


activemq_acks   用于存储订阅关系,如果是持久化TOPIC,订阅者和服务器的订阅关系在这个表保存

activemq_msgs   用于存储消息,Queue和Topic都存储在这个表中


6.测试

配置好后可以登录监控管理页面去看队列情况


Http://192.168.23.240:8161/admin

1.添加用户名和密码,在conf目录下找到jetty-realm.properties

cd /usr/local/activemq/conf/

vi jetty-realm.properties

     18 # Defines users that can access the WEB (console, demo, etc.)

     19 # username: password [,rolename ...]

     20 system: manager,admin                          添加这一行,管理员的账号和密码

     21 admin: admin, admin

     22 user: user, user

~

2.修改配置jetty.xml文件

cd /usr/local/activemq/conf/

[root@fanxiaohui conf]# vi  jetty.xml

     48 

     49     <bean id="rewriteHandler" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">

     50         <property name="rules">

     51             <list>

     52                 <bean id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">

     53                   <property name="pattern" value="*"/>

     54                   <property name="name" value="X-FRAME-OPTIONS"/>

     55                   <property name="value" value="SAMEORIGIN"/>

     56                 </bean>

     57             </list>

     58         </property>

     59     </bean>

删除以上的行

     57                                 <!-- Enable embedded file server for Blob messages -->

     58                                 <!-- <bean class="org.eclipse.jetty.webapp.WebAppContext"> <property name="contextPath"

     59                                         value="/fileserver" /> <property name="resourceBase" value="${activemq.home}/webapps/fileserver"

     60                                         /> <property name="logUrlOnStart" value="true" /> <property name="parentLoaderPriority"

     61                                         value="true" /> </bean> -->


添加以上的行


您可能感兴趣的文档:

--结束END--

本文标题: tomcat中的redis、activemq、activemq数据库调优的使用

本文链接: https://www.lsjlt.com/news/39675.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • tomcat中的redis、activemq、activemq数据库调优的使用
    1.下载安装包redis-3.2.2.tar.gz,并且进行解压,解压后编译源码[root@localhost soft]# tar  -zxvf redis-3.2.2.tar.gz ...
    99+
    2024-04-02
  • 数据库服务activemq在灾备双活建设中有什么作用
    这篇文章主要讲解了“数据库服务activemq在灾备双活建设中有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库服务activemq在灾备双活建...
    99+
    2024-04-02
  • 消息中间件ActiveMQ的简单入门介绍与使用
    目录一、什么是消息中间件二、什么是ActiveMQ三、什么时候需要用ActiveMQ四、如何使用ActiveMQ浅谈MQTT1、什么是MQTT2、如何理解MQTT3、如何使用MQTT...
    99+
    2024-04-02
  • tomcat常用的调优参数有哪些
    Tomcat常用的调优参数有:1. Xmx:设置JVM的最大堆内存大小,通过增加这个值可以提高Tomcat的性能。2. Xms:设置...
    99+
    2023-08-30
    tomcat
  • redis数据库的使用技巧
    今天就跟大家聊聊有关redis数据库的使用技巧,相信大部分人都还不知道这些技巧,因此给大家总结了以下内容,希望大家阅读完后可以有所收获。1、停止使用 KEYS *Okay,以挑战这个命令开始这篇文章,或许并...
    99+
    2024-04-02
  • Spring Boot中Redis数据库的使用实例
    spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化。redis介绍Redis是目前业界使用最广泛的内存数据存储。相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, set...
    99+
    2023-05-31
    spring boot redis
  • 使用云数据库Redis有哪些优势
    1. 高性能:云数据库Redis采用内存数据库技术,数据存储在内存中,读写速度非常快,可以达到每秒数十万次的读写操作,因此适用于高并...
    99+
    2023-05-13
    云数据库Redis 云数据库
  • 键值数据库中Redis的使用是怎样的
    键值数据库中Redis的使用是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JDBC—Redis的使用redis的java-jdbc的下...
    99+
    2024-04-02
  • redis数据库使用的数据结构类型
    redis 中共有 9 种数据结构类型:键值对:储存单个键值对字符串:存储文本、数字或二进制数据列表:存储有序键值对集合:存储不重复的值有序集合:存储带有分值的元素,按分值排序哈希表:存...
    99+
    2024-04-19
    redis 地理位置 键值对
  • 数据库调优的秘诀:让你的数据库飞起来
    ...
    99+
    2024-04-02
  • Redis缓存数据库的数据类型和优点
    这篇文章主要讲解了“Redis缓存数据库的数据类型和优点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis缓存数据库的数据类型和优点”吧!已经有了Me...
    99+
    2024-04-02
  • redis数据库的优缺点有哪些
    小编给大家分享一下redis数据库的优缺点有哪些,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!redis数据库的优缺点:1、使用redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于...
    99+
    2024-04-02
  • mysql数据库引擎的调优方法
    本篇内容主要讲解“mysql数据库引擎的调优方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql数据库引擎的调优方法”吧!&bull; Opti...
    99+
    2024-04-02
  • 如何调优Aurora数据库的性能
    Aurora数据库是一种高性能、高可靠性的关系型数据库解决方案。要调优Aurora数据库的性能,可以采取以下几种方法: 使用合适的...
    99+
    2024-04-02
  • 数据库性能调优的艺术:让你的数据库飞起来
    1. 索引优化 索引是数据库中用于快速查找数据的结构。合理的索引可以显著提高查询速度。在创建索引时,应考虑以下因素: 选择合适的数据列作为索引列。索引列应具有较高的唯一性,并且经常被用于查询条件。 选择合适的索引类型。常用的索引类型包...
    99+
    2024-02-13
    数据库性能调优 数据库优化 SQL优化 索引优化 查询优化
  • Redis数据库的使用场景介绍(避免误用Redis)
    Redis 是目前 NoSQL 领域的当红炸子鸡,它象一把瑞士军刀,小巧、锋利、实用,特别适合解决一些使用传统关系数据库难以解决的问题。但是 Redis 不是银弹,有很多适合它解决的问题,但是也有很多并不适...
    99+
    2022-06-04
    场景 数据库 Redis
  • redis数据库是不是免费使用的
    这篇文章主要介绍redis数据库是不是免费使用的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Redis是完全开源免费的,是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络...
    99+
    2024-04-02
  • redis缓存数据库中数据的方法
    本文实例为大家分享了Redis缓存数据库中数据的具体代码,供大家参考,具体内容如下 将数据库的数据保存到redis缓存 当第一次查询时,缓存没有对应的数据,则会查询数据库,并将数据更新到缓存当缓存中有对应的数据时,则会直...
    99+
    2022-07-28
    redis缓存数据库数据 redis缓存数据库 redis缓存数据
  • 数据库SQL调优的方式有哪些
    小编给大家分享一下数据库SQL调优的方式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方式:1、创建索引时,尽量避免全表扫...
    99+
    2024-04-02
  • PHP与数据库性能调优的集成
    随着互联网技术的飞速发展,数据库是网站开发中必不可少的一部分。而PHP是目前最常用的服务器端语言之一,它的高效性能和便捷的开发方式已经被广泛认可。但是,即使是最流行的技术也有其局限性,数据库性能问题是PHP开发人员必须面对的挑战之一。 那么...
    99+
    2023-05-17
    调优 PHP 数据库性能
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作