在学习搭建hadoop集群的过程中,我发现在Linux方面还有许多命令我并没有掌握,特此补充相关的知识点以及CentOS7的新特性。
主机名
- 查看当前主机名
hostname - 修改主机名(重启后失效)
hostname XXX - 修改主机名(永久修改)
vi /etc/sysconfig/network
添加:
NETWORKING=yes
HOSTNAME=XXX
IP地址
- 查看当前IP地址
ifconfig - 修改IP地址(重启后失效)
ifconfig ens33 192.168.113.150 - 修改IP地址(永久修改)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
添加或修改:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes #是否开机启用
BOOTPROTO=static #ip地址设置为静态
IPADDR=192.168.113.150
GATEWAY=192.168.113.2
NETMASK=255.255.255.0
可删除UUID=“01d193e8-cac6-4656-8e7e-ac176b9d7c3d”
重启服务
service network restart - 修改IP地址和主机名的映射关系
vi /etc/hosts
添加:
192.168.113.150 hadoop1
yum
YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
- 常用指令
- 安装xxx软件:yum instll -y xxx
- 列出所有可用的package和package组:yum list
- 列出一个包所有依赖的包:yum deplist xxx
- 删除xxx软件:yum remove xxx
- 显示所有仓库:yum repolist all
- 显示可用仓库:yum repolist enabled
- 按关键字查找包:yum list | grep xxx
- 清楚本地缓存:yum clean all
- 配置网络版yum仓库
- 在主机上配置自动挂载
- 创建挂载目录:mkdir /mnt/cdrom
- vi /etc/fstab
- 添加:/dev/cdrom /mnt/cdrom iso9660 defaults 0 0
- 启动httpd服务:systemctl start httpd.service
- 进入http服务器:cd /var/www/html
- 创建一个链接:ln -s /mnt/cdrom ./centos7
- 进入yum仓库:cd /etc/yum.repos.d
- 随便复制一份文件:cp CentOS-Media.repo CentOS-hadoop1.repo
- 重命名备份其他文件:rename .repo .repo.bak *
- 修改该配置文件:vi CentOS-hadoop1.repo
- name=CentOS-hadoop1
- baseurl=http://hadoop1/centos7
- gpgcheck=0
- enabled=1
- 查看是否生效:yum repolist
- 最后去各个客户端配置这个http地址到CentOS-Media.repo配置文件中
- 重命名备份其他仓库
- 在主机上配置自动挂载
挂载
挂载外部存储设备到文件系统中
mount
- 创建一个目录用来挂载
mkdir /mnt/cdrom - 将设备/dev/cdrom挂载到挂载点/mnt/cdrom中
mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/
umount
- 移除挂载
umount /mnt/cdrom
统计文件或文件夹大小
- 统计文件大小
du -sh /mnt/cdrom/Packages - 查看磁盘的空间
df -h
ssh和scp
ssh
- 用户名密码登录
ssh root@192.168.113.151
输入密码 - 免密登录
ssh root@192.168.113.151 - 配置免密登录(A登录B)
- 在A上生成密钥对:ssh-keygen
- 回车确认
- 将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中:ssh-copy-id B
scp
- 从本机发送文件到指定主机
scp xxx root@192.168.113.151:/XXX
后台服务
后台服务管理
- 查看指定服务状态
service network status - 停止指定服务
service network stop - 启动指定服务
service network start - 重启指定服务
service network restart - 查看系统中所有的后台服务
service --status-all
防火墙
- 关闭防火墙
systemctl stop firewalld.service - 禁止开机启动防火墙
systemctl disable firewalld.service - 开启/重启防火墙
systemctl start firewalld.service
firewall-cmd --reload - 开放指定端口
firewall-cmd --zone=public --add-port=80/tcp --permanent - 查看防火墙状态
firewall-cmd --state - 其他常用操作
firewall-cmd --get-zones 列出支持的zone
firewall-cmd --get-services 列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp 查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp 临时开放ftp服务
firewall-cmd --add-service=ftp --permanent 永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent 永久移除ftp服务
后台服务的自启配置
- 查看所有服务自启配置
chkconfig - 关掉指定服务的自启动
chkconfig iptables off - 开启指定服务的自动启动
chkconfig iptables on
常用命令
- 执行Shell脚本
- 在当前bash:. ./xxx.sh
- sh xxx.sh
常见问题
- 修改静态地址后发现无法ping外网
需要设置网关
vi /etc/sysconfig/network-scripts/ifcfg-ens33
添加网关
GATEWAY=192.168.113.2
设置为默认网关
route add default gw 192.168.113.2
添加到配置文件
vi /etc/resolv.conf
添加