蔡狗_linux04汇总

3 yum
3.1 目标
Yum (全称为 Yellow dog Updater, Modified )本质上 也是一个 软件包管理器。
特点: 基于 RPM 包管理,能够从指定的服务器 自动下载、 自动安装、 自动处理依赖性关系
3.2 路径
第一步: yum的原理
第二步: 常用指令 (重点)
第三步: 制作 本地 yum 源
第四步: 制作 局域网 yum 源
3.3 实现
3.3.1 yum的原理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述3.3.3 制作本地yum源
原因: 因为大数据集群 为了安全, 不让连接外网
原理
实现
在这里插入图片描述实现
第一步 挂载 持有系统镜像的 光驱, 请参考 1.5 小结
第二步: 备份默认yum源仓库
第三步: 新增本地yum源 vim CentOS-Local.repo

切换到保存yum信息的目录

cd /etc/yum.repos.d/

备份所有的配置文件

rename .repo .repo.bak *

查看是否备份成功

ll
在这里插入图片描述第三步: 新增本地yum源 vim CentOS-Local.repo
vi CentOS-Local.repo

编辑内容如下
[base]
name=CentOS-Local
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
在这里插入图片描述
注意: 必须以 .repo 结尾
第五步: 断网 测试是否可以安装

查看 yum 源仓库

yum repolist

清空缓存

yum clean all

卸载 tree 软件

yum -y remove tree

重新安装 tree 观察是否成功

yum -y install tree
3.3.4 制作局域网yum源
原理
在这里插入图片描述3.3.5.1 安装httpd软件
安装httpd:
yum -y install httpd
启动 httpd 服务
service httpd start
测试
http://192.168.100.201:80
问题: 发现无法访问?
原因: 因为 linux 的防火墙 禁止他人 访问自己的80端口
解决: 通知 防火墙放行
关闭防火墙
原因: 为了方便 内网中集群间机器的相互操作, 通常会关闭防火墙
关闭防火墙
service iptables stop
重启之后不要开防火墙
chkconfig iptables off
3.3.4.3 制作局域网 yum源
使用浏览器访问http://192.168.100:201:80在这里插入图片描述第一步: 将常用软件包 复制到指定目录下

拷贝yum源到httpd服务的默认工作路径下

cp -r /mnt/cdrom/* /var/www/html/CentOS-6.9
第二步: 浏览器访问http://192.168.100.201/CentOS-6.9/
在这里插入图片描述
第三步: 更新其他节点的 本地yum源(在其他节点上测试)

  1. 备份默认yum源
    cd /etc/yum.repos.d/
    mv CentOS-Local.repo CentOS-Local.repo.bak
  2. 制作本地yum源
    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 tree
    3.4 小结

安装软件

yum -y install 软件包
卸载软件
yum -y remove 软件包
4 安装jdk
4.1 路径
第一步: 卸载linux系统 提供的jdk
第二步: 上传按照包到 /export/soft , 解压到 /export/install
第三步: 将 jdk路径 放到 环境变量中
第四步: 重新加载 环境变量的配置文件
第五步: 测试是否安装成功
4.2 实现
第一步: 卸载linux系统 提供的jdk

查询已安装的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
第三步: 将 jdk路径 放到 环境变量中
目的: 为了能够在任何目录下都可以使用 javac 和 java
JAVA_HOME=/export/install/jdk1.8.0_141
PATH=/export/install/jdk1.8.0_141/bin:$PATH
export JAVA_HOME 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
5 安装tomcat
5.1 目标
实际工作中我们可能需要发布web项目到tomcat中
5.2 路径
第一步: 将安装包上传到 /export/soft , 解压到 /export/install
第二步: 启动tomcat 且 查看日志
第三步: 上传项目 测试
5.3 实现
第一步: 将安装包上传到 /export/soft , 解压到 /export/install

切换到保存软件的目录

cd /export/soft

解压到 /export/install 安装目录

tar -zxvf apache-tomcat-7.0.82.tar.gz -C /export/install/
第二步: 启动tomcat 且 查看日志

切换启动命令的目录

cd /export/install/apache-tomcat-7.0.82/bin

启动 且 查看日志

./startup.sh && tail -100f …/logs/catalina.out
第三步: 测试
http://192.168.100.201:8080/
在这里插入图片描述6 安装mysql
6.1 yum安装原理:
yum安装是通过执行yum命令,自动分析依赖关系, 自动下载, 自动安装
6.2 yum安装优点:
安装简单、快速
6.3 缺点:
由于不同的yum仓库只有特定的几个版本,所以可选的版本较少。
6.4 yum安装实战
下面看看如何在CentOS7系统上安装 MySQL5.6.44
1 查询系统自带的mysql
[root@hadoop01 yum.repos.d]# rpm -qa | grep mysql
mysql-libs-5.1.73-8.el6_8.x86_64
2 安装mysql
yum install -y mysql-server
3 启动服务
service mysqld start
在这里插入图片描述
在这里插入图片描述# 设置密码
/usr/bin/mysqladmin -u root password ‘123’

进入mysql

mysql -uroot -p123
5 问题1: 解决中文乱码
由于MySQL编码原因会导致数据库出现乱码。
解决办法:
修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码。
具体操作:
1 进入MySQL控制台

进入mysql

mysql -uroot -p123

查看编码集 发现不是utf8

show variables like ‘character_set_%’;
在这里插入图片描述2 修改mysql配置文件

清空 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
3 重启MySQL服务
[root@Hadoop-NN-01 ~]# service mysqld restart
#查看MySQL字符集
show variables like ‘character_set_%’;
在这里插入图片描述MySQL数据库字符集编码修改完成!
6 问题2: 默认情况下 mysql服务端不允许客户端远程访问
问题: 使用客户端 远程 连接mysql报错?在这里插入图片描述原因: 因为 用户 没有 远程访问的权限
解决: 授权

给root授权:既可以本地访问, 也可以远程访问

grant all privileges on . to ‘root’@’%’ identified by ‘123’ with grant option;

刷新权限(可选)

flush privileges;
7 集群(三台)
7.1 新增linux系统
在这里插入图片描述第一步: 克隆虚拟机
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述第二步: 更改新增系统的mac地址
vim /etc/udev/rules.d/70-persistent-net.rules
在这里插入图片描述在这里插入图片描述第四步: 重启系统生效
reboot
7.2 三台机器 关闭防火墙
内网环境 安全性比较高, 防火墙开启会影响效率, 所以 关闭防火墙
三台机器执行以下命令(root用户来执行)

查看防火墙的状态

service iptables status

启动防火墙服务

service iptables start

重启 防火墙 服务

service iptables restart

停止 防火墙 服务

service iptables stop

彻底关闭防火墙

chkconfig iptables off
在这里插入图片描述
7.3 三台机器关闭selinux
vim /etc/selinux/config
在这里插入图片描述注意: 重启才会生效
7.4 三台机器更改主机名
vim /etc/sysconfig/network
在这里插入图片描述重启才会生效
7.5 三台机器 给ip地址起别名
7.5.1 给ip地址起别名
vim /etc/hosts
192.168.100.201 hadoop01
192.168.100.202 hadoop02
192.168.100.203 hadoop03
7.5.2 测试
ping 192.168.100.202
ping hadoop02
在这里插入图片描述7.6 scp 远程文件拷贝
7.6.1 是什么?
scp是 remote file copy program 的缩写, scp是远程文件拷贝命令。
7.6.2 从本地拷贝到远程机器上
在这里插入图片描述准备工作

创建目录

mkdir -p /export/aaa/bbb/ccc

创建文件

touch /export/aaa/01.txt /export/aaa/02.txt

显示

tree /export/aaa
1 文件
语法格式

拷贝文件

scp local_file remote_username@remote_ip:remote_folder
需求: 将本地 01.txt 文件 复制到 192.168.100.202 机器的 /export目录下
scp /export/aaa/01.txt root@192.168.100.202:/export
scp /export/aaa/02.txt root@hadoop02:/export
scp /export/aaa/02.txt hadoop02:/export
2 文件夹
语法格式

拷贝目录

scp -r local_folder remote_username@remote_ip:remote_folder
需求: 将本地 aaa 目录 复制到 192.168.100.202 机器的 /export 目录下
scp -r /export/aaa root@192.168.100.202:/export
scp -r /export/aaa root@hadoop02:/export
scp -r /export/aaa hadoop02:/export
7.6.3 将远程机器内容复制到本地机器上
在这里插入图片描述准备工作

创建目录

mkdir -p /export/a1/b1/c1

创建文件

touch /export/a1/111.txt
touch /export/a1/222.txt

显示内容

tree /export/a1
1 文件
语法格式
scp remote_username@remote_ip:remote_file local_folder

练习3: 将 hadoop02的 111.txt 文件 复制到 hadoop01的 export目录下
scp root@192.168.100.202:/export/a1/111.txt /export
scp root@hadoop02:/export/a1/222.txt /export
scp hadoop02:/export/a1/222.txt /export
2 目录
语法格式
scp -r remote_username@remote_ip:remote_folder local_folder
练习4: 将hadoop02的 /export/a1/ 目录 复制到 hadoop01 的 export目录下
scp -r root@192.168.100.202:/export/a1 /export
scp -r hadoop02:/export/a1 /export
7.7 ssh远程登录
在这里插入图片描述7.7.1 目标
专门用于 远程登录
7.7.2 路径
方式一: 使用 ssh 基于密码的远程登录(了解)
方式二: 使用 ssh + expect 实现 免密码登录(了解)
方式三: 使用 ssh 基于密匙 实现 免密码登录(掌握)
7.7.3 实现
方式一 使用 ssh 基于密码的远程登录在这里插入图片描述
在第三台机器上登录到第二台机器上
在这里插入图片描述细节: 首次远程登录会询问 yes/no , 以后可能就不会了
方式二: 使用 ssh 基于密匙 实现 免密码登录(掌握)
在这里插入图片描述第一步: ssh-keygen -t rsa 在hadoop1和hadoop2和hadoop3上面都要执行,产生公钥和私钥
第二步:ssh-copy-id hadoop01 将公钥拷贝到hadoop1上面去
第三步:
ssh-copy-id hadoop02
ssh-copy-id hadoop03
注意1: 第三步需要在/root/.ssh/目录下.
在这里插入图片描述在这里插入图片描述7.8.3 案例: 每隔1分钟将时间打印到 /export/文件中
方案一: 直接式
第一步: date >> /export/mydate1.txt 测试命令
第二步: 通过 crontab -e 进入 定时任务
第三步: 编辑定时任务命令
*/1 * * * * date >> /export/mydate1.txt
第四步: 检测是否成功
cd /export/ && tail -f mydate1.txt
方式二: 脚本式
第一步: 书写测试命令
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
第六步: 测试 观察结果
含义 范围
第一个 * 一小时当中的第几分钟 0~59
第二个 * 一天当中的第几小时 0~23
第三个 * 一个月当中的第几天 1~31
第四个 * 一年当中的第几月 1~12
第五个 一周当中的星期几 0~7(0和7都代表星期日)
tail -f /export/mydate2.txt
7.8.4 参数细节说明(学会查)
5个占位符的说明在这里插入图片描述在这里插入图片描述在这里插入图片描述7.9 三台机器时钟同步
7.9.1 同步互联网时间
e在这里插入图片描述在这里插入图片描述7.9.2 跟内网某台机器同步时间
为了安全, 大数据集群的节点不允许连接外网
以192.168.100.201 这台服务器的时间为准进行时钟同步
在这里插入图片描述在这里插入图片描述如果 没有安装,可以进行在线安装
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
在这里插入图片描述配置以下内容,保证BIOS与系统时间同步
vim /etc/sysconfig/ntpd
添加一行内容
SYNC_HWLOCK=yes
在这里插入图片描述
重启ntpd 服务
service ntpd restart
注意: 如果更改ntp时钟服务器的时间,也需要重启 ntpd 服务
第三步:另外两台机器与第一台机器时间同步
先手动同步时间
ntpdate 192.168.100.201
再使用 定时任务 同步时间
crontab -e
*/1 * * * * /usr/sbin/ntpdate 192.168.100.201
另外两台机器与192.168.52.201进行时钟同步
注意: 报错
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值