Linux环境下的软件安装及使用

软件的卸载
  1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令:
#rpm -q -a
即可查询到当前系统中安装的所有的软件包。
 如果想知道rpm包安装到哪里了呢?
  应该用 #rpm -ql [package name]
例: [root@10-9-162-80 rabbitmq]# rpm -q -a|grep rabbitmq
  2. 确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入命令:
  #rpm -e [package name]
 即可卸载软件。参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用–force (强制) 和–nodeps(不查找依赖关系)来忽略依赖关系,直接开始卸载:
  #rpm -e [package name] --nodeps
忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用。
卸载MYSQL
RPM包安装方式的MySQL卸载
1关闭MySQL服务
[root@server bin]# service mysql stop
Shutting down MySQL… SUCCESS!
[root@server bin]# service mysql status
 ERROR! MySQL is not running
2删除MySQL对应的文件夹
查找文件
[root@server bin]#  find / -name mysql
/home/mysql
/etc/rc.d/init.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/local/mysql
/usr/local/mysql/bin/mysql
/usr/local/mysql/include/mysql
/usr/local/mysql/data/mysql
删除文件
[root@server bin]# rm -rf /var/lib/mysql
[root@server bin]# rm -rf /var/lib/mysql^C
[root@server bin]# rm -rf /var/lib/mysql/mysql
[root@server bin]# rm -rf  /usr/bin/mysql
[root@server bin]# rm -rf  /usr/lib64/mysql
[root@server bin]# rm -rf  /usr/share/mysql
[root@server bin]# rm -rf  /usr/local/mysql
[root@server bin]# rm -rf  /usr/local/mysql/bin/mysql
[root@server bin]# rm -rf /usr/local/mysql/include/mysql
[root@server bin]# rm -rf /usr/local/mysql/data/mysql
3: 检查是否安装了MySQL组件。
[root@Server /]# rpm -qa | grep -i mysql
[root@Server /]# rpm -qa | grep -i Percona
有就删除
删除命令如下
rpm -ev MySQL-devel-5.6.23-1.linux_glibc2.5
4删除mysql用户及用户组
[root@server bin]# userdel mysql
[root@server bin]# groupdel mysql
groupdel: group ‘mysql’ does not exist
查看
[root@server bin]# more /etc/passwd | grep mysql
[root@server bin]# more /etc/group | grep mysql
[root@server bin]# more /etc/shadow | grep mysql
以上就完全删除了!
二进制包/源码安装方式的MySQL卸载
1: 检查MySQL服务并关闭服务进程。
首先通过进程查看是否有MySQL的服务的状态, 如下所示,MySQL服务是启动的。
[root@server bin]# ps -ef | grep mysql
关闭mysql服务
[root@server bin]# service mysql stop
Shutting down MySQL… SUCCESS!
[root@server bin]# service mysql status
 ERROR! MySQL is not running
2: 查找MySQL的安装目录并彻底删除
查找文件
[root@server bin]#  find / -name mysql
/home/mysql
/etc/rc.d/init.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/local/mysql
/usr/local/mysql/bin/mysql
/usr/local/mysql/include/mysql
/usr/local/mysql/data/mysql
删除文件
[root@server bin]# rm -rf /var/lib/mysql
[root@server bin]# rm -rf /var/lib/mysql^C
[root@server bin]# rm -rf /var/lib/mysql/mysql
[root@server bin]# rm -rf  /usr/bin/mysql
[root@server bin]# rm -rf  /usr/lib64/mysql
[root@server bin]# rm -rf  /usr/share/mysql
[root@server bin]# rm -rf  /usr/local/mysql
[root@server bin]# rm -rf  /usr/local/mysql/bin/mysql
[root@server bin]# rm -rf /usr/local/mysql/include/mysql
[root@server bin]# rm -rf /usr/local/mysql/data/mysql
3删除一些配置文件
配置文件一般有/etc/my.cnf 或/etc/init.d/mysql.server
[root@server bin]# rm -f /etc/my.cnf
[root@server bin]# rm -rf /etc/init.d/mysql.server
4:删除MySQL用户以及用户组
[root@server bin]# userdel mysql
[root@server bin]# id mysql
id: mysql: no such user

YUM的安装
1.获取安装包
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-41.el6.noarch.rpm
YUM常用命令:
1.安装软件包:
yum install package
yum localinstall package 从本机目录安装软件包
yum groupinstall group 安装某个组件的全部软件包
2.更新软件包:
yum update package
yum check-update 列出所有可更新的软件包
yum list updates mysql* 查找mysql的更新
yum update 更新所有可更新的软件包
yum update mysql* 更新所有mysql的软件包
yum groupupdate group 更新某个组件的所有软件包
yum list 列出所有已安装和仓库中可用的软件包
yum list available 列出仓库中所有可用的软件包
yum list updates 列出仓库中比当前系统更新的软件包
yum list installed 列出已安装的软件包
yum list recent 列出新加入仓库的软件包
yum info 查询软件包信息
      
3.删除软件包:
yum remove package
yum groupremove group 删除某个组件的全部软件包
4.清除软件包
yum clean packages 清除遗留在缓存里的包文件
yum clean metadata 清除遗留在缓存里的元数据
yum clean headers 清除遗留在缓存里的头文件
yum clean all 清除包文件,元数据,头文件
5.搜索软件包:
yum search package
yum info package 查找一个软件包的信息
yum list package 列出包含指定信息的软件包
yum list installed 列出已安装的软件包
yum list extras 列出不是通过软件仓库安装的软件包
yum list ttp 列出标题包含ttp的软件包
yum list updates 列出可以更新的软件包
6.查找特定文件是由什么软件包提供的:
yum whatprovides filename
例子:
yum whatprovides httpd.conf
可用选项
–disalberepo=lib 禁用某个软件仓库
–enalberepo=lib 启用某个软件仓库
-C 禁用使用本机缓存的元数据
例子:
yum –disalberepo=livna|–enalberepo=livna install mplayer
yum -C info httpd
lrzsz的安装
软件功能:实现windows桌面拖曳文件到Linux当前文件夹下
前提:
1.在Xshell环境下进行
2.安装lrzsz.x86_64 0:0.12.20-27.1.el6
安装命令:
yum install lrzsz
sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
从服务端发送文件到客户端:
sz filename
JDK的安装
1.通过rpm -a | grep java 确定本机环境没有安装jdk1.8
2.首先找一个存放下载jdk包的目录/home/software
3.下载压缩包jdk-8u65-linux-x64.tar.gz
4.解压文件
[root@localhost software]# tar -zxvf jdk-8u65-linux-x64.tar.gz
5.为了方便管理,重命名解压后的包
[root@localhost software]# mv jdk1.8.0_65 jdk1.8

6.编辑配置文件:
vim /etc/profile
在该文件的最尾巴,添加下面内容:
JAVA_HOME=/home/software/jdk1.8
JRE_HOME=/home/software/jdk1.8/jre
CLASS_PATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar: J R E H O M E / l i b P A T H = JRE_HOME/lib PATH= JREHOME/libPATH=PATH: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

export JAVA_HOME=/home/software/jdk1.8
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
7.执行命令,让文件立即生效。
[root@localhost software]# source /etc/profile
8.查看安装是否生效
javac命令或如下
[root@localhost software]# java -version
java version “1.8.0_65”
Java™ SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot™ 64-Bit Server VM (build 25.65-b01, mixed mode)
epel的安装
目前版本epel-release-6-8.noarch
yum install -y epel-release
如果安装失败提示GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 用如下方法解决。
[root@localhost rpm-gpg]# vim /etc/yum.repos.d/epel.repo
[root@localhost rpm-gpg]# wget https://archive.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
MYSQL的安装
1.先安装依赖
[root@localhost software]# wget http://rpmfind.net/linux/centos/6.10/os/x86_64/Packages/cmake-2.8.12.2-4.el6.x86_64.rpm
2.创建管理目录
[root@10-9-162-80 software]# mkdir mysql
3.移动安装包到此目录
[root@localhost mysql]# mv …/Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar ./
4.解压文件
tar -xf Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar
5.逐个安装,顺序不能乱
rpm -ivh Percona-Server-56-debuginfo-5.6.24-rel72.2.el6.x86_64.rpm
rpm -ivh Percona-Server-shared-56-5.6.24-rel72.2.el6.x86_64.rpm
rpm -ivh Percona-Server-client-56-5.6.24-rel72.2.el6.x86_64.rpm
rpm -ivh Percona-Server-server-56-5.6.24-rel72.2.el6.x86_64.rpm
6.检查是否安装成功
①有my.cnf文件
[root@10-9-162-80 software]# vim /etc/my.cnf
②在/var/lib/mysql/下有mysql目录
[root@10-9-162-80 software]# cd /var/lib/mysql/
[root@10-9-162-80 mysql]# ls
ibdata1 ib_logfile1 performance_schema RPM_UPGRADE_MARKER-LAST
ib_logfile0 mysql RPM_UPGRADE_HISTORY test
MYSQL操作命令
启动mysql
service mysql start
检查状态
service mysql status
关闭服务
service mysql stop
重启服务
service mysql restart
进入操作界面
(无密码状态下)
[root@localhost mysql]# mysql
(有密码)
[root@localhost mysql]# mysql -uroot -proot
展示所有数据库
mysql> show databases;
使用数据库
mysql> use mysql
查看该数据库的所有表格
mysql> show tables;
退出操作界面
ctrl+C
设置密码
[root@localhost mysql]# mysqladmin -u root password “root”
关闭防火墙并设置MYSQL端口为3306
[root@10-9-162-80 mysql]# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
查看防火墙状态
[root@10-9-162-80 mysql]# service iptables status

设置字符集为utf8
mysql> set names utf8;
导入数据库jt.sql(需要lrzsz-0.12.20-27.1.el6.x86_64.rpm软件的支持,直接拖曳)
[root@localhost mysql]# rz -E
rz waiting to receive.
同步数据
mysql>source jt.sql;
使用导入数据库
mysql> use jtdb;
查询所有数据
mysql> select * from tb_item;

默认安装的mysql没有外部访问权限,所以需要开启访问权限
mysql>grant all on . to ‘root’@’%'identified by ‘root’;
刷新权限
mysql> flush privileges;
MYSQL配置主从关系
查看当前位置信息:
[root@10-9-93-42 mysql]# pwd
/home/software/mysql
配置主服务器
修改配置文件
[root@10-9-93-42 mysql]# vim /etc/my.cnf

增加内容
server-id=1
log-bin=mysql-bin

配置完成重启服务
[root@10-9-93-42 mysql]# service mysql restart
[root@10-9-18-223 mysql]# mysql -uroot -proot
查询主状态
mysql> show master status;
成功的话如下图(日志名和位置动态变化):

配置从服务器
修改配置文件
[root@10-9-93-42 mysql]# vim /etc/my.cnf
增加内容
server-id=2
配置完成重启服务
[root@10-9-93-42 mysql]# service mysql restart
[root@10-9-18-223 mysql]# mysql -uroot -proot
挂到主服务器(先查看主服务器的日志文件名及日志位置)
mysql> change master to master_host=‘192.168.157.129’,master_port=3306,master_user=‘root’,master_password=‘root’,master_log_file=‘mysql-bin.000003’,master_log_pos=199;
开启从状态
mysql> start slave;
查询从状态
mysql> show slave status\G;

Slave_IO_Running: YES 表示slave的日志读取线程开启
Slave_SQL_Running: YES 表示SQL执行线程开启

可以通过SQLyog界面查看主从状态,如果出错可以拉到后面(列:slave SQL Running State)查看错误信息。

关闭从状态
mysql> stop slave;

Mycat安装
软件功能:
① 作为数据中间件使用,实现高性能的读写分离。
② 集群并行计算
③ 整合资源
安装步骤:
1.获取压缩包Mycat-server-1.5.1-RELEASE-20161130213509-linux.tar.gz
2.解压文件(默认存放在当前文件夹的mycat文件夹下)
[root@localhost software]# tar -xf Mycat-server-1.5.1-RELEASE-20161130213509-linux.tar.gz
mycat里有两个重要配置文件:schema.xml 和 server.xml
server.xml文件解析如上:
socat的安装
目前版本socat.x86_64 0:1.7.2.3-1.el6
yum -y install socat
ruby的安装
redis集群命令文件需要ruby语言的支持
1.获取安装包ruby-2.3.1.tar.gz
2.解压
tar -xf ruby-2.3.1.tar.gz
3.进入目录
cd ruby-2.3.1
4.执行编译
./configure
5.编译安装
make && make install
rubygems的安装
rubygems简介:简称gems,是一个对ruby组件进行打包的ruby打包系统。它提供一个分发ruby程序和库的标准格式,还提供一个管理程序包安装的工具。简单理解就是ruby运行时,需要各种插件都在gems里。是一种技术支持。过程中需要同意操作。
1.yum安装
yum -y install rubygems
2.下载支持redis的插件(接口包)
gem install redis
3.检查版本
ruby -v

redis的安装
1.创建管理目录
cd /home/
mkdir software
cd software/
2.安装编译条件GCC和测试套件TCL。
yum -y install tcl*
yum -y install gcc
3.获取redis安装包
wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/redis-3.2.11.tar.gz
4.查看安装包
ls
5.解压安装包
tar -xf redis-3.2.11.tar.gz
6.进入解压好的安装包
cd redis-3.2.11
7.安装
make && make install
8.启动服务(当设置为后台执行时不会显示如下界面)
redis-server redis.conf

9.在客户端运行(默认运行端口6379,可不写)
[root@10-9-162-80 redis-3.2.11]# redis-cli -p 6379
127.0.0.1:6379>
10. ctrl+c退出操作
11. shutdown彻底结束redis服务
127.0.0.1:6379> shutdown
redis集群配置
1.修改配置文件redis.conf
[root@localhost redis-3.2.11]# vim redis.conf
① 用#注释绑定本机,这样子就没有任何限制,只要可以连接服务器都可以使用redis。

② 保护模式改为no

③ 设置客户端空闲时间达到一小时就会自动断开连接。(0秒表示不启用超时配置)

④ 守护进程设置成yes(让服务器可以后台执行)

⑤ 添加logfile内容

⑥  第237行修改 dbfilename dump6379.rdb
⑦  第593行修改 appendonly yes
⑧  第597行修改 appendfilename “appendonly6379.aof”
⑨ 第721行取消注释(开启集群功能) cluster-enabled yes
⑩ 第729行取消注释(启用集群配置文件) cluster-config-file nodes-6379.conf
⑪ 第735行取消注释(请求超时15秒) cluster-node-timeout 15000
2.创建目录
mkdir 8000 8001 8002 8003 8004 8005
3.复制配置文件
cp redis.conf 8000/
cp redis.conf 8001/
cp redis.conf 8002/
cp redis.conf 8003/
cp redis.conf 8004/
cp redis.conf 8005/
4.批量修改配置文件中的端口号,如下例
vim 8000/redis.conf
:%s/6379/8000/g 或 :%s/8000/8001/g
:wq
5.启动其他节点,如下例
[root@10-9-162-80 redis-3.2.11]# redis-server 8000/redis.conf
6.检查是否启动成功
ps -ef|grep redis

7.创建master主节点
[root@localhost src]# ./redis-trib.rb create 192.168.157.128:8000 192.168.157.128:8001 192.168.157.128:8002

如上界面表示主节点搭建成功。
需要关闭防火墙(如下两个命令配合可永久关闭防火墙)
[root@localhost src]# service iptables stop
[root@localhost src]# chkconfig iptables off
redis登录使用
客户端登录
需先开启所有redis服务。
[root@10-9-162-80 redis-3.2.11]# redis-server 8000/redis.conf
单点登录
报错:因已在配置文件开启集群功能,所以单点登录无法写入数据
[root@10-9-162-80 redis-3.2.11]# redis-cli -p 8000
127.0.0.1:8000> set name xiao
(error) CLUSTERDOWN Hash slot not served
127.0.0.1:8000>
集群登录
-p表示端口连接, -c以集群状态登录节点
[root@10-9-162-80 redis-3.2.11]# redis-cli -c -p 8000
127.0.0.1:8000> set name xiao
-> Redirected to slot [5798] located at 192.168.157.128:8001
OK
查看集群状态
epoch是个逻辑计算时间,与节点的所有变化及集群事件有关。
192.168.157.128:8001> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:3
cluster_size:3
cluster_current_epoch:3 //数字越大,表示操作或者配置越新。

cluster_my_epoch:2 //代表当前节点的逻辑计算时间。
cluster_stats_messages_sent:1206
cluster_stats_messages_received:1206
查看集群节点
主节点组成结构: 节点ID IP地址:端口 节点角色(例master/slave/myself) -0 connected hash槽范围
从节点组成结构: 从节点ID IP地址:端口 节点角色(例master/slave/myself) -主节点ID connected hash槽范围
myself表示正在用客户端登录的端口
127.0.0.1:8004> cluster nodes
13169f9ca3fc9039e7792f074edb96de6bdd1ca3 192.168.157.128:8003 master - 0 1537331314350 0 connected
76920414034706f1e8bf9ec07591bfa3a31de883 192.168.157.128:8002 master - 0 1537331314962 3 connected 10923-16383
7d19d28ae343c0818eeef30617f59bbfe1925fd3 192.168.157.128:8004 myself,slave 8f05dd0fbd7dd0fb484634ae022f598430f615bf 0 0 4 connected
8f05dd0fbd7dd0fb484634ae022f598430f615bf 192.168.157.128:8000 master - 0 1537331313938 1 connected 0-5460
a2b23497b8c4678fcfe8c799cf14575069516b16 192.168.157.128:8001 master - 0 1537331315987 2 connected 5461-10922
集群工作模式
特点1:写入数据会随机分布到其中一个端口,可以从任意端口读取到数据(会重定向到数据源端口)
192.168.157.128:8001> get name
“xiao”
192.168.157.128:8001> quit
[root@localhost src]# redis-cli -c -p 8002
127.0.0.1:8002> get name
-> Redirected to slot [5798] located at 192.168.157.128:8001
“xiao”
高可用验证
停掉一个主进程8003,再查集群状态,发现变成了disconnected状态。
等待一定时间,127.0.0.1:8000> cluster nodes发现从节点8004重写选举成了主节点。(目前验证失败)
若删除8003节点,则无法直接重新加入。
将8003再次开启后,变为从节点加入集群。

重写搭建集群
1.杀掉所有redis进程
2.删掉文件
rm -f nodes*
rm -f dump*
3.参照上文集群创建方式再来一遍。
动态添加节点
添加主节点
执行添加命令
[root@localhost src]# ./redis-trib.rb add-node 192.168.157.128:8003 192.168.157.128:8001
前面是新节点,后面是存在的任意一个节点。
成功界面如下:

注意:新添的节点不能有数据存在。
分配槽道给新节点
只能分配空槽道。
如下例,分配50个槽道给8003端口。
[root@localhost src]# ./redis-trib.rb reshard 192.168.157.128:8003

Performing Cluster Check (using node 192.168.157.128:8003)
S: 7d19d28ae343c0818eeef30617f59bbfe1925fd3 192.168.157.128:8004
slots: (0 slots) slave
replicates 8f05dd0fbd7dd0fb484634ae022f598430f615bf
M: 13169f9ca3fc9039e7792f074edb96de6bdd1ca3 192.168.157.128:8003
slots: (0 slots) master
0 additional replica(s)
M: 76920414034706f1e8bf9ec07591bfa3a31de883 192.168.157.128:8002
slots:10923-16383 (5461 slots) master
0 additional replica(s)
M: 8f05dd0fbd7dd0fb484634ae022f598430f615bf 192.168.157.128:8000
slots:0-5460 (5461 slots) master
1 additional replica(s)
M: a2b23497b8c4678fcfe8c799cf14575069516b16 192.168.157.128:8001
slots:5461-10922 (5462 slots) master
0 additional replica(s)
[OK] All nodes agree about slots configuration.

Check for open slots…
Check slots coverage…
[OK] All 16384 slots covered.
How many slots do you want to move (from 1 to 16384)? 50 //分配槽道数量
What is the receiving node ID? 13169f9ca3fc9039e7792f074edb96de6bdd1ca3 //接收的节点ID
Please enter all the source node IDs.
Type ‘all’ to use all the nodes as source nodes for the hash slots.
Type ‘done’ once you entered all the source nodes IDs.
Source node #1:8f05dd0fbd7dd0fb484634ae022f598430f615bf //指定用来分的槽道节点ID
Source node #2:done //如果平均分所有槽道,则输入所有节点ID。截止位置输done

Ready to move 50 slots.
Source nodes:
M: 8f05dd0fbd7dd0fb484634ae022f598430f615bf 192.168.157.128:8000
slots:0-5460 (5461 slots) master
1 additional replica(s)
Destination node:
M: 13169f9ca3fc9039e7792f074edb96de6bdd1ca3 192.168.157.128:8003
slots: (0 slots) master
0 additional replica(s)
Resharding plan:
Moving slot 0 from 8f05dd0fbd7dd0fb484634ae022f598430f615bf
Moving slot 1 from 8f05dd0fbd7dd0fb484634ae022f598430f615bf
…………(为节省篇幅中间省略不粘贴)
Moving slot 49 from 8f05dd0fbd7dd0fb484634ae022f598430f615bf
Do you want to proceed with the proposed reshard plan (yes/no)? yes
Moving slot 0 from 192.168.157.128:8000 to 192.168.157.128:8003:
Moving slot 1 from 192.168.157.128:8000 to 192.168.157.128:8003:
…………(为节省篇幅中间省略不粘贴)
Moving slot 49 from 192.168.157.128:8000 to 192.168.157.128:8003:
[root@localhost src]# redis-cli -c -p 8003
127.0.0.1:8003> cluster nodes
a2b23497b8c4678fcfe8c799cf14575069516b16 192.168.157.128:8001 master - 0 1537331761323 2 connected 5461-10922
76920414034706f1e8bf9ec07591bfa3a31de883 192.168.157.128:8002 master - 0 1537331762328 3 connected 10923-16383
13169f9ca3fc9039e7792f074edb96de6bdd1ca3 192.168.157.128:8003 myself,master - 0 0 5 connected 0-49
7d19d28ae343c0818eeef30617f59bbfe1925fd3 192.168.157.128:8004 slave 8f05dd0fbd7dd0fb484634ae022f598430f615bf 0 1537331760315 1 connected
8f05dd0fbd7dd0fb484634ae022f598430f615bf 192.168.157.128:8000 master - 0 1537331763353 1 connected 50-5460
添加从节点
说明:
前面是新节点,后面是存在的任意一个主节点。–master-id后面必须跟着该主节点的id
[root@localhost src]# ./redis-trib.rb add-node --slave --master-id 8f05dd0fbd7dd0fb484634ae022f598430f615bf 192.168.157.128:8004 192.168.157.128:8000
删除节点
删除节点的方式就是redis-cli客户端连接到服务器,然后执行cluster forget node-id就可以了。
如果是删除一个从节点的话,集群仍然是可用状态。
如果是删除一个主节点的话,集群的槽位不足,就会变成不可用状态。例:从8005端删掉8004从节点
127.0.0.1:8005> cluster nodes
de8a099b8500f2ec1e9d5a999c8da8ac7e99dbd2 192.168.157.128:8005 myself,master - 0 0 0 connected
7d19d28ae343c0818eeef30617f59bbfe1925fd3 192.168.157.128:8004 master - 0 1537329482153 1 connected
127.0.0.1:8005> cluster forget 7d19d28ae343c0818eeef30617f59bbfe1925fd3
OK
127.0.0.1:8005> cluster nodes
de8a099b8500f2ec1e9d5a999c8da8ac7e99dbd2 192.168.157.128:8005 myself,master - 0 0 0 connected
[root@localhost src]# redis-cli -c -p 8004
127.0.0.1:8004> cluster nodes
7d19d28ae343c0818eeef30617f59bbfe1925fd3 192.168.157.128:8004 myself,master - 0 0 1 connected
主节点不能直接删除,需要rehard将槽道全部移除。
[root@localhost src]# ./redis-trib.rb del-node 192.168.157.128:8003 13169f9ca3fc9039e7792f074edb96de6bdd1ca3
Redis集群命令
CLUSTER INFO 打印集群的信息
CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
CLUSTER MEET 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。
CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。
CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。
CLUSTER ADDSLOTS [slot …] 将一个或多个槽(slot)指派(assign)给当前节点。
CLUSTER DELSLOTS [slot …] 移除一个或多个槽对当前节点的指派。
CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
CLUSTER SETSLOT NODE <node_id> 将槽 slot 指派给 node_id 指定的节点。
CLUSTER SETSLOT MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。
CLUSTER SETSLOT IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。
CLUSTER SETSLOT STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。
CLUSTER KEYSLOT 计算键 key 应该被放置在哪个槽上。
CLUSTER COUNTKEYSINSLOT 返回槽 slot 目前包含的键值对数量。
CLUSTER GETKEYSINSLOT 返回 count 个 slot 槽中的键。
CLUSTER SLAVES node-id 返回一个master节点的slaves 列表

Rabbitmq安装
rabbitmq是常见的系统解耦的消息队列。
1.安装依赖包socat(若安装失败参考《虚拟机常见问题》文档解决)
yum -y install socat
还需要依赖包(rabbitMq是用erlang分布式语言开发的)
yum -y install erlang
注意:yum会自动获取最新版本erlang-solutions-21.0.6-1.noarch.rpm,仅匹配rabbitmq 3.7.7以上版本。
可以到网上下载指定版本https://www.erlang-solutions.com/resources/download.html
1.进入相应目录,创建管理文件夹
[root@10-9-18-223 mysql]# cd /home/software
[root@10-9-93-42 software]# mkdir rabbitmq
[root@10-9-18-223 software]# cd rabbitmq
2.下好安装包rabbitmq-server-3.7.7-1.el6.noarch.rpm
3.安装
如果以上两个依赖包已安装依然提示如下,则选择忽略依赖包安装。
[root@localhost rabbitmq]# rpm -ivh rabbitmq-server-3.7.7-1.el6.noarch.rpm
成功界面如下:

4.进入安装目录
[root@10-9-93-42 rabbitmq]# cd /usr/share/doc/rabbitmq-server-3.7.7
5.复制配置文件
[root@10-9-93-42 rabbitmq-server-3.7.7]# cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
6.修改配置文件
[root@10-9-93-42 rabbitmq-server-3.7.7]# vim /etc/rabbitmq/rabbitmq.config
修改58行为 {loopback_users, []}
:wq
7.开启后台管理插件
[root@10-9-93-42 rabbitmq]# rabbitmq-plugins enable rabbitmq_management

开启服务
[root@10-9-93-42 rabbitmq]#service rabbitmq-server start
若出错,查看错误日志
[root@localhost rabbitmq]# cat /var/log/rabbitmq/startup_err
重启服务
[root@10-9-93-42 bin]# service rabbitmq-server restart
关闭服务
[root@10-9-93-42 bin]# service rabbitmq-server stop
查看状态
service rabbitmq-server status
浏览器登录
1.需要先永久关闭防火墙
service iptables stop
chkconfig iptables off
2.登录地址IP:15672
http://192.168.157.130:15672/
3.默认账号密码均为:guest
ES的安装
1.下载好安装包elasticsearch-5.5.2.tar.gz。
2.解压
[root@localhost software]# tar -xf elasticsearch-5.5.2.tar.gz
3.添加用户及用户组(默认为普通用户,无write/execute权限)
[root@localhost software]# groupadd elasticsearch
[root@localhost software]# useradd es -g elasticsearch -p es
用户之间的切换
以后可以开两个窗口,一个为root用户,一个位es用户。
4.更改es用户对elasticsearch-5.5.2的操作权限
[root@localhost software]# chown -R es /home/software/elasticsearch-5.5.2
或chown -R es:elasticsearch /home/software/elasticsearch-5.5.2
5.修改配置文件(es默认启动占用2G内存,改为512M)
[root@localhost software]# cd elasticsearch-5.5.2/config
[root@localhost config]# vim jvm.options
6.启动服务(-d实现后台启动)
[es@localhost bin]$ ./elasticsearch -d
如报错Caused by: java.lang.RuntimeException: can not run elasticsearch as root,表示不能用root账户开启服务,需切换到es账户。
7.通过curl命令测试是否运行
[root@localhost bin]# curl 192.168.157.131:9200

8.关闭服务
先查进程PID,再用kill命令杀掉进程。
[root@localhost ~]# ps aux | grep elastic
ES的登录
[root@localhost ~]# cd /home/software/elasticsearch-5.5.2/bin
[root@localhost bin]# su es
[es@localhost bin]$ ./elasticsearch
[root@localhost ~]# curl 192.168.157.132:9200
Zip的安装
[root@localhost ~]# unzip
[root@localhost ~]# yum -y install unzip zip
Node的安装
1.到官网https://nodejs.org/en/download/下载软件node-v6.11.4-linux-x64.tar.xz
2.解压安装包[root@localhost software]# tar -xf node-v6.11.4-linux-x64.tar.xz
3.[root@localhost software]# cd node-v6.11.4-linux-x64/bin
4.[root@localhost bin]# npm install -g grunt-cli
5.配置node的环境,使命令可以在任何位置执行
vim /etc/profile
在最后添加下面内容:
#java
JAVA_HOME=/home/software/jdk1.8.0_65
NODE_HOME=/home/software/node-v6.11.4-linux-x64
PATH= P A T H : . / : PATH:./: PATH:./:JAVA_HOME/bin:$NODE_HOME/bin
export PATH JAVA_HOME NODE_HOME
export GREP_OPTIONS=–color=auto

JAVA_HOME=/home/software/java/jdk1.8.0_65
CLASSPATH= J A V A H O M E / l i b / P A T H = JAVA_HOME/lib/ PATH= JAVAHOME/lib/PATH=PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
6.使配置生效
source /etc/profile
7.验证是否安装成功
node -v
npm -v
grunt的安装
[root@localhost software]# cd node-v6.11.4-linux-x64/bin
[root@localhost bin]# npm install -g grunt-cli
[root@localhost elasticsearch-head-master]# npm install -g grunt
验证是否安装成功
grunt -versionnp
这些是Gruntfile.js中引用的,分别下载。ok
npm install grunt-contrib-copy
npm install grunt-contrib-concat
npm install grunt-contrib-uglify
npm install grunt-css
elasticsearch-head-master的安装
通过浏览器管理ES的软件。
1.解压安装包(需要zip及unzip插件的支持)
unzipelasticsearch-head-master.zip
2.修改ES配置文件,参考下文的《ES集群配置》
3.修改head配置文件
[root@localhost ~]#cd /home/software/elasticsearch-head-master
[root@localhost elasticsearch-head-master]# vim Gruntfile.js
修改Page93 hostname: ‘192.168.157.133’,
4.执行命令(需要先安装grunt插件)
[root@localhost elasticsearch-head-master]# grunt server

ES集群配置
1.修改配置文件
[root@localhost ~]# cd /home/software/elasticsearch-5.5.2/config
[root@localhost config]# vim elasticsearch.yml
修改Page17 cluster.name: elasticsearch
修改Page23 node.name:es01
修改Page33 path.data: /path01,/path02
修改Page37 path.logs: /path/to/logs
修改Page43 bootstrap.memory_lock: false
修改Page44 bootstrap.system_call_filter: false
修改Page56 network.host: 192.168.157.133
修改Page60 http.port: 9200
新添Page61 http.cors.enabled: true
新添Page62 http.cors.allow-origin: “*”
logstash的安装
1.获取安装包logstash-5.6.0.tar.gz
2.解压文件tar -xf logstash-5.6.0.tar.gz
3.运行测试
[root@localhost ~]# cd /home/software/logstash-5.6.0/bin
[root@localhost bin]# logstash -e ‘input{stdin{}}output{stdout{codec=>rubydebug}}’
最后行内容为Successfully started Logstash API endpoint {:port=>9600}表示启动成功

logstash-input-jdbc的安装
[root@localhost ~]# cd /home/software/logstash-5.6.0
[root@localhost logstash-5.6.0]# mkdir plugins
[root@localhost logstash-5.6.0]# cd plugins
[root@localhost plugins]# cp /home/resources/logstash-input-jdbc-4.2.4.tar.gz ./
[root@localhost plugins]# tar -xf logstash-input-jdbc-4.2.4.tar.gz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值