ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux - 系统配置

2022-09-16 13:02:30  阅读:206  来源: 互联网

标签:opt bin hadoop91 etc yum Linux hisign 系统配置


下载

CentOS7为例,下载地址

http://mirrors.aliyun.com/centos/7/isos/x86_64/

安装

不赘述,网络设置桥接模式

配置网络

vi /etc/sysconfig/network-scripts/ifcfg-ens32

ifcfg-ens32

# 网络类型为以太网
TYPE=Ethernet
# 设置固定ip,dhcp 改为 static
# BOOTPROTU=dhcp
BOOTPROTU=static
# 网卡设备名,一定要跟文件名一致
DEVICE=ens32
# 网卡设备名,一定要跟文件名一致
NAME=ens32
# 设定网卡随网络服务启动
# ONBOOT=no
ONBOOT=yes
# 固定ip
IPADDR=192.168.40.26
# 网关
GATEWAY=192.168.40.254
# 子网掩码
NETMASK=255.255.255.0
# DNS地址
DNS1=8.8.8.8
DNS2=114.114.114.114

重启网络服务,使生效

# 重启网络服务
service network restart

配置国内yum源

查看所有的yum源

yum repolist all

查看可用的yum源

yum repolist enabled

阿里镜像仓库配置

根据官网的说明,我们详细说说每步骤的意思。

(1)备份,将 CentOS-Base.repoCentOS-Base.repo.bak

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

(2)下载新的 http://mirrors.aliyun.com/repo/Centos-7.repo,并命名为CentOS-Base.repo

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

(3)清除缓存

yum clean all     # 清除系统所有的yum缓存
yum makecache     # 生成yum缓存

防火墙

firewalld跟iptables比起来至少有两大好处:

  1. firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
  2. firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。

firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。

centos7开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的。

firewalld

# 安装防火墙
yum install firewalld firewall-config

# 开启防火墙
systemctl start firewalld

# 将接口添加到区域 --zone=public,默认接口都在public
# --permanent 永久加入,没有这个参数重启后失效
firewall-cmd --zone=public --add-interface=eth0

# 将端口添加到区域 --zone=public,默认接口都在public
# --permanent 永久加入,没有这个参数重启后失效
firewall-cmd --add-port=8080/tcp --permanent

# 刷新防火墙设置 
firewall-cmd --reload

# 查看防火墙中已放开的端口
firewall-cmd --list-ports

# 查看80端口是否开启
firewall-cmd --query-port=80/tcp

# 停止防火墙
systemctl stop firewalld

# 查看防火墙是否开机自启
systemctl is-enabled firewalld

# 禁用防火墙,开机自启关闭
systemctl disable firewalld

# 启用防火墙,开机自启
systemctl enable firewalld

iptables

# 关闭防火墙
service iptables stop

# 禁用防火墙,开机自启关闭
chkconfig iptables off

# 查看防火墙状态
service iptables status

# 查看开机自启列表
chkconfig --list iptables

免密运行sudo

/etc/sudoers文件中,默认打开的 authenticate 参数用于验证目的。如果设置了它,用户必须通过密码(或其他身份验证方法)进行身份验证,然后才能使用 sudo 运行命令。但是,可以使用 NOPASSWD (当用户调用 sudo 命令时不需要密码)标记来覆盖此默认值。

root用户/etc/sudoers 文件只有读的权限,需要给root用户写的权限

# 添加写权限
chmod +w /etc/sudoers

修改/etc/sudoers

# 用户 haung 可以不用密码使用sudo
huang    ALL=(ALL)    NOPASSWD: ALL

# 对于组而言,在组名前面使用 % 字符;这意味着 sys 组的所有成员都可以不用密码使用sudo
%sys    ALL=(ALL)    NOPASSWD: ALL

# sys 组的所有成员都可以不用密码使用sudo运行命令 /bin/kill
%sys    ALL=(ALL)    NOPASSWD: /bin/kill

# sys 组的所有成员都可以不用密码使用sudo运行命令 /bin/kill、/bin/rm
%sys    ALL=(ALL)    NOPASSWD: /bin/kill,/bin/rm

操作完成之后记得收回root的权限

# 收回写权限
chmod -w /etc/sudoers

当然,也不用添加权限、收回权限这么麻烦,可以在root用户修改完后强制保存

# ESC后,:wq! 强制保存
:wq!

SSH免密登录

原理:

https://www.cnblogs.com/haojun/p/11131432.html

工作原理如下图所示:

ssh免密登录

生成公钥和私钥:

[hisign@hadoop91 /]$ ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

[hisign@hadoop91 /]$ cd ~/.ssh/
[hisign@hadoop91 .ssh]$ ll

显示

总用量 12
-rw-------. 1 hisign hisign 1675 11月  9 09:58 id_rsa
-rw-r--r--. 1 hisign hisign  397 11月  9 09:58 id_rsa.pub
-rw-r--r--. 1 hisign hisign  372 11月  9 09:15 known_hosts

将公钥拷贝到要免密登录的目标机器上

ssh-copy-id可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-id命令也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限。

# 给用户hisign配置免密登录
[hisign@hadoop91 .ssh]$ ssh-copy-id hadoop91
[hisign@hadoop91 .ssh]$ ssh-copy-id hadoop92
[hisign@hadoop91 .ssh]$ ssh-copy-id hadoop93

注意:在hadoop92hadoop93上把上面的操作都再执行一遍,三台服务器就能互相之间进行免密登录了。如果想要其他用户也能进行免密登录,切换到其他用户执行上操作即可。

用户密码

# 添加用户huang
useradd huang

# 给用户huang设置密码
passwd huang

# 删除用户huang的密码
passwd -d huang

修改语言

vim /etc/locale.conf

# LANG="en_US.UTF-8"
LANG="zh_CN.UTF-8"

重新加载配置文件

source /etc/locale.conf

可视化桌面

首先安装X(X Window System)

yum groupinstall "X Window System"

安装可视化桌面

yum groupinstall "GNOME Desktop"

启动(如果启动失败,重启reboot)

startx

分发文件

scp 安全拷贝

  • 定义:

scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)

基本语法

#命令 递归  要拷贝的文件路径/名称  目的用户@主机:目的路径/名称
scp   -r   $pdir/$fname          $user@hadoop$host:$pdir/$fname
  • 案例

1、在hadoop91上,将hadoop91中/opt/module目录下的软件拷贝到远程服务器hadoop92上。

[hisign@hadoop91 /]$ scp -r /opt/module root@hadoop92:/opt/module

2、在hadoop93上,将远程服务器hadoop91服务器上的/opt/module目录下的软件拷贝到本地。

[hisign@hadoop93 opt]$sudo scp -r hisign@hadoop91:/opt/module /opt/module

3、在hadoop93上操作将hadoop91中/opt/module目录下的软件拷贝到hadoop104上。

[hisign@hadoop93 opt]$ scp -r hisign@hadoop91:/opt/module root@hadoop104:/opt/module

注意:拷贝过来的/opt/module目录,别忘了在hadoop92、hadoop93、hadoop104上修改所有文件的,所有者和所有者组。

sudo chown hisign:hisign -R /opt/module

4、将hadoop91中/etc/profile文件拷贝到hadoop92的/etc/profile上。

[hisign@hadoop91 ~]$ sudo scp /etc/profile root@hadoop92:/etc/profile

5、将hadoop91中/etc/profile文件拷贝到hadoop93的/etc/profile上。

[hisign@hadoop91 ~]$ sudo scp /etc/profile root@hadoop93:/etc/profile

6、将hadoop91中/etc/profile文件拷贝到hadoop104的/etc/profile上。

[hisign@hadoop91 ~]$ sudo scp /etc/profile root@hadoop104:/etc/profile

注意:拷贝过来的配置文件别忘了 source /etc/profile 使生效。

rsync 远程同步工具

rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。

rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。

  • 安装
yum install rsync -y
  • 基本语法
# 命令 选项参数  要拷贝的文件路径/名称  目的用户@主机:目的路径/名称
rsync   -av     $pdir/$fname         $user@hadoop$host:$pdir/$fname
  • 案例

把hadoop91机器上的/opt/software目录同步到hadoop92服务器的root用户下的/opt/目录

rsync -av /opt/software/ hadoop92:/opt/software

xsync 集群分布脚本

1、需求:循环复制文件到所有节点的相同目录下

2、需求分析:

  • rsync命令原始拷贝:
rsync -av   /opt/module  root@hadoop93:/opt/
  • 期望脚本:
xsync 要同步的文件名称
  • 说明:在/home/hisign/bin这个目录下存放的脚本,hisign用户可以在系统任何地方直接执行。

3、脚本实现

/home/hisign目录下创建bin目录,并在bin目录下xsync创建文件,文件内容如下:

mkdir -p  /home/hisign/bin
cd /home/hisign/bin
# 新建脚本
vim xsync

在该文件中编写如下代码

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=91; host<94; host++)); do
    echo ------------------- hadoop$host --------------
    rsync -av $pdir/$fname $user@hadoop$host:$pdir
done
  • 修改脚本 xsync 具有执行权限
chmod 777 xsync
  • 调用脚本形式:xsync 文件名称
xsync /home/hisign/bin

注意:如果将xsync放到/home/hisign/bin目录下仍然不能实现全局使用,可以将xsync移动到/usr/local/bin目录下。

sudo mv /home/hisign/bin/xsync /usr/local/bin

插件推荐

上传下载工具lrzsz

XShell中支持,MobaXterm不支持

# 安装 lrzsz
yum install lrzsz -y

注意:该软件只是用于小文件,比较大的文件还是老老实实用ftp工具吧

lrzsz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。优点就是不用再开一个sftp工具登录上去上传下载文件。
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
sz:将选定的文件发送(send)到本地机器

网络工具包net-tools

ifconfig不存在问题

# 安装 net-tools
yum install net-tools -y 

文本编辑器vim

# 安装 net-tools
yum install vim -y 

下载工具wget

# 安装 wget
yum install wget -y 

下载单个文件

wget http://www.linuxde.net/testfile.zip

以下的例子是从网络下载一个文件并保存在当前目录,在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。

下载另存为

wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

wget默认会以最后一个符合/的后面的字符来命名,对于动态链接的下载通常文件名会不正确。

错误:下面的例子会下载一个文件并以名称download.aspx?id=1080保存:

wget http://www.linuxde.net/download?id=1

即使下载的文件是zip格式,它仍然以download.php?id=1080命令。

正确:为了解决这个问题,我们可以使用参数-O来指定一个文件名:

wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

下载多个文件

wget -i filelist.txt

首先,保存一份下载链接文件:

cat > filelist.txt
url1
url2
url3
url4

接着使用这个文件和参数-i下载。

标签:opt,bin,hadoop91,etc,yum,Linux,hisign,系统配置
来源: https://www.cnblogs.com/valten/p/16699469.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有