[外链图片转存失败(img-vta995gu-1568724147696)(assets/1558956599018.png)]
命令 | 英文 | 含义 |
---|---|---|
lsblk -f |
list block devices | 查看所有设备的挂载情况 |
参数 | 英文 | 含义 |
---|---|---|
-f |
file system | 文件系统 |
[外链图片转存失败(img-1hzbIKJi-1568724147697)(assets/1558957195965.png)]
lsblk
的记忆小窍门: 老师不离开 的首字母[外链图片转存失败(img-ZvhDhzwl-1568724147697)(assets/1558958276486.png)]
命令 | 英文 | 含义 |
---|---|---|
fdisk /dev/sdb |
partition | 开始指定磁盘分区 |
分区命令可选项
选项 | 英文 | 含义 |
---|---|---|
m | menu | 显示命令列表 |
n | new | 新增分区 |
p | partition | 显示磁盘分区 |
d | delete | 删除分区 |
w | write and exit | 写入 并 退出 |
fdisk /dev/sdb
开始分区m
, 进入 目录列表n
, 新增分区p
, 开始分区, 后面按回车w
, 保存 且 退出lsblk -f
查看是否成功[外链图片转存失败(img-J3ScU7W3-1568724147698)(assets/1558959380950.png)]
命令 | 英文 | 含义 |
---|---|---|
mkfs -t ext4 /dev/sdb1 |
build a Linux file system | 格式化指定分区 |
参数 | 英文 | 含义 |
---|---|---|
-t |
file system type | 指定文件系统类型 |
mkfs -t ext4 /dev/sdb1
格式化指定分区lsblk -f
查看是否成功[外链图片转存失败(img-PkxKMhau-1568724147698)(assets/1558959798742.png)]
[外链图片转存失败(img-46A2i3lG-1568724147699)(assets/1558959972626.png)]
命令 | 含义 |
---|---|
mount 设备名称 挂载目录 |
建立 设备分区 和 系统目录 的映射关系 |
umount 设备名称 或 umount 挂载目录 |
取消 设备分区 和 系统目录 的映射关系 |
mkdir -p /home/newdisk
mount /dev/sdb1 /home/newdisk
建立 设备分区 和 系统目录 的映射关系lsblk -f
查看是否挂载成功[外链图片转存失败(img-TESLRbXv-1568724147699)(assets/1558960469613.png)]
/etc/fstab
mount -a
重新加载/etc/fstab
文件 ; mount
显示 /etc/fstab
文件内容lsblk -f
[外链图片转存失败(img-0iGrXFph-1568724147700)(assets/1559232643477.png)]
/mnt/cdrom
目标虚拟机, 右键 设置
选中 CD/DVD, 浏览 选中本地的 centOS 镜像
[外链图片转存失败(img-V0xG9FOG-1568724147701)(assets/1559003152261.png)]
创建目录 mkdir -p /home/mnt
挂载镜像文件 mount /dev/cdrom /mnt/cdrom
进入挂载目录, 找到 安照包
# 切换到安装包目录中
cd /mnt/cdrom/Packages/
# 搜索tree安装包
ls | grep tree
rpm命令
实现对软件 的安装、查询、卸载选项 | 英文 | 含义 |
---|---|---|
-q |
query | 查询 |
-a |
all | 所有 |
-i |
info | 信息 |
-l |
list | 显示所有相关文件 |
-f |
file | 文件, 显示文件对应 rpm 包 |
查询已安装的rpm列表
rpm -qa | grep XXX
rpm -qa | less
查询软件包信息
rpm -qi 软件全包名
查看一个rpm包中的文件安装到那里去了?
rpm -ql 软件全包名
查看指定文件归属于那个软件包
rpm -qf 文件的全路径
命令 | 英文 | 含义 |
---|---|---|
rpm -e 软件包名称 |
erase 清除 | 卸载rpm软件包 |
rpm -e --nodeps 软件包名称 |
Don’t check dependencies | 卸载前 跳过 依赖检查 |
[外链图片转存失败(img-7LjmYlDE-1568724147701)(assets/1559195615885.png)]
命令 | 含义 |
---|---|
rpm -ivh rpm包的全路径 |
安装 rpm 包 |
参数 | 英文 | 含义 |
---|---|---|
-i |
install | 安装 |
-v |
verbose | 打印提示信息 |
-h |
hase | 显示安装进度 |
# 1 查询
rpm -qa | grep rpm包
# 2 卸载
rpm -e rpm全包名
rpm -e --nodeps rpm全包名
# 3 安装
rpm -ivh rpm包的全路径
Yum
(全称为 Yellow dog Updater, Modified
)本质上 也是一个 软件包管理器。RPM
包管理,能够从指定的服务器 自动下载、 自动安装、 自动处理依赖性关系yum
源yum
源[外链图片转存失败(img-OivN16Hh-1568724147701)(assets/1559213467056.png)]
[外链图片转存失败(img-nUUFS8sv-1568724147702)(assets/1559213519625.png)]
注意: 必须联网
命令 | 含义 |
---|---|
yum list | grep 需要的软件名 |
查询服务器是否有需要安装的软件 |
yum -y install 需要的软件包 |
下载安装 |
yum -y remove 需要卸载的软件包 |
卸载 |
yum repolist |
列出设定yum源信息 |
yum clean all |
清除yum缓存信息 |
[外链图片转存失败(img-t6mwOcD1-1568724147702)(assets/1559237181246.png)]
# 切换到保存yum信息的目录
cd /etc/yum.repos.d/
# 备份所有的配置文件
rename .repo .repo.bak *
# 查看是否备份成功
ll
[外链图片转存失败(img-AqvzUVOe-1568724147703)(…/…/…/…/…/00_%E8%AF%BE%E4%BB%B6/01_linux/201905/day04_%E5%A4%A7%E6%95%B0%E6%8D%AE%E9%9B%86%E7%BE%A4_rpm_yum/%E7%AC%94%E8%AE%B0/assets/1559005714539.png)]
vim CentOS-Local.repo
vi CentOS-Local.repo
编辑内容如下
[base]
name=CentOS-Local
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[外链图片转存失败(img-AQLcrlkV-1568724147703)(assets/1559235999870.png)]
.repo
结尾# 查看 yum 源仓库
yum repolist
# 清空缓存
yum clean all
# 卸载 tree 软件
yum -y remove tree
# 重新安装 tree 观察是否成功
yum -y install tree
[外链图片转存失败(img-I0qt1aoA-1568724147704)(assets/1559238297553.png)]
yum -y install httpd
service httpd start
http://192.168.100.201:80
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
[外链图片转存失败(img-3qehPqbm-1568724147704)(assets/1559221875874.png)]
service iptables restart
service iptables status
http://192.168.100.201:80/
service iptables stop
重启之后不要开防火墙
chkconfig iptables off
http://192.168.100:201:80
[外链图片转存失败(img-rf1AkCpH-1568724147705)(assets/1559003991020.png)]
# 拷贝yum源到httpd服务的默认工作路径下
cp -r /mnt/cdrom/ /var/www/html/CentOS-6.9
http://192.168.100.201/CentOS-6.9/
[外链图片转存失败(img-xhhN08O1-1568724147705)(assets/1559004235896.png)]
cd /etc/yum.repos.d/
rename .repo .repo.bak *
cd /etc/yum.repos.d/
vi CentOS-Local.repo
[base]
name=CentOS-Local
baseurl=http://192.168.100.201/CentOS-6.9/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
yum clean all
yum repolist
yum install -y gcc
# 安装软件
yum -y install 软件包
卸载软件
yum -y remove 软件包
/export/soft
, 解压到 /export/install
# 查询已安装的jdk
rpm -qa | grep java
# 卸载
rpm -e --nodeps 软件包名
/export/soft
, 解压到 /export/install
# 1 创建保存软件包目录
mkdir -p /export/soft/
cd /export/soft/ && ll
# 2 上传软件包
# 3 创建安装软件目录
mkdir -p /export/install
# 4 将压缩包解压到指定目录
tar -zxvf jdk-8u141-linux-x64.tar.gz -C /export/install
cd /export/install && ll
javac
和 java
JAVA_HOME=/export/install/jdk1.8.0_141
PATH=/export/install/jdk1.8.0_141/bin:$PATH
export JAVA_HOM PATH
source /etc/profile
# 测试
java -version
需求: 编写一个简单的Hello.java, 输出 Hello World!
vim Hello.java
[root@hadoop01 export]# cat Hello.java
public class Hello{
public static void main(String[] args) {
System.out.println("Hello java!");
}
}
使用 javac Hello.java
编译
执行 java Hello
/export/soft
, 解压到 /export/install
/export/soft
, 解压到 /export/install
# 切换到保存软件的目录
cd /export/soft
# 解压到 /export/install 安装目录
tar -zxvf apache-tomcat-7.0.82.tar.gz -C /export/install/
# 切换启动命令的目录
cd /export/install/apache-tomcat-7.0.82/bin
# 启动 且 查看日志
./startup.sh && tail -100f ../logs/catalina.out
http://192.168.100.201:8080/
[外链图片转存失败(img-LMKFV8AA-1568724147706)(assets/1559021688305.png)]
tomcat目录/webapps
目录下[root@hadoop01 yum.repos.d]# rpm -qa | grep mysql
mysql-libs-5.1.73-8.el6_8.x86_64
rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64
wget -P /export/soft http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
注意: 需要联网
[外链图片转存失败(img-2SMuwgcJ-1568724147706)(assets/1559026195739.png)]
cd /export/soft
rpm -ivh mysql-community-release-el6-5.noarch.rpm
[外链图片转存失败(img-VIb3DOX0-1568724147706)(assets/1559026586412.png)]
yum -y install mysql-community-server
注意: 需要联网下载, 估计需要等待十几分钟!
测试是否安装成功
[外链图片转存失败(img-xGPxy2eS-1568724147707)(assets/1559027313765.png)]
service mysqld start
[外链图片转存失败(img-Ck4c3CIt-1568724147707)(assets/1559027389601.png)]
[外链图片转存失败(img-4yiXvyyn-1568724147708)(assets/1559025747654.png)]
# 设置密码
/usr/bin/mysqladmin -u root password '123'
# 进入mysql
mysql -uroot -p123
由于MySQL编码原因会导致数据库出现乱码。
解决办法:
修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码。
具体操作:
# 进入mysql
mysql -uroot -p123
# 查看编码集 发现不是utf8
show variables like 'character_set_%';
[外链图片转存失败(img-iolb8mIM-1568724147708)(assets/1559290263489.png)]
# 清空 mysql 配置文件内容
[root@Hadoop-NN-01 ~]# >/etc/my.cnf
# 修改mysql 软件的编码集
[root@Hadoop-NN-01 ~]# vi /etc/my.cnf
修改内容如下:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[root@Hadoop-NN-01 ~]# service mysqld restart
#查看MySQL字符集
show variables like 'character_set_%';
[外链图片转存失败(img-0VqNgSON-1568724147709)(assets/309981-20160517105959326-1102421669.png)]
MySQL数据库字符集编码修改完成!
问题: 使用客户端 远程 连接mysql报错?
[外链图片转存失败(img-yjMVoPgj-1568724147709)(assets/1559028200288.png)]
原因: 因为 用户 没有 远程访问的权限
解决: 授权
# 给root授权:既可以本地访问, 也可以远程访问
grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;
# 刷新权限(可选)
flush privileges;
[外链图片转存失败(img-hAErKYJ9-1568724147710)(assets/1559290977385.png)]
[外链图片转存失败(img-ptAN7VTm-1568724147710)(assets/1559030271892.png)]
[外链图片转存失败(img-0qUz74Ga-1568724147711)(assets/1559030329561.png)]
[外链图片转存失败(img-sU1uZFc5-1568724147711)(assets/1559032650027.png)]
[外链图片转存失败(img-t9NAnX9V-1568724147712)(assets/1559031320290.png)]
vim /etc/udev/rules.d/70-persistent-net.rules
[外链图片转存失败(img-b9J5KyNQ-1568724147712)(assets/1559032034492.png)]
[外链图片转存失败(img-nX0EkWh3-1568724147713)(assets/1559032101359.png)]
[外链图片转存失败(img-UbVC1jOQ-1568724147713)(assets/1559032120387.png)]
vim /etc/sysconfig/network-scripts/ifcfg-eth0
[外链图片转存失败(img-SGkp5BVW-1568724147714)(assets/1559032313968.png)]
reboot
三台机器执行以下命令(root用户来执行)
# 查看防火墙的状态
service iptables status
# 启动防火墙服务
service iptables start
# 重启 防火墙 服务
service iptables restart
# 停止 防火墙 服务
service iptables stop
# 彻底关闭防火墙
chkconfig iptables off
[外链图片转存失败(img-QzhXwJcy-1568724147714)(assets/1559034120134.png)]
vim /etc/selinux/config
[外链图片转存失败(img-VwpE4EDF-1568724147715)(…/…/…/…/…/00_%E8%AF%BE%E4%BB%B6/01_linux/201905/day04_%E5%A4%A7%E6%95%B0%E6%8D%AE%E9%9B%86%E7%BE%A4_rpm_yum/%E7%AC%94%E8%AE%B0/assets/1559037313794.png)]
vim /etc/sysconfig/network
[外链图片转存失败(img-a15nH83x-1568724147716)(assets/1559034666896.png)]
[外链图片转存失败(img-478PllKV-1568724147717)(assets/1559034689399.png)]
[外链图片转存失败(img-paezvzrh-1568724147718)(assets/1559034714045.png)]
vim /etc/hosts
192.168.100.201 hadoop01
192.168.100.202 hadoop02
192.168.100.203 hadoop03
ping 192.168.100.202
ping hadoop02
[外链图片转存失败(img-ect2clyP-1568724147718)(assets/1559035342799.png)]
scp
远程文件拷贝remote file copy program
的缩写, scp是远程文件拷贝命令。[外链图片转存失败(img-gazpIypI-1568724147718)(assets/1559296554464.png)]
# 创建目录
mkdir -p /export/aaa/bbb/ccc
# 创建文件
touch /export/aaa/01.txt /export/aaa/02.txt
# 显示
tree /export/aaa
# 拷贝文件
scp local_file remote_username@remote_ip:remote_folder
scp /export/aaa/01.txt [email protected]:/export
scp /export/aaa/02.txt root@hadoop02:/export
scp /export/aaa/02.txt hadoop02:/export
语法格式
# 拷贝目录
scp -r local_folder remote_username@remote_ip:remote_folder
scp -r /export/aaa [email protected]:/export
scp -r /export/aaa root@hadoop02:/export
scp -r /export/aaa hadoop02:/export
[外链图片转存失败(img-cS2T1GFI-1568724147720)(assets/1559296584970.png)]
# 创建目录
mkdir -p /export/a1/b1/c1
# 创建文件
touch /export/a1/111.txt
touch /export/a1/222.txt
# 显示内容
tree /export/a1
语法格式
scp remote_username@remote_ip:remote_file local_folder
scp [email protected]:/export/a1/111.txt /export
scp root@hadoop02:/export/a1/222.txt /export
scp hadoop02:/export/a1/222.txt /export
语法格式
scp -r remote_username@remote_ip:remote_folder local_folder
scp -r [email protected]:/export/a1 /export
scp -r hadoop02:/export/a1 /export
[外链图片转存失败(img-9HNExm0V-1568724147720)(assets/1559305910984.png)]
ssh
基于密码的远程登录ssh + expect
实现 免密码登录ssh
基于密匙 实现 免密码登录ssh
基于密码的远程登录命令 | 含义 |
---|---|
ssh ip地址 |
远程登录到指定服务器上(必须知道正确的密码) |
在第三台机器上登录到第二台机器上
[外链图片转存失败(img-GOeQhLQ2-1568724147721)(…/…/…/…/…/00_%E8%AF%BE%E4%BB%B6/01_linux/201905/day04_%E5%A4%A7%E6%95%B0%E6%8D%AE%E9%9B%86%E7%BE%A4_rpm_yum/%E7%AC%94%E8%AE%B0/assets/1559302684534.png)]
细节: 首次远程登录会询问 yes/no
, 以后可能就不会了
ssh + expect
实现 免密码登录#!/usr/bin/expect
sh
脚本的 第一行 #!/bin/bash
set timeout 30
timeout -1
含义为 永不超时spawn command
expect
timeout
进行设置.send
\r
, 如果出现异常等待的状态可以进行核查interact
exp_continue
$argv
[ lindex $argv n ]
获取参数, n 从0开始, 分别代表 第一个, 第二个, 第三个… …安装 expect 软件
yum -y install expect
[外链图片转存失败(img-b7it6OyG-1568724147721)(assets/1559304392054.png)]
mkdir -p /export/expect/ && cd /export/expect/
vim expect_ssh.exp
#!/usr/bin/expect
set ipaddress "192.168.100.202"
set passwd "123456"
set timeout 30
spawn ssh $ipaddress
expect {
"yes/no" {send "yes\r"; exp_continue}
"password:" {send "$passwd\r"}
}
interact
chmod +x /export/expect/expect_ssh.exp
/export/expect/expect_ssh.exp
[外链图片转存失败(img-kcgvLld0-1568724147721)(assets/1559305048427.png)]
ifconfig eth0
# 备份文件
cp expect_ssh.exp expect_ssh2.exp
# 编辑文件
vim expect_ssh2.exp
#!/usr/bin/expect
set ipaddress [ lindex $argv 0 ]
set passwd "123456"
set timeout 30
spawn ssh $ipaddress
expect {
"yes/no" {send "yes\r"; exp_continue}
"password:" {send "$passwd\r"}
}
interact
[外链图片转存失败(img-nCmPBTao-1568724147722)(assets/1559305235031.png)]
执行脚本
/export/expect/expect_ssh2.exp hadoop03
[外链图片转存失败(img-xHZGy5PY-1568724147722)(assets/1559305387794.png)]
ssh
基于密匙 实现 免密码登录[外链图片转存失败(img-X6XGZEra-1568724147724)(file:///C:/Users/86186/Documents/My Knowledge/temp/27ceaeac-0ee8-4d88-8c07-24ff33d51c58/128/index_files/1539509297795.png)]
[外链图片转存失败(img-1pXA0rpK-1568724147724)(file:///C:/Users/86186/Documents/My Knowledge/temp/27ceaeac-0ee8-4d88-8c07-24ff33d51c58/128/index_files/1536999790300.png)]
第一步: ssh-keygen -t rsa 在hadoop1和hadoop2和hadoop3上面都要执行,产生公钥和私钥
第二步:ssh-copy-id hadoop01 将公钥拷贝到hadoop1上面去
第三步:
scp authorized_keys hadoop02:/root/.ssh/
scp authorized_keys hadoop03:/root/.ssh/
注意1: 第三步需要在/root/.ssh/目录下.
[外链图片转存失败(img-vY9a7iuZ-1568724147724)(assets/1559060740748.png)]
crontab 进行 定时任务的设置
crontab [选项]
选项 | 英文 | 含义 |
---|---|---|
-e | edit | 编辑crontab定时任务 |
-l | displayed | 显示crontab任务 |
-r | remove | 删除当前用户所有的crontab任务 |
/export/文件
中第一步: date >> /export/mydate1.txt
测试命令
第二步: 通过 crontab -e
进入 定时任务
第三步: 编辑定时任务命令
*/1 * * * * date >> /export/mydate1.txt
第四步: 检测是否成功
cd /export/ && tail -f mydate1.txxt
第一步: 书写测试命令
echo `date +"%Y-%m-%d %H:%M:%S"` >> mydate2.txt
第二步: 将命令放到脚本中 vim /export/task.sh
echo `date +"%Y-%m-%d %H:%M:%S"` >> /export/mydate2.txt
第三步: 增加可执行权限
chmod +x /export/task.sh
第四步: 执行脚本
/export/task.sh
第五步: 进入 定时任务 crontab -e
*/1 * * * * date >> /export/mydate1.txt
*/1 * * * * /export/task.sh
第六步: 测试 观察结果
tail -f /export/mydate2.txt
5个占位符的说明
[外链图片转存失败(img-2jlVDNon-1568724147725)(assets/1559059301285.png)]
含义 | 范围 | |
---|---|---|
第一个 * | 一小时当中的第几分钟 | 0~59 |
第二个 * | 一天当中的第几小时 | 0~23 |
第三个 * | 一个月当中的第几天 | 1~31 |
第四个 * | 一年当中的第几月 | 1~12 |
第五个 | 一周当中的星期几 | 0~7(0和7都代表星期日) |
例子
命令 | 含义 |
---|---|
* * * * * command | 实例1:每1分钟执行一次command |
3,15 * * * * command | 实例2: 每小时的第3和第15分钟执行 |
3,15 8-11 * * * command | 实例3: 在上午8点到11点的第3和第15分钟执行 |
3,15 8-11 */2 * * command | 实例4: 每隔两天的上午8点到11点的第3和第15分钟执行 |
3,15 8-11 * * 1 command | 实例5: 每个星期一的上午8点到11点的第3和第15分钟执行 |
30 21 * * * /etc/init.d/smb restart | 实例6: 每晚的21:30重启smb |
45 4 1,10,22 * * /etc/init.d/smb restart | 实例7: 每月1、10、22日的4 : 45重启smb |
10 1 * * 6,0 /etc/init.d/smb restart | 实例8:每周六、周日的1 : 10重启smb |
0,30 18-23 * * * /etc/init.d/smb restart | 实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb |
[外链图片转存失败(img-cPLtUJje-1568724147725)(assets/1559315973292.png)]
[外链图片转存失败(img-ZDl01xl2-1568724147726)(assets/1559062981123.png)]
命令 | 英文 | 含义 |
---|---|---|
ntpdate 互联网时间服务器地址; | Network Time Protocol | 同步时间 |
阿里云时钟同步服务器
ntpdate ntp4.aliyun.com
三台机器定时任务 : 直接与阿里云服务器进行时钟同步
crontab -e
*/1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;
准备工作: 删除三台服务器定时任务
crontab -r
[外链图片转存失败(img-iJ6HYU6I-1568724147726)(assets/1559063428113.png)]
rpm -qa | grep ntpd
[外链图片转存失败(img-RLQXGidO-1568724147726)(assets/1559323516074.png)]
如果没有安装,可以进行在线安装
yum -y install ntpd
查看ntpd的状态
service ntpd status
启动ntpd的服务
service ntpd start
设置ntpd的服务开机启动
chkconfig ntpd on
/etc/ntp.conf
编辑第一台机器的 /etc/ntp.conf
vim /etc/ntp.conf
在文件中添加如下内容, 配置我们的时钟广播地址
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
注释一下四行内容
#server0.centos.pool.ntp.org
#server1.centos.pool.ntp.org
#server2.centos.pool.ntp.org
#server3.centos.pool.ntp.org
去掉以下内容的注释,如果没有这两行注释,那就自己添加上
server 127.127.1.0 # localclock
fudge 127.127.1.0 stratum 10
[外链图片转存失败(img-haprKtA5-1568724147727)(assets/1559064293763.png)]
配置以下内容,保证BIOS与系统时间同步
vim /etc/sysconfig/ntpd
添加一行内容
SYNC_HWLOCK=yes
[外链图片转存失败(img-JL4X4kMO-1568724147727)(assets/1559064435582.png)]
重启ntpd 服务
service ntpd restart
ntpd
服务先手动同步时间
ntpdate 192.168.100.201
再使用 定时任务 同步时间
crontab -e
*/1 * * * * /usr/sbin/ntpdate 192.168.100.201
另外两台机器与192.168.52.201进行时钟同步