怎么在自己的oracle 单机转集群上模拟集群?

日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果需要管理数十上百台服务器,必须依次登录每台机器的传统方法查阅日志,这样很繁琐和效率低下。当务之急是使用集中化的日志管理,开源实时日志分析ELK平台能够完美的解决上述所提到的问题。
2.需要安装的工具
ELK由ElasticSearch(ES)、Logstash和Kiabana三个开源工具组成。
ES是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等,最重要的是近实时搜索。
Logstash是一个完全开源的工具,可以对日志进行收集、分析、并将其存储供以后使用。
kibana也是一个开源和免费的工具,他Kibana可以为Logstash和ES提供的日志分析友好的Web界面,可以帮助您汇总、分析和搜索重要数据日志
下载地址:&
&ELK是基于java的开源,所以需要安装jdk,配置环境变量
安装过程比较简单,运行可执行文件一直下一步即可。安装完成后,配置JAVA_HOME和JRE_HOME,如下图所示:
在cmd命令窗口中运行java -version命令,如果现实如下结果,表示安装成功:
Logstash服务依赖与ES服务,Kibana服务依赖Logstash和ES,所以ELK的服务启动顺序为:ES-&Logstash-&Kibana,为了配合服务启动顺序,我们安装顺序和启动顺序保持一致。
解压三个压缩包到同一个目录中,目录的绝对路径中最好不要出现中文字符和空格,解压目录如下:
然后依次安装,在es的bin目录下执行service install命令安装就好了,默认端口是9200。
安装成功之后浏览器直接访问:&http://localhost:9200/ &若出现以下结果,则表示安装成功,服务启动::
接下来我们安装head插件,在bin目录下,运行plugin install mobz/elasticsearch-head。安装完成后,在浏览器里输入:,出现类似以下结果,表示插件安装成功:(默认情况下是单节点的,下图是我配置的单机多节点,模拟集群部署的环境)
接下来安装 logstash服务,我们需要借助 nssm 来安装,具体nssm 是什么东西,请看官网解释:
nssm&is a service helper which doesn't suck.&srvany&and other service helper programs suck because they don't handle failure of the application running as a service. If you use such a program you may see a service listed as started when in fact the application has died.&nssm&monitors the running service and will restart it if it dies. With&nssm&you know that if a service says it's running, it really is. Alternatively, if your application is well-behaved you can configure&nssm&to absolve all responsibility for restarting it and let Windows take care of recovery actions.
具体就不翻译了,应该都能看得懂。
从官网下载nssm.exe之后 拷贝到logstash的bin目录下,然后在bin目录下新建logstash.conf配置文件,具体内容如下,具体参数可以自定义:
我的定义如下:
具体参数什么意思请参考官网文档解释。
然后再新建 run.bat文件,内容如下:
然后运行命令:nssm install logstash 安装:
在依赖里面根据填写如下内容(注意:Java是32位的后缀是x86,64位的是x64):
添加依赖的原因是,logstash的输出配置的是Elasticsearch,如果Elasticsearch没有启动,logstash无法正常工作。
最后单击install service按钮,执行安装过程。
最后安装kibana,步骤和上面的步骤一样,依赖里面配置如下内容:
&4.启动服务
在cmd中运行services.msc打开windows服务,依次启动如下服务:
Elasticsearch
在浏览器中输入:,如果出现如下界面,表示服务启动成功:
单击&create&按钮,我的index名字是:.kibana &然后点击Discover
到此我们的单节点的配置就完了,在生产环境一般都是多节点集群化部署,再加loadbalance处理。
我们也可以在单机做多节点部署,模仿集群环境,配置也比较简单把 es的目录拷贝三份
&然后分别修改config/elasticsearch.yml 文件中的下面参数:
&cluster.name: elasticsearch &集群名称,4个节点的集群名称一样才能识别到是属于同一个集群(前提是要在同一个网段,单机本身就是同一网段的)
&node.name: followNode1 节点名称,集群中各个节点的名称,我的分别是&followNode1,followNode2,followNode3,主节点叫:masterNode
&transport.tcp.port: 9301 &tcp通信端口,默认主节点是:9300,我的几个从节点分别是: 03
&http.port: 9201 &http通信端口,默认主节点是:9200,我的几个从节点分别是: 03
注意我是直接拷贝的三份,所以service的名字也是一样的,我们需要手动修改一下
修改service_id参数,这就是安装到windows服务的名称,不能重复,所以我们依次改为backup1,backup2,backup3 ,名字可以自己随便起,但是最好起的有点意义
叫backup是因为他作为备份接节点存在。我们知道在集群化的管理中有master/slave的概念,也就是主/从节点,主要是为了双机备份,防止单节点宕机,几乎所有的集群化
都有这样的功能。比如solr,HBase,Cassandra,Hadoop等等。当master节点挂掉之后,其他的slave节点会自动重新选举出一个master节点,这个选举在ES集群中已经
实现,不像solr等其他的需要借助于zookeeper。
我们在创建节点的时候可以在配置文件elasticsearch.yml&中指定当前节点是否为主节点:
node.master: false 是否为主节点 node.data: true &是否作为数据节点
更多参数命令园子里已经有朋友整理的很详细了请参考:&
修改好配置之后我们依次安装各个节点的服务,装好之后如下:
然后重启&elasticsearch-service-x64 服务,此时他作为master节点存在,重启之后才能识别到新的slave节点的存在,需要注意的是:
&elasticsearch-service-x64 服务和 logstash,kibana有依赖,它停止之后这两个服务也就停止了,需要重新启动。
&等服务重新启动完成之后在浏览器输入任何一个slave节点,都会显示在一个集群中:
ES提供了非常易用的Reful风格的api,非常易用,目前是非常活跃的开源搜索工具。
它支持多种类型的简单查询和复合查询,自己动手实践一下就知道他有多好用了:
学习地址:
欢迎关注微信公众平台联系我:上帝派来改造世界的人
阅读(...) 评论()一、单机版redeis
1.安装包下载
  http://download.redis.io/releases/ 下载redis的压缩包,并放在/usr/soft文件夹下
2.解压压缩包:
tar -zxf redis-3.0.7.tar.gz
& 这里安装redis在/usr/local/redis文件夹中
& 进入安装包:cd /usr/soft/redis-3.0.7,执行命令
make PREFIX=/usr/local/redis/ install
&安装成功后
redis.conf是redis的配置文件,redis.conf在redis源码目录。注意修改port作为redis进程的端口,port默认6379。
4.在安装目录中创建目录conf,将redis源安装文件中的redis.cinf拷贝到redis的安装目录中
cp /usr/soft/redis-3.0.7/redis.conf
/usr/local/redis/bin/
5.redis启动
& 直接运行./redis-server 是前台启动,在关闭运行的窗口后redis也将关闭
为了关闭窗口后不关闭redis,需要使用后台启动
5.1修改redis.conf的daemonize的no为yes
&使用以下命令启动
./redis-server redis.conf
&6.检测redis是否运行正常
  6.1使用 ps -ef|grep redis 查看进程
  6.2使用redis的客户端查看
& & &当输入ping命令时,返回PONG就表示连接正常
7.通过jedis连接redis单机
&需要的依赖
&dependency&
&groupId&redis.clients&/groupId&
&artifactId&jedis&/artifactId&
&version&2.7.0&/version&
&/dependency&
可以使用以下代码测试
* jedis测试 单机版
public void testJedisSingle(){
Jedis jedis = new Jedis("192.168.198.130", 6379);
jedis.set("test", "this i a test");
String str
= jedis.get("test");
System.out.println("---:"+str);
//关闭jedis的链接
jedis.close();
* 使用连接池
public void testJedisPool(){
JedisPool jedisPool = new JedisPool("192.168.198.130", 6379);
Jedis jedis = jedisPool.getResource();
String str = jedis.get("test");
System.out.println("---:"+str);
jedis.close();
8.&jedis与spring整合
&添加配置文件applicationContext-jedis.xml
&?xml version="1.0" encoding="UTF-8"?&
&beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"&
&!-- 读取jedis配置文件; 这里可以不用配置,-dao已经配置了扫描配置文件 --&
&!-- &context:property-placeholder location="classpath:/properties/*.properties"/& --&
&!-- 连接池配置 --&
&bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"&
&!-- 最大连接数 --&
&property name="maxTotal" value="30" /&
&!-- 最大空闲连接数 --&
&property name="maxIdle" value="10" /&
&!-- 每次释放连接的最大数目 --&
&property name="numTestsPerEvictionRun" value="1024" /&
&!-- 释放连接的扫描间隔(毫秒) --&
&property name="timeBetweenEvictionRunsMillis" value="30000" /&
&!-- 连接最小空闲时间 --&
&property name="minEvictableIdleTimeMillis" value="1800000" /&
&!-- 连接空闲多久后释放, 当空闲时间&该值 且 空闲连接&最大空闲连接数 时直接释放 --&
&property name="softMinEvictableIdleTimeMillis" value="10000" /&
&!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 --&
&property name="maxWaitMillis" value="1500" /&
&!-- 在获取连接的时候检查有效性, 默认false --&
&property name="testOnBorrow" value="true" /&
&!-- 在空闲时检查有效性, 默认false --&
&property name="testWhileIdle" value="true" /&
&!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true --&
&property name="blockWhenExhausted" value="false" /&
&!--jedis客户端单机版 --&
&bean id="redisClient" class="redis.clients.jedis.JedisPool"&
&constructor-arg name="host" value="${JEDIS_HOST}"&&/constructor-arg&
&constructor-arg name="port" value="6379"&&/constructor-arg&
&constructor-arg name="poolConfig" ref="jedisPoolConfig"&&/constructor-arg&
&bean id="redisClientDao" class="com.taotao.rest.dao.impl.JedisClientSingle"&&/bean& &!--定义自己定义的jedis工具类--&
* 结合spring的redis单机版测试
public void testSpringSingle(){
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext-*.xml");
JedisPool jedisPool = (JedisPool)context.getBean("redisClient");
Jedis jedis = jedisPool.getResource();
jedis.set("key1", "1111");
String str = jedis.get("key1");
System.out.println("--:"+str);
jedis.close();
jedisPool.close();
这里可是自己封装一个工具类
package com.taotao.rest.dao.
import org.springframework.beans.factory.annotation.A
import redis.clients.jedis.J
import redis.clients.jedis.JedisP
import com.taotao.rest.dao.JedisC
* 在配置文件中注解
* @author Administrator
public class JedisClientSingle implements JedisClient {
@Autowired
private JedisPool jedisP
public String get(String key) {
Jedis jedis = jedisPool.getResource();
String str = jedis.get(key);
jedis.close();
public String set(String key, String value) {
Jedis jedis = jedisPool.getResource();
String str = jedis.set(key, value);
jedis.close();
public String hget(String hkey, String key) {
Jedis jedis = jedisPool.getResource();
String str = jedis.hget(hkey, key);
jedis.close();
public Long hset(String hkey, String key, String value) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.hset(hkey, key, value);
jedis.close();
public long incr(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.incr(key);
jedis.close();
public long expire(String key, int seconds) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.expire(key, seconds);
jedis.close();
public long ttl(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.ttl(key);
public long del(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.del(key);
public long hdel(String hkey, String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.hdel(hkey, key);
&二、集群版redis搭建
1.1.&集群原理
1.1.1.&redis-cluster架构图
(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.
(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster&负责维护node&-&slot&-&value
Redis&集群中内置了&16384&个哈希槽,当需要在&Redis&集群中放置一个&key-value&时,redis&先对&key&使用&crc16&算法算出一个结果,然后把结果对&16384&求余数,这样每个&key&都会对应一个编号在&0-16383&之间的哈希槽,redis&会根据节点数量大致均等的将哈希槽映射到不同的节点
1.1.2.&redis-cluster投票:容错
(1)领着投票过程是集群中所有master参与,如果半数以上master节点与master节点通信超过(cluster-node-timeout),认为当前master节点挂掉.
(2):什么时候整个集群不可用(cluster_state:fail)?&
&&&&a:如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成集群的slot映射[0-16383]不完成时进入fail状态.&ps&:&redis-3.0.0.rc1加入cluster-require-full-coverage参数,默认关闭,打开集群兼容部分失败.
&&&&b:如果集群超过半数以上master挂掉,无论是否有slave集群进入fail状态.
& &ps:当集群不可用时,所有对集群的操作做都不可用,收到((error)&CLUSTERDOWN&The&cluster&is&down)错误
2.安装ruby环境
redis集群管理工具redis-trib.rb依赖ruby环境,首先需要安装ruby环境:
yum install ruby
yum install rubygems
安装ruby和redis的接口程序(需要安装文件redis-3.0.0.gem)
拷贝redis-3.0.0.gem至/usr/local下
gem install /usr/local/redis-3.0.0.gem
3.集群节点的规划
这里在同一台服务器用不同的端口表示不同的redis服务器,如下:
主节点:192.168.198.130:.198.130:.198.130:7003
从节点:192.168.198.130:.198.130:.198.130:7006
在/usr/local下创建redis-cluster目录,其下创建。。7006目录,如下
将redis安装目录bin下的文件拷贝到每个700X目录内,同时修改每个的redis.conf中的端口为,同时释放出redis.conf中的注释的
&同时将redis源码目录src下的redis-trib.rb拷贝到redis-cluster目录下
[root@localhost redis-cluster]# cp /usr/soft/redis-3.0.7/src/redis-trib.rb /usr/local/redis-cluster/
使用后台启动的方式启动每个redis
执行redis-trib.rb,此脚本是ruby脚本,它依赖ruby环境
./redis-trib.rb create --replicas 1 192.168.198.130:.198.130:.198.130:.198.130:.198.130:8.198.130:7006
//集群中redis的ip和脚本
启动成功后如下图
如果执行时报如下错误:
[ERR]&Node&XXXXXX&is&not&empty.&Either&the&node&already&knows&other&nodes&(check&with&CLUSTER&NODES)&or&contains&some&key&in&database&0
解决方法是删除生成的配置文件nodes.conf,如果不行则说明现在创建的结点包括了旧集群的结点信息,需要删除redis的持久化文件后再重启redis,比如:appendonly.aof、dump.rdb
使用客户端进行链接测试
其中-c表示要链接到集群
必须使用这个参数 查看集群状态信息
4.添加主节点下面添加7007为master主节点
修改redis.conf中的端口为7007,并启动7007运行命令
./redis-trib.rb add-node
192.168.198.130:.198.130:7001
运行成功结果
5.hash槽重新分配从上图我们可以看到7007还没有分配槽5.1连接上集群
./redis-trib.rb reshard 192.168.198.130:7001(连接集群中任意一个可用结点都行)
&5.2第二步:输入要分配的槽数量
  输入&500表示要分配500个槽
5.3第三步:输入接收槽的结点id
这里准备给7007分配槽,通过cluster&nodes查看7007结点id为15b809eadae88955e36bcdbb8144f61bbbaf38fb
输入:15b809eadae88955e36bcdbb8144f61bbbaf38fb
5.4第四步:输入源结点id
这里输入all
5.5第五步:输入yes开始移动槽到目标结点id
分配成功后可以查看对应的信息
6.添加从节点
集群创建成功后可以向集群中添加节点,下面是添加一个slave从节点。添加7008从结点,将7008作为7007的从结点。
./redis-trib.rb&add-node&--slave&--master-id&主节点id&添加节点的ip和端口&集群中已存在节点ip和端口
执行命令(7007的id可以通过连接客户端使用cluster nodes查看)
./redis-trib.rb add-node --slave --master-id dbaaab94fd73d1ac3c8f4
192.168.198.130:.198.130:7001
注意:如果原来该结点在集群中的配置信息已经生成cluster-config-file指定的配置文件中(如果cluster-config-file没有指定则默认为nodes.conf),这时可能会报错:
[ERR]&Node&XXXXXX&is&not&empty.&Either&the&node&already&knows&other&nodes&(check&with&CLUSTER&NODES)&or&contains&some&key&in&database&0
解决方法是删除生成的配置文件nodes.conf,删除后再执行./redis-trib.rb&add-node指令
查看分配情况
7.删除节点
&&./redis-trib.rb del-node 节点的ip:端口 &节点id
这是删除会报错,需要将该结点占用的hash槽分配出去(参考hash槽重新分配章节)
8.java测试
public void testJedisCluster(){
HashSet&HostAndPort& nodes = new HashSet&HostAndPort&();
nodes.add(new HostAndPort("192.168.198.130", 7001));
nodes.add(new HostAndPort("192.168.198.130", 7002));
nodes.add(new HostAndPort("192.168.198.130", 7003));
nodes.add(new HostAndPort("192.168.198.130", 7004));
nodes.add(new HostAndPort("192.168.198.130", 7005));
nodes.add(new HostAndPort("192.168.198.130", 7006));
JedisCluster cluster = new JedisCluster(nodes);
cluster.set("jedisClusterKey", "hello_world");
String str = cluster.get("jedisClusterKey");
System.out.println("---:"+str);
//关闭连接
cluster.close();
使用spring
&?xml version="1.0" encoding="UTF-8"?&
&beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"&
&!-- 读取jedis配置文件; 这里可以不用配置,-dao已经配置了扫描配置文件 --&
&!-- &context:property-placeholder location="classpath:/properties/*.properties"/& --&
&!-- 连接池配置 --&
&bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"&
&!-- 最大连接数 --&
&property name="maxTotal" value="30" /&
&!-- 最大空闲连接数 --&
&property name="maxIdle" value="10" /&
&!-- 每次释放连接的最大数目 --&
&property name="numTestsPerEvictionRun" value="1024" /&
&!-- 释放连接的扫描间隔(毫秒) --&
&property name="timeBetweenEvictionRunsMillis" value="30000" /&
&!-- 连接最小空闲时间 --&
&property name="minEvictableIdleTimeMillis" value="1800000" /&
&!-- 连接空闲多久后释放, 当空闲时间&该值 且 空闲连接&最大空闲连接数 时直接释放 --&
&property name="softMinEvictableIdleTimeMillis" value="10000" /&
&!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 --&
&property name="maxWaitMillis" value="1500" /&
&!-- 在获取连接的时候检查有效性, 默认false --&
&property name="testOnBorrow" value="true" /&
&!-- 在空闲时检查有效性, 默认false --&
&property name="testWhileIdle" value="true" /&
&!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true --&
&property name="blockWhenExhausted" value="false" /&
&bean id="redisClientClusterDao" class="com.taotao.rest.dao.impl.JedisClientCluster"&&/bean&
&!-- redis集群 --&
&bean id="redisCluster" class="redis.clients.jedis.JedisCluster"&
&constructor-arg name="nodes"&
&bean class="redis.clients.jedis.HostAndPort"&
&constructor-arg name="host" value="192.168.198.130"&&/constructor-arg&
&constructor-arg name="port" value="7001"&&/constructor-arg&
&bean class="redis.clients.jedis.HostAndPort"&
&constructor-arg name="host" value="192.168.198.130"&&/constructor-arg&
&constructor-arg name="port" value="7002"&&/constructor-arg&
&bean class="redis.clients.jedis.HostAndPort"&
&constructor-arg name="host" value="192.168.198.130"&&/constructor-arg&
&constructor-arg name="port" value="7003"&&/constructor-arg&
&bean class="redis.clients.jedis.HostAndPort"&
&constructor-arg name="host" value="192.168.198.130"&&/constructor-arg&
&constructor-arg name="port" value="7004"&&/constructor-arg&
&bean class="redis.clients.jedis.HostAndPort"&
&constructor-arg name="host" value="192.168.198.130"&&/constructor-arg&
&constructor-arg name="port" value="7005"&&/constructor-arg&
&bean class="redis.clients.jedis.HostAndPort"&
&constructor-arg name="host" value="192.168.198.130"&&/constructor-arg&
&constructor-arg name="port" value="7006"&&/constructor-arg&
&/constructor-arg&
&constructor-arg name="poolConfig" ref="jedisPoolConfig"&&/constructor-arg&
* 结合spring的jedis集群版
public void testSpringJedisCluster(){
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext-*.xml");
JedisCluster jedisCluster = (JedisCluster)context.getBean(JedisCluster.class);
jedisCluster.set("key2", "3333");
String str = jedisCluster.get("key2");
System.out.println("--:"+str);
jedisCluster.close();
封装的工具类
package com.taotao.rest.dao.
import org.springframework.beans.factory.annotation.A
import redis.clients.jedis.JedisC
import com.taotao.rest.dao.JedisC
* 集群不用jedisCluster.close();
否则下次不能连接
* @author Administrator
public class JedisClientCluster implements JedisClient{
@Autowired
private JedisCluster jedisC
public String get(String key) {
String str = jedisCluster.get(key);
public String set(String key, String value) {
String str = jedisCluster.set(key, value);
public String hget(String hkey, String key) {
return jedisCluster.hget(hkey, key);
public Long hset(String hkey, String key, String value) {
return jedisCluster.hset(hkey, key, value);
public long incr(String key) {
return jedisCluster.incr(key);
public long expire(String key, int seconds) {
return jedisCluster.expire(key, seconds);
public long ttl(String key) {
return jedisCluster.ttl(key);
public long del(String key) {
return jedisCluster.del(key);
public long hdel(String hkey, String key) {
jedisCluster.hdel(hkey, key);
补充 :设置redis服务(使用service start redis启动)
mkdir /etc/redis
cp redis.conf /etc/redis/6379.conf
cp redis_init_script /etc/init.d/redisd
//redis_init_script文件在redis源码包中的util文件夹中
redis_init_script复制后重命名为redisd
&修改redisd文件
vi /etc/init.d/redisd
//不修改的话会使用chkconfig redisd on会出现&service redisd does not support chkconfig&在注释的最上面添加:# chkconfig:&& # description:& Redis is a persistent key-value database
#设置为开机自启动服务器
chkconfig redisd on
service redisd start
service redisd stop
阅读(...) 评论()

我要回帖

更多关于 oracle 单机转集群 的文章

 

随机推荐