Linux集群常用操作


在这里插入图片描述

想学习架构师构建流程请跳转:Java架构师系统架构设计

1 设置主机名

安装CentOS 7后系统会自动将主机名确定为localhost,用户一般都希望将这个localhost修改成个性化的主机名,如Master、Slave0或HadoopMaster等。下面我们就来修改前面安装的虚拟机的主机名,包括Master和Slave,也就是说,修改主机名的操作要在集群中所有虚拟机上进行。

要特别注意的是,设置主机名需要Root用户权限,请输入“su root”命令。

cd /etc/sysconfig/

在这里插入图片描述

输入命令:vi network
权限不够:sudo chmod -R 777 network

# Created by anaconda
NETWORKING=yes
HOSTNAME=master

之后输入:hostname master验证是否生效
在这里插入图片描述
同理配置其他虚拟机
在这里插入图片描述

2 修改host

输入命令:vi /etc/hosts
在这里插入图片描述

192.168.99.129 master
192.168.99.130 slave0
192.168.99.131 slave1

在这里插入图片描述

3 关闭防火墙

防火墙是一种位于计算机和它所连接的网络之间的安全功能软件,一般分为网络层防火墙(Network Level Firewall)和应用层防火墙(Application Level Firewall)两种。

网络层防火墙本质上就是IP包过滤软件,它依据一定的安全规则对IP包进行检测,允许授权数据包通过,拒绝非授权数据包通过。网络层防火墙还可以关闭不使用的端口,或者禁止特定端口的流量,以阻止来自特殊站点的访问。网络层防火墙处于操作系统的网络层,是内核的一部分,具有较高的效率和准确性。

应用层防火墙工作在TCP/IP协议堆栈的应用层上。Web访问、电子邮件和FTP文件传输所产生的数据流都属于应用层。应用层防火墙基于应用层协议对数据进行扫描和安全处理,通常会直接丢弃不安全的数据包。

Linux防火墙主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙。大数据应用系统通常部署在Linux集群上,一般属于内部网络平台,且计算机之间关系十分密切,通信频繁,因此不需要启用防火墙。

  1. 检查系统防火墙状态
    命令:systemctl status firewalld.service
    在这里插入图片描述
    启动中…

  2. 关闭防火墙
    命令:systemctl stop firewalld.service
    在这里插入图片描述
    关闭…

永久关闭防火墙:systemctl disable firewalld.service

4 对所有集群发送统一命令

在这里插入图片描述

5 固定ip地址

地址:CentOS 6和CentOS 7各种区别(固定ip地址和防火墙关闭)

5 免密配置

大数据集群中的计算机之间需要频繁通信,但是Linux系统在相互通信中需要进行用户身份认证,也就是输入登录密码。在集群规模不大的情况下,在每次登录时输入密码认证,所需要的操作时间尚且不多。但是,如果集群有几十台、上百台甚至上千台计算机,频繁的认证操作会大大降低工作效率,这也是不切实际的,因此,实际中的集群都需要进行免密钥登录配置。

免密钥登录是指两台计算机之间使用SSH连接时不需要用户名和密码。SSH(Secure Shell Protocol,安全外壳协议)是一种在不安全网络上提供安全远程登录及其他安全网络服务的协议。在默认状态下,SSH连接是需要密码认证的,但是可以通过修改系统认证,使系统通信免除密码输入和SSH认证。

下面的配置分为在Master节点的操作和在所有Slave节点上的操作,同时要注意,这里使用的是普通账户,所以如果目前处于Root用户,则需要切换回普通用户状态(输入exit命令可退出Root用户)

5.1 Master节点的配置

1.命令:ssh-keygen -t rsa

“ssh-keygen”是用来生成private和public密钥对的命令,将public密钥复制到远程计算机后,就可以使SSH到另外一台计算机的登录(不用密码登录)。“ssh-keygen”通过参数-t指定加密算法,这里的参数rsa表示采用RSA加密算法。RSA加密算法是一种典型的非对称加密算法,它基于大数的因式分解这种数学难题,是应用最广泛的非对称加密算法之一。

在这里插入图片描述

  1. 生成的密钥在.ssh目录下,切换到该目录后可以通过“ls -l”命令查看。
    在这里插入图片描述

需要将公钥文件改名后复制到“/.ssh/”目录下。
命令: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
在这里插入图片描述
在这里插入图片描述

复制的目的是为了便于修改该文件的权限,请使用“chmod 600 ~/.ssh/authorized_keys”命令进行修改。

在这里插入图片描述

  1. 将authorized_keys复制到所有的Slave,这里需要分别复制到Slave0和Slave1,命令是scp ~/.ssh/authorized_keys csu@slave0:~/和命令scp ~/.ssh/authorized_keys csu@slave1:~/
    在这里插入图片描述

5.2 Slave的配置

完成Master的配置后,需要转到Slave上进行配置。
1.使用ssh-keygen命令生成密钥,如图3-69所示,一路按Enter键即可。
在这里插入图片描述

注:密钥类型可以用 -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。所以不用-t 后面的也可以

2.将authorized_keys(注意,这个文件是从Master复制过来的)文件移动到“/.ssh/”目录下,采用的命令是mv authorized_keys ~/.ssh
在这里插入图片描述
3.修改authorized_keys文件的权限。先使用“cd”命令切换到“/.ssh/”目录,再输入命令chmod 600 authorized_keys修改authorized_keys文件的权限。
在这里插入图片描述
至此,免登录密钥的配置就完成了。
4.验证
下面来验证一下配置是否有效。在Master上执行“ssh slave0”命令来登录Slave0,如果登录成功,并且无须输入登录密码,证明配置完成。
在这里插入图片描述
要退出远程计算机回到本地计算机,只要输入“exit”命令即可。
在这里插入图片描述
5.最后相互配置完成互相免密登录

6 卸载自带数据库

由于CentOS 7已经存在MariaDB安装包,因此在安装MySQL前需要先将其删除。输入命令rpm -qa | grep mariadb可以检查现有的MariaDB安装包。
在这里插入图片描述
rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
在这里插入图片描述

6 常见问题

6.1 普通用户操作某个文件或文件夹中操作权限不足

is not in the sudoers file
解决方案:
首需要切换到root身份

$su -
(注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量,用"su -"命令将环境变量也一起带过去,就象和root登录一样)

然后
$visudo //切记,此处没有vi和sudo之间没有空格

1、移动光标,到最后一行
2、按a,进入append模式
3、输入
your_user_name ALL=(ALL) ALL
4、按Esc
5、输入“:w”(保存文件)
6、输入“:q”(退出)

这样就把自己加入了sudo组,可以使用sudo命令了。+

2.Linux 配置Permission denied
开放所有权限:命令行执行 sudo chmod -R 777 路径

3.删除文件夹

删除一个文件,可通过 rm 命令删除一个文件。
删除一文件夹,可通过 rm -rf命令删除目录。

6.2 80端口占用

6.2.1 Linux 查看端口占用情况

Linux 查看端口占用情况可以使用 lsofnetstat 命令。


6.2.2 lsof

lsof(list open files)是一个列出当前系统打开文件的工具。

lsof 查看端口占用语法格式:

lsof -i:端口号

6.2.3 实例

查看服务器 8000 端口的占用情况:

# lsof -i:8000
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
nodejs  26993 root   10u  IPv4 37999514      0t0  TCP *:8000 (LISTEN)

可以看到 8000 端口已经被轻 nodejs 服务占用。

lsof -i 需要 root 用户的权限来执行,如下图:

更多 lsof 的命令如下:

lsof -i:8080:查看8080端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof +d /usr/local/:显示目录下被进程开启的文件
lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件

6.2.4 netstat

netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。

netstat 查看端口占用语法格式:

netstat -tunlp | grep 端口号
  • -t (tcp) 仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化为数字
  • -l 仅列出在Listen(监听)的服务状态
  • -p 显示建立相关链接的程序名

例如查看 8000 端口的情况,使用以下命令:

# netstat -tunlp | grep 8000
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      26993/nodejs   

更多命令:

netstat -ntlp   //查看当前所有tcp端口
netstat -ntulp | grep 80   //查看所有80端口使用情况
netstat -ntulp | grep 3306   //查看所有3306端口使用情况

6.2.5 kill

在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:

kill -9 PID

如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:

kill -9 26993
  • 5
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要下载Linux Perf Master,可以按照以下步骤进行操作: 1. 打开终端或命令行窗口,在命令行输入以下命令,以安装perf工具集: ```bash sudo apt-get update sudo apt-get install linux-tools-common linux-tools-generic linux-tools-$(uname -r) ``` 2. 安装完成后,输入以下命令来验证perf是否正确安装: ```bash perf --version ``` 3. 如果perf成功安装并显示版本号,则下载Linux Perf Master的源代码。在浏览器中搜索“Linux Perf Master”,找到官方网站或可靠的第三方下载源。 4. 打开所选源的下载页面,根据提示和指引选择适合您的Linux系统架构的下载文件。下载通常以.tar.gz或.tar.bz2格式提供。 5. 一旦下载完成,将下载的文件解压缩。在终端中,使用以下命令进行解压缩(假设下载的文件为perf-master.tar.gz): ```bash tar -xvf perf-master.tar.gz ``` 6. 解压缩完成后,进入解压缩后的目录: ```bash cd perf-master ``` 7. 在该目录中,运行以下命令来编译perf工具: ```bash make ``` 8. 编译完成后,在终端中输入以下命令来安装perf到系统: ```bash sudo make install ``` 9. 等待安装完成后,您现在可以在终端中使用perf命令了。 总之,要下载Linux Perf Master,您需要先安装perf工具集,然后从官方网站或其他可靠的下载源获取源代码,解压缩并编译安装。安装后,您可以在终端中使用perf工具进行系统性能分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵广陆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值