Linux集群常用操作

简介: Linux集群常用操作

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.检查系统防火墙状态

  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加密算法是一种典型的非对称加密算法,它基于大数的因式分解这种数学难题,是应用最广泛的非对称加密算法之一。


59278c88a843477da25a71e9ede77e3e.png


生成的密钥在.ssh目录下,切换到该目录后可以通过“ls -l”命令查看。

24fa92ff35ef4dc0bc4d18d0aad68c1d.png

需要将公钥文件改名后复制到“/.ssh/”目录下。

命令: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3495ea3417de4aff9bd339f89500e8ca.png

737c4181d0f148958bf37d6d101807b5.png


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

b0c510e128834974b80ee3b3af2b9726.png



将authorized_keys复制到所有的Slave,这里需要分别复制到Slave0和Slave1,命令是scp ~/.ssh/authorized_keys csu@slave0:~/和命令scp ~/.ssh/authorized_keys csu@slave1:~/。

a7fd2d9556c74e4790a5e84f28561aac.png

5.2 Slave的配置

完成Master的配置后,需要转到Slave上进行配置。

1.使用ssh-keygen命令生成密钥,如图3-69所示,一路按Enter键即可。

6f200283d2c04834a3a30d0876cc686f.png


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


2.将authorized_keys(注意,这个文件是从Master复制过来的)文件移动到“/.ssh/”目录下,采用的命令是mv authorized_keys ~/.ssh。

1666c1b01daa4acdb8b35460eb641c44.png

3.修改authorized_keys文件的权限。先使用“cd”命令切换到“/.ssh/”目录,再输入命令chmod 600 authorized_keys修改authorized_keys文件的权限。

09ffd1b6d7234086b2ef2d27372bcdd1.png

至此,免登录密钥的配置就完成了。

4.验证

下面来验证一下配置是否有效。在Master上执行“ssh slave0”命令来登录Slave0,如果登录成功,并且无须输入登录密码,证明配置完成。

eea4063f85d64daab3e137f73bb25295.png

要退出远程计算机回到本地计算机,只要输入“exit”命令即可。

46c50e90823e4627b9c3e80d93750200.png

5.最后相互配置完成互相免密登录


6 卸载自带数据库

由于CentOS 7已经存在MariaDB安装包,因此在安装MySQL前需要先将其删除。输入命令rpm -qa | grep mariadb可以检查现有的MariaDB安装包。

8d47ec9fed664892af88569a22e44d74.png

rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

472f5225940848afa2aefba7b6ce8866.png


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 查看端口占用情况可以使用 lsof 和 netstat 命令。


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 端口号

1

-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


目录
相关文章
|
4月前
|
Linux Shell
入职必会-开发环境搭建36-Linux常用操作-Linux环境变量
环境变量的作用是指定到哪个目录去找你输入的命令执行。环境变量的设置分为:临时设置和永久设置两种。
|
6月前
|
Linux
Linux手动更新时间Linux同步集群其他节点时间
Linux手动更新时间Linux同步集群其他节点时间
58 0
|
4月前
|
域名解析 网络协议 Linux
入职必会-开发环境搭建38-Linux常用操作-Linux设置IP
目前安装的Linux操作系统默认是动态获取IP地址,IP地址可能会发生变动,需要把IP地址设置为静态的。
入职必会-开发环境搭建38-Linux常用操作-Linux设置IP
|
14天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
15 2
|
4月前
|
网络协议 Linux 网络安全
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
|
4月前
|
Linux
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
系统启动以后一直存在且常驻内存没有界面的进程就是服务。Linux系统中的所有服务都保存在下列目录中:/usr/lib/systemd/system,进入该目录就能看到所有的服务。
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
|
4月前
|
缓存 监控 Linux
入职必会-开发环境搭建40-Linux常用操作-Linux进程管理
进程是正在执行的程序或命令。每个进程独立的,都有需要占用一定的系统资源。Linux系统中启动进程有两种方式:1.Linux操作系统启动的时自动启动的进程。2.用户在终端输入命令启动的进程。
入职必会-开发环境搭建40-Linux常用操作-Linux进程管理
|
4月前
|
Unix 关系型数据库 Linux
入职必会-开发环境搭建35-Linux常用操作-Linux必会命令
使用Windows系统时用户通常是使用鼠标点击进行文件或文件夹的创建、删除等操作,在Linux系统中是通过敲命令来控制系统的,Windows系统和Linux系统的目录结构不同,我们需要先熟悉Linux系统的目录结构。
入职必会-开发环境搭建35-Linux常用操作-Linux必会命令
|
3月前
|
运维 负载均衡 监控
"Linux高可用集群背后的神秘力量:揭秘心跳机制,如何确保服务永不掉线?"
【8月更文挑战第21天】今天探讨Linux高可用集群中的心跳机制——节点间定期发送信号以确认彼此状态的关键技术。它主要用于故障检测、负载均衡及资源接管。示例代码展示如何使用Corosync+Pacemaker配置心跳,确保服务连续性与可靠性。正确配置心跳机制能够显著提升系统的稳定性。
55 1
|
3月前
|
存储 分布式计算 负载均衡
在Linux中,什么是集群,并且列出常见的集群技术。
在Linux中,什么是集群,并且列出常见的集群技术。
下一篇
无影云桌面