-
shell分类的最新文章
-
最新评论
-
咖啡:最近这几篇都没有《记一次某APP后台接口并发优化案例》写的好啊~
-
咖啡:通篇没有一丝文字描述,全程代码,阅读性不是很强~
-
咖啡:就喜欢这种实战类的文章,感谢博主分享~
-
wx5d1761534d2c4:你真是个坑
-
目录
-
一、三个节点该脚本执行脚本
#!/bin/bash Tar_Path=/tmp/packge/test/ Tar_Directory=redis-3.2.1/ Packge_Name=/tmp/packge/redis-3.2.1.tar.gz Ports=( 7000 7001 ) Ip_Local=`ip addr|grep -w inet|grep -v "127.0.0.1"|awk -F '[ /]+' '{print $3}'` #redis安装 tar -xf $Packge_Name -C $Tar_Path cd ${Tar_Path}$Tar_Directory make >/dev/null 2>&1 if [ $? -eq 1 ];then echo -e "\033[31m make&&make install failed! \033[0m" fi make install >/dev/null 2>&1 #redis集群配置 if [ $? -eq 0 ];then echo -e "\033[31m redis download successfully \033[0m" cp src/redis-trib.rb /usr/local/bin/ for port in ${Ports[*]} do mkdir -p redis_cluster/$port cp redis.conf redis_cluster/$port/ sed -i "84s/6379/$port/" redis_cluster/$port/redis.conf sed -i "61s/127.0.0.1/$Ip_Local/" redis_cluster/$port/redis.conf sed -i '128s/no/yes/' redis_cluster/$port/redis.conf sed -i "150s/6379/$port/" redis_cluster/$port/redis.conf sed -i '692s/#//' redis_cluster/$port/redis.conf sed -i '706s/#//' redis_cluster/$port/redis.conf sed -i '564s/no/yes/' redis_cluster/$port/redis.conf sed -i "700a cluster-config-file nodes_${port}.conf" redis_cluster/$port/redis.conf redis-server redis_cluster/$port/redis.conf sleep 1 done else echo -e "\033[31m make&&make install failed! \033[0m" fi
二、在任意一个节点执行该脚本
#!/bin/bash #redis创建集群 Redis_gem=/tmp/packge/redis-3.2.1.gem Ports=( 7000 7001 ) Ips=( 172.16.17.14 172.16.17.15 172.16.2.22 ) #依赖包 Packeges=( ruby ruby-devel rubygems rpm-build expect ) Packege_install() #Packege下载函数;将要下载的包定义在Packeges数组;仅支持yum下载 { for packege in ${Packeges[*]} do yum install -y $packege >/dev/null 2>&1 if [ $? -eq 0 ];then echo -e "\033[31m {$packege} was successfully downloaded! \033[0m" else echo -e "\033[31m {$packege} download failed! \033[0m" exit 1 fi done } Packege_install gem install -l $Redis_gem >/dev/null 2>&1 if [ $? -eq 0 ];then expect -c " spawn redis-trib.rb create --replicas 1 ${Ips[0]}:${Ports[0]} ${Ips[0]}:${Ports[1]} ${Ips[1]}:${Ports[0]} ${Ips[1]}:${Ports[1]} ${Ips[2]}:${Ports[0]} ${Ips[2]}:${Ports[1]} expect { \"Can I set the above configuration? (type 'yes' to accept):\" {send \"yes\r\"; exp_continue} } expect eof" >/dev/null 2>&1 if [ $? -eq 0 ];then echo -e "\033[31m {auth}:redis-trib.rb check $Ip_Local:${Ports[0]} \033[0m" echo -e "\033[31m {login cluster}:redis-cli -h $Ip_Local -c -p ${Ports[0]} \033[0m" fi else echo -e "\033[31m Redis_gem install failed! \033[0m" fi
赞赏
0人进行了赞赏支持
0
收藏
Ctrl+Enter 发布
发布
取消