Redis集群部署文档(centos6系统)

(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)

127.0.0.1:7000
127.0.0.1:7001

127.0.0.1:7002

127.0.0.1:7003

127.0.0.1:7004

127.0.0.1:7005

首先到http://download.redis.io/releases/下载redis-3.0.5.tar.gz或者其他版本的

将下载来的文件上传到服务器然后

tar -xvf redis-3.0..tar.gz
cd redis-3.0.
#如果不加参数,linux下会报错
make MALLOC=libc

编译好以后启动

#启动redis
src/redis-server & #关闭redis
src/redis-cli shutdown

测试redis

$ src/redis-cli
127.0.0.1:> set a test
OK
127.0.0.1:> get a
"test"
$

这样就代表成功安装了

接下来安装redis cluster集群搭建

#建立redis运行目录
mkdir -p /usr/local/redis/cluster//
#复制默认的配置文档
cp redis-3.0./redis.conf /usr/local/redis/cluster//redis.conf
#把编译好的server复制到运行目录
cp redis-3.0./src/redis-server /usr/local/redis/cluster//

修改/usr/local/redis/cluster/7000/redis.conf文件

配置文件说明:

# 守护进程模式
daemonize yes # pid file
pidfile /var/run/redis.pid # 监听端口
port # TCP接收队列长度,受/proc/sys/net/core/somaxconn和tcp_max_syn_backlog这两个内核参数的影响
tcp-backlog # 一个客户端空闲多少秒后关闭连接(0代表禁用,永不关闭)
timeout # 如果非零,则设置SO_KEEPALIVE选项来向空闲连接的客户端发送ACK
tcp-keepalive # 指定服务器调试等级
# 可能值:
# debug (大量信息,对开发/测试有用)
# verbose (很多精简的有用信息,但是不像debug等级那么多)
# notice (适量的信息,基本上是你生产环境中需要的)
# warning (只有很重要/严重的信息会记录下来)
loglevel notice # 指明日志文件名
logfile "./redis7003.log" # 设置数据库个数
databases # 会在指定秒数和数据变化次数之后把数据库写到磁盘上
# 900秒(15分钟)之后,且至少1次变更
# 300秒(5分钟)之后,且至少10次变更
# 60秒之后,且至少10000次变更
save
save
save # 默认如果开启RDB快照(至少一条save指令)并且最新的后台保存失败,Redis将会停止接受写操作
# 这将使用户知道数据没有正确的持久化到硬盘,否则可能没人注意到并且造成一些灾难
stop-writes-on-bgsave-error yes # 当导出到 .rdb 数据库时是否用LZF压缩字符串对象
rdbcompression yes # 版本5的RDB有一个CRC64算法的校验和放在了文件的最后。这将使文件格式更加可靠。
rdbchecksum yes # 持久化数据库的文件名
dbfilename dump.rdb # 工作目录
dir ./ # 当master服务设置了密码保护时,slav服务连接master的密码
masterauth 0234kz9*l # 当一个slave失去和master的连接,或者同步正在进行中,slave的行为可以有两种:
#
# ) 如果 slave-serve-stale-data 设置为 "yes" (默认值),slave会继续响应客户端请求,
# 可能是正常数据,或者是过时了的数据,也可能是还没获得值的空数据。
# ) 如果 slave-serve-stale-data 设置为 "no",slave会回复"正在从master同步
# (SYNC with master in progress)"来处理各种请求,除了 INFO 和 SLAVEOF 命令。
slave-serve-stale-data yes # 你可以配置salve实例是否接受写操作。可写的slave实例可能对存储临时数据比较有用(因为写入salve
# 的数据在同master同步之后将很容易被删除
slave-read-only yes # 是否在slave套接字发送SYNC之后禁用 TCP_NODELAY?
# 如果你选择“yes”Redis将使用更少的TCP包和带宽来向slaves发送数据。但是这将使数据传输到slave
# 上有延迟,Linux内核的默认配置会达到40毫秒
# 如果你选择了 "no" 数据传输到salve的延迟将会减少但要使用更多的带宽
repl-disable-tcp-nodelay no # slave的优先级是一个整数展示在Redis的Info输出中。如果master不再正常工作了,哨兵将用它来
# 选择一个slave提升=升为master。
# 优先级数字小的salve会优先考虑提升为master,所以例如有三个slave优先级分别为10,,,
# 哨兵将挑选优先级最小数字为10的slave。
# 0作为一个特殊的优先级,标识这个slave不能作为master,所以一个优先级为0的slave永远不会被
# 哨兵挑选提升为master
slave-priority # 密码验证
# 警告:因为Redis太快了,所以外面的人可以尝试每秒150k的密码来试图破解密码。这意味着你需要
# 一个高强度的密码,否则破解太容易了
requirepass 0234kz9*l # redis实例最大占用内存,不要用比设置的上限更多的内存。一旦内存使用达到上限,Redis会根据选定的回收策略(参见:
# maxmemmory-policy)删除key
maxmemory 3gb # 最大内存策略:如果达到内存限制了,Redis如何选择删除key。你可以在下面五个行为里选:
# volatile-lru -> 根据LRU算法删除带有过期时间的key。
# allkeys-lru -> 根据LRU算法删除任何key。
# volatile-random -> 根据过期设置来随机删除key, 具备过期时间的key。
# allkeys->random -> 无差别随机删, 任何一个key。
# volatile-ttl -> 根据最近过期时间来删除(辅以TTL), 这是对于有过期时间的key
# noeviction -> 谁也不删,直接在写操作时返回错误。
maxmemory-policy volatile-lru # 默认情况下,Redis是异步的把数据导出到磁盘上。这种模式在很多应用里已经足够好,但Redis进程
# 出问题或断电时可能造成一段时间的写操作丢失(这取决于配置的save指令)。
#
# AOF是一种提供了更可靠的替代持久化模式,例如使用默认的数据写入文件策略(参见后面的配置)
# 在遇到像服务器断电或单写情况下Redis自身进程出问题但操作系统仍正常运行等突发事件时,Redis
# 能只丢失1秒的写操作。
#
# AOF和RDB持久化能同时启动并且不会有问题。
# 如果AOF开启,那么在启动时Redis将加载AOF文件,它更能保证数据的可靠性。
appendonly no # aof文件名
appendfilename "appendonly.aof" # fsync() 系统调用告诉操作系统把数据写到磁盘上,而不是等更多的数据进入输出缓冲区。
# 有些操作系统会真的把数据马上刷到磁盘上;有些则会尽快去尝试这么做。
#
# Redis支持三种不同的模式:
#
# no:不要立刻刷,只有在操作系统需要刷的时候再刷。比较快。
# always:每次写操作都立刻写入到aof文件。慢,但是最安全。
# everysec:每秒写一次。折中方案。
appendfsync everysec # 如果AOF的同步策略设置成 "always" 或者 "everysec",并且后台的存储进程(后台存储或写入AOF
# 日志)会产生很多磁盘I/O开销。某些Linux的配置下会使Redis因为 fsync()系统调用而阻塞很久。
# 注意,目前对这个情况还没有完美修正,甚至不同线程的 fsync() 会阻塞我们同步的write()调用。
#
# 为了缓解这个问题,可以用下面这个选项。它可以在 BGSAVE 或 BGREWRITEAOF 处理时阻止主进程进行fsync()。
#
# 这就意味着如果有子进程在进行保存操作,那么Redis就处于"不可同步"的状态。
# 这实际上是说,在最差的情况下可能会丢掉30秒钟的日志数据。(默认Linux设定)
#
# 如果你有延时问题把这个设置成"yes",否则就保持"no",这是保存持久数据的最安全的方式。
no-appendfsync-on-rewrite yes # 自动重写AOF文件
auto-aof-rewrite-percentage
auto-aof-rewrite-min-size 64mb # AOF文件可能在尾部是不完整的(这跟system关闭有问题,尤其是mount ext4文件系统时
# 没有加上data=ordered选项。只会发生在os死时,redis自己死不会不完整)。
# 那redis重启时load进内存的时候就有问题了。
# 发生的时候,可以选择redis启动报错,并且通知用户和写日志,或者load尽量多正常的数据。
# 如果aof-load-truncated是yes,会自动发布一个log给客户端然后load(默认)。
# 如果是no,用户必须手动redis-check-aof修复AOF文件才可以。
# 注意,如果在读取的过程中,发现这个aof是损坏的,服务器也是会退出的,
# 这个选项仅仅用于当服务器尝试读取更多的数据但又找不到相应的数据时。
aof-load-truncated yes # Lua 脚本的最大执行时间,毫秒为单位
lua-time-limit # Redis慢查询日志可以记录超过指定时间的查询
slowlog-log-slower-than # 这个长度没有限制。只是要主要会消耗内存。你可以通过 SLOWLOG RESET 来回收内存。
slowlog-max-len # redis延时监控系统在运行时会采样一些操作,以便收集可能导致延时的数据根源。
# 通过 LATENCY命令 可以打印一些图样和获取一些报告,方便监控
# 这个系统仅仅记录那个执行时间大于或等于预定时间(毫秒)的操作,
# 这个预定时间是通过latency-monitor-threshold配置来指定的,
# 当设置为0时,这个监控系统处于停止状态
latency-monitor-threshold # Redis能通知 Pub/Sub 客户端关于键空间发生的事件,默认关闭
notify-keyspace-events "" # 当hash只有少量的entry时,并且最大的entry所占空间没有超过指定的限制时,会用一种节省内存的
# 数据结构来编码。可以通过下面的指令来设定限制
hash-max-ziplist-entries
hash-max-ziplist-value # 与hash似,数据元素较少的list,可以用另一种方式来编码从而节省大量空间。
# 这种特殊的方式只有在符合下面限制时才可以用
list-max-ziplist-entries
list-max-ziplist-value # set有一种特殊编码的情况:当set数据全是十进制64位有符号整型数字构成的字符串时。
# 下面这个配置项就是用来设置set使用这种编码来节省内存的最大长度。
set-max-intset-entries # 与hash和list相似,有序集合也可以用一种特别的编码方式来节省大量空间。
# 这种编码只适合长度和元素都小于下面限制的有序集合
zset-max-ziplist-entries
zset-max-ziplist-value # HyperLogLog稀疏结构表示字节的限制。该限制包括
# 16个字节的头。当HyperLogLog使用稀疏结构表示
# 这些限制,它会被转换成密度表示。
# 值大于16000是完全没用的,因为在该点
# 密集的表示是更多的内存效率。
# 建议值是3000左右,以便具有的内存好处, 减少内存的消耗
hll-sparse-max-bytes # 启用哈希刷新,每100个CPU毫秒会拿出1个毫秒来刷新Redis的主哈希表(顶级键值映射表)
activerehashing yes # 客户端的输出缓冲区的限制,可用于强制断开那些因为某种原因从服务器读取数据的速度不够快的客户端
client-output-buffer-limit normal
client-output-buffer-limit slave 256mb 64mb
client-output-buffer-limit pubsub 32mb 8mb # 默认情况下,“hz”的被设定为10。提高该值将在Redis空闲时使用更多的CPU时,但同时当有多个key
# 同时到期会使Redis的反应更灵敏,以及超时可以更精确地处理
hz # 当一个子进程重写AOF文件时,如果启用下面的选项,则文件每生成32M数据会被同步
aof-rewrite-incremental-fsync yes

vi /usr/local/redis/cluster/7000/redis.conf

vi redis.conf
##修改配置文件中的下面选项
port
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout
appendonly yes

再把redis/src下面的redis-server启动脚本移到/usr/local/redis/cluster/7000下面

cp /home/redis/src/redis-3.0./src/redis-server /usr/local/redis/cluster//  
##修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到7001////7005目录下面
cp /usr/local/redis/cluster// /usr/local/redis/cluster//
cp /usr/local/redis/cluster// /usr/local/redis/cluster//
cp /usr/local/redis/cluster// /usr/local/redis/cluster//
cp /usr/local/redis/cluster// /usr/local/redis/cluster//
cp /usr/local/redis/cluster// /usr/local/redis/cluster// ##注意:拷贝完成之后要修改7002///7005目录下面redis.conf文件中的port参数,分别改为对应的文件夹的名称
分别启动这6个redis实例
cd /usr/local/redis/cluster/
redis-server redis.conf
cd /usr/local/redis/cluster/
redis-server redis.conf
cd /usr/local/redis/cluster/
redis-server redis.conf
cd /usr/local/redis/cluster/
redis-server redis.conf
cd /usr/local/redis/cluster/
redis-server redis.conf
cd /usr/local/redis/cluster/
redis-server redis.conf

启动之后用ps -aux |grep redis 查看下

[root@hadoop1 ]# ps -aux |grep redis
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2./FAQ
root 0.1 0.0 ? Ssl : : ./redis-server *: [cluster]
root 0.1 0.0 ? Ssl : : ./redis-server *: [cluster]
root 0.1 0.0 ? Ssl : : ./redis-server *: [cluster]
root 0.1 0.0 ? Ssl : : ./redis-server *: [cluster]
root 0.1 0.0 ? Ssl : : ./redis-server *: [cluster]
root 0.1 0.0 ? Ssl : : ./redis-server *: [cluster]
root 0.0 0.0 pts/ S+ : : grep redis

如果是这样的则代表成功

执行redis的创建集群命令创建集群
cd /home/redis/src/redis-3.0./src
./redis-trib.rb create --replicas 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1:
执行上面的命令的时候会报错,因为是执行的ruby的脚本,需要ruby的环境
错误内容:/usr/bin/env: ruby: No such file or directory
所以需要安装ruby的环境,这里推荐使用yum install ruby安装
yum install ruby 然后再执行第6步的创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装 错误内容:
./redis-trib.rb::in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:
yum install rubygems
再次执行第6步的命令,还会报错,提示不能加载redis,是因为缺少redis和ruby的接口,使用gem 安装
错误内容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb::in `gem_original_require': no such file to load -- redis (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb::in `require'
from ./redis-trib.rb: gem install redis

如果再执行还报

Connecting to node 127.0.0.1:7000: [ERR] Sorry, can't connect to node 127.0.0.1:7000

这个错误的话那就查看下你6个端口是否都启动了,没启动的话会报上面的错误

命令输入后

[root@hadoop1 src]# ./redis-trib.rb  create --replicas  127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1:
>>> Creating cluster
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
>>> Performing hash slots allocation on nodes...
Using masters:
127.0.0.1:
127.0.0.1:
127.0.0.1:
Adding replica 127.0.0.1: to 127.0.0.1:
Adding replica 127.0.0.1: to 127.0.0.1:
Adding replica 127.0.0.1: to 127.0.0.1:
M: ed3a2dc06dd2b07a7df2f5036c8a5c73407125e1 127.0.0.1:
slots:- ( slots) master
M: b99d5eeb2122f86f8da149cab291d821316d2a61 127.0.0.1:
slots:- ( slots) master
M: cecf3694476229d11dfc9ae9117f381c84b43ab6 127.0.0.1:
slots:- ( slots) master
S: c99e2ff123d19444363a9ee4444f5b139dd1fe41 127.0.0.1:
replicates ed3a2dc06dd2b07a7df2f5036c8a5c73407125e1
S: e4b3b0fe2ffdfdb705f49bfb62265840aca4055b 127.0.0.1:
replicates b99d5eeb2122f86f8da149cab291d821316d2a61
S: 440e8743f546aa9a0d0f44d660eca577de6f1218 127.0.0.1:
replicates cecf3694476229d11dfc9ae9117f381c84b43ab6
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join...
>>> Performing Cluster Check (using node 127.0.0.1:)
M: ed3a2dc06dd2b07a7df2f5036c8a5c73407125e1 127.0.0.1:
slots:- ( slots) master
M: b99d5eeb2122f86f8da149cab291d821316d2a61 127.0.0.1:
slots:- ( slots) master
M: cecf3694476229d11dfc9ae9117f381c84b43ab6 127.0.0.1:
slots:- ( slots) master
M: c99e2ff123d19444363a9ee4444f5b139dd1fe41 127.0.0.1:
slots: ( slots) master
replicates ed3a2dc06dd2b07a7df2f5036c8a5c73407125e1
M: e4b3b0fe2ffdfdb705f49bfb62265840aca4055b 127.0.0.1:
slots: ( slots) master
replicates b99d5eeb2122f86f8da149cab291d821316d2a61
M: 440e8743f546aa9a0d0f44d660eca577de6f1218 127.0.0.1:
slots: ( slots) master
replicates cecf3694476229d11dfc9ae9117f381c84b43ab6
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All slots covered.

然后再测试下

[root@hadoop1 src]# ./redis-cli -c -p
127.0.0.1:> set foo bbb
-> Redirected to slot [] located at 127.0.0.1:
OK
127.0.0.1:> set foo ccc
OK
127.0.0.1:> get foo
"ccc"
127.0.0.1:> set foo1 aaa
OK
127.0.0.1:> get foo1
"aaa"
127.0.0.1:> set foo
OK
127.0.0.1:>

再到

cd /usr/local/redis/cluster/
cat appendonly.aof
*
$
SELECT
$ *
$
set
$
foo
$
bbb
*
$
set
$
foo
$
ccc
*
$
set
$
foo1
$
aaa
*
$
set
$
foo
$

这样则代表集群安装成功了,接下来将接受通过Jedis来连接集群

1. redis查看当前所有的key

KEYS *

2. 查看当前redis的配置信息

CONFIG GET *

3. MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

强制停止redis快照导致,redis运行用户没有权限写rdb文件或者磁盘空间满了,解决办法:

config set stop-writes-on-bgsave-error no

例如:

set 'name' 'shenhui'
-MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
config set stop-writes-on-bgsave-error no
+OK
set 'name' 'shenhui'
+OK

4.(error) OOM command not allowed when used memory >
设置了maxmemory的选项,redis内存使用达到上限。
可以通过设置LRU算法来删除部分key,释放空间。
默认是按照过期时间的,如果set时候没有加上过期时间就会导致数据写满maxmemory。
如果不设置maxmemory或者设置为0 64位系统不限制内存,32位系统最多使用3GB内存。

  volatile-lru -> 根据LRU算法生成的过期时间来删除。
  allkeys-lru -> 根据LRU算法删除任何key。
  volatile-random -> 根据过期设置来随机删除key。
  allkeys->random -> 无差别随机删。
  volatile-ttl -> 根据最近过期时间来删除(辅以TTL)
  noeviction -> 谁也不删,直接在写操作时返回错误。

5.增加新节点

新增一个节点,就增加一个空的节点到集群。有两种情况:如果新增的是主节点,则是从集群的其他节点中转移部分数据给它;如果新增的是从节点,则告诉它从一个已知的节点中同步复制集。

我们2种情况都试试。首先是新增一个新的主节点到集群中。
两种情况,都是需要先加入一个空的节点到集群中 鉴于我们前面已经启动了6个节点,端口号7000-7005已经用了,新增节点的端口号就用7006吧。新增一个新的空节点,就跟上面启动前面6个节点的步骤一样(记得改配置文件的端口号): *在终端打开一个新的页面
*进入到cluster-test目录
*创建名为“”的目录
*在该目录下创建redis.conf文件,内容跟其他节点的内容一致,只是端口号改成7006.
*最后启动它:../redis-server ./redis.conf
现在该节点应该运行起来了。
现在,我们使用redis-trib来增加一个新节点到集群中: ./redis-trib.rb add-node 127.0.0.1: 127.0.0.1:
使用add-node指令来新增节点,第一个地址是需要新增的节点地址,第二个地址是集群中任意一个节点地址。

6.添加一个从节点

新增从节点有两种方法,第一个是使用上面的redis-trib脚本,增–slave选项,类似这样:

./redis-trib.rb add-node --slave 127.0.0.1: 127.0.0.1:
注意到上面的命令行跟我们加主节点的命令行类似,所以没有没有指定新增的从节点的主节点是哪个,这时候redis-trib会在拥有最少从节点的主节点中随机选一个作为新增节点的主节点。
当然也可以通过如下的命令指定新增从节点的主节点: ./redis-trib.rb add-node --slave --master-id 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e 127.0.0.1: 127.0.0.1:
用上面的指令,我们可以指定新的从节点是那个主节点的副本集。 另一个方法,先把新节点以主节点的形式加入到集群,然后再用“CLUSTER REPLICATE”指令把它变为从节点。这个方式也适用于给从节点更换主节点。
比如,已有主节点127.0.0.:,它存储的哈希槽范围是11423-,节点ID为3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e,我们希望给它新增从节点。首先用之前的方法新增一个空的主节点,然后连上该新节点,发送如下指令: redis 127.0.0.1:> cluster replicate 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e
这样,新的从节点添加成功,而且集群中其他所有节点都已经知道新节点了(可能需要一些时间来更新配置)。我们可以通过以下指令来验证: $ redis-cli -p cluster nodes | grep slave | grep 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e
f093c80dde814da99c5cf72a7dd01590792b783b 127.0.0.1: slave 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e connected
2938205e12de373867bf38f1ca29d31d0ddb3e46 127.0.0.1: slave 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e connected
现在节点3c3a0c…有2个从节点,分别是原来的运行在7002端口的节点和刚刚新增的7006端口的节点。

7.删除节点

使用redis-trib的指令”del-node”可以删除节点:

./redis-trib del-node 127.0.0.1: `node-id`
第一个参数是集群的任意一个节点,第二个参数是需要删除的节点的ID。
同样的方法可以删除主节点,但是在删除之前,需要通过重新分片把数据都移走。
另一个删除主节点的方式是通过手动故障转移,让它的其中一个从节点升级成主节点后再把此节点删除。但这样并不会减少集群的主节点数,如果需要减少主节点数,重新分片在所难免。

redis3.0.5集群部署安装详细步骤的更多相关文章

  1. 1--redis3.0.5集群部署安装详细步骤

    Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) ...

  2. redis3.0.7集群部署手册

    1.用root登录主机2.将redis-3.0.7.tar.gz传送到主机3.将rubygems-update-2.5.2.gem,redis-3.0.0.gem传送到主机4.解压redis-3.0. ...

  3. Hbase 0.98集群搭建的详细步骤

    准备工作 Hbase的搭建是依赖于Hadoop的,Hbase的数据文件实际上存储在HDFS文件系统中,所以我们需要先搭建hadoop环境,之前的博文中已经搭建过了(详见http://www.cnblo ...

  4. Redis3.2集群部署安装

    Redis集群部署安装 Linux版本:CentOS release 6.9 Redis 版本:redis-3.2.12.tar.gz 1.执行解压命令 tar -xzf redis-3.2.12.t ...

  5. Hadoop教程(五)Hadoop分布式集群部署安装

    Hadoop教程(五)Hadoop分布式集群部署安装 1 Hadoop分布式集群部署安装 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,还有一个处于standby状态 ...

  6. 搭建互联网架构学习--006--duboo准备之zk集群部署安装

    dubbo集群部署安装依赖于zookeeper,所以先安装zookeeper集群. 1.准备三台机器做集群 2.配置 配置java环境  ,2,修改操作系统的/etc/hosts文件,添加IP与主机名 ...

  7. hbase-2.0.4集群部署

    hbase-2.0.4集群部署 1. 集群节点规划: rzx1 HMaster,HRegionServer rzx2 HRegionServer rzx3 HRegionServer 前提:搭建好ha ...

  8. redis3.0.3集群搭建

    redis3.0版本之后支持Cluster,具体介绍redis集群我就不多说,了解请看redis中文简介. 首先,直接访问redis.io官网,下载redis.tar.gz,现在版本3.0.3,我下面 ...

  9. redis-5.0.5 集群部署

    之前写过一套基于redis-4.0.6版本的测试集群部署 https://www.cnblogs.com/mrice/p/10730309.html 最近生产环境需要部署一套redis-5.0.5版本 ...

随机推荐

  1. python数据结构与算法——归并排序

    归并排序: 原理与C语言实现 参考:白话经典算法系列之五 归并排序的实现 1. 容易对有序数组A,B进行排序. 2. 为了使得A,B组内数据有序:可以将A,B组各自再分成二组. 3. 经过不断分组,当 ...

  2. Angularjs中的promise

    promise 是一种用异步方式处理值的方法,promise是对象,代表了一个函数最终可能的返回值或抛出的异常.在与远程对象打交道非常有用,可以把它们看成一个远程对象的代理. 要在Angular中创建 ...

  3. Linux下获得系统时间的C语言实现

    Linux下获得系统时间的C语言的实现方法 #include<time.h> //C语言的头文件#include<stdio.h> //C语言的I/O   int main() ...

  4. 《C与指针》第五章练习

    本章问题 1.这个表达式的类型和值为多少? (/) answer:The cast is applied to the result of the division,and because both ...

  5. Fragment +ViewPager

    public class MainActivity extends FragmentActivity { private ViewPager vp; @Override    protected vo ...

  6. passing argument 3 of ‘wtk_hlv_rec_init’ discards ‘const’ qualifier from pointer target type

    -Werror,编译出现如下错误: src/wtk/exam/wtk_ndx.c:154:6: error: passing argument 3 of ‘wtk_hlv_rec_init’ disc ...

  7. cookie,session,sessionid

    cookie,session,sessionid http协议是无状态的,意思是每次请求的状态不会保存.因此,产生了cookie,session之类保存会话状态的机制.1.什么是cookiecooki ...

  8. npm以及gulp相关操作

    在工作流相关的第一篇博客中,我们安装了nodejs的环境,那么nodejs自带的npm是一个功能十分强大的管理器,它已经不仅仅是局限于nodejs的版本管理器了,那么当现在我们可以通过npm来下载我们 ...

  9. flash cs6导入某些mp3不能的解决办法

    安装最新的quicktime 另外还有一个很恶心的办法,可以不用装quicktime. 1.用adobe audio打开一个没问题的mp3, 2.再打开有问题的MP3,全选,复制: 3.切换到没问题的 ...

  10. UML精粹1 - 简介

    Martin的主页 http://martinfowler.com/. Pavel Hruby开发的visio模板,可以用来画UML图: http://phruby.com 简介 统一建模语言UML是 ...