04_大数据集群环境搭建
4.1 分布式与集群概念初识(理解)
-
分布式、集群
分布式:多台不同的服务器中部署不同的服务模块,通过远程调用协同工作,对外提供服务。
集群:多台不同的服务器中部署相同应用或服务模块,构成一个集群,通过负载均衡设备对外提供服务。
-
共同点:多台机器。 相对的概念叫做单机系统。
-
注意:在口语中经常混淆分布式和集群的概念的。都是汲取两者的共同点。
比如:搭建一个分布式hadoop集群。
背后意思:不要搭建单机版本的 搭建多台机器版本的。
集群架构
-
主从架构
-
主角色:master leader 大哥
从角色:slave follower 小弟主从角色各司其职,需要共同配合对外提供服务。
常见的是一主多从 也就是一个大哥带着一群小弟共同干活。
主备架构
主角色:active
备角色:standby
主备架构主要是解决单点故障问题的 保证业务的持续可用。
常见的是一主一备 也可以一主多备。
4.2 虚拟机克隆、主机名和IP修改
前提:是虚拟机处于关闭状态。
完整克隆意味着两台机器一模一样。在局域网网络中,有些属性是决定不能一样的。
比如:IP、MAC、主机名hostname
关机状态下 在虚拟机上点击右键 选择设置
-
命令修改 临时生效 重启无效
-
修改底层配置文件 永久生效 重启才能生效。
4.3 hosts映射修改
背景
在网络中,很少直接通过IP访问机器,原因难记。
通常使用主机名或者域名访问。
此时就会涉及到主机名域名和IP之间的解析
域名 -> hosts -> dns
实现
-
本地hosts文件 进行本地查找解析
-
寻找DNS服务器 域名解析服务
配置本地hosts文件实现
-
linux上
每一台都配置成以下这样
4.4 防火墙关闭
4.5 集群时间同步
-
背景:分布式软件主从角色之间通常基于心跳时间差来判断角色工作是否正常。
-
国家授时中心 北京时间
-
授时服务器 国家级 企业级 院校级
-
-
linux上如何同步时间
-
ntp 网络时间协议 实现基于网络授时同步时间。
-
date
-
ntpdate
ntpd软件
VMware软件可以提高让虚拟机的时间和windows笔记本保持一致。
4.6 ssh免密登录
#在进行集群操作的时候 需要从一台机器ssh登录到其他机器进行操作 默认情况下需要密码
#至少打通node1---->node1 node2 node3 这三个免密登录
#至于所有机器之间要不要互相免密登录 看你心情
4.7 scp远程拷贝
-
背景:linux上copy文件 cp
-
命令:scp 基于ssh协议跨网络cp动作
-
注意事项,没有配置ssh免密登录也可以进行scp远程复制 只不过在复制的时候需要输入密码。
05_Linux 软件安装
5.1 rpm 软件管理器
rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项软件包的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让Linux易于安装升级,间接提升了 Linux的适用度。
命令格式: rpm -参数 软件包名
参数 | 英文 | 含义 |
---|---|---|
-q | query | 查询一个软件包是否被安装 |
-a | all | 查询所有软件包 |
-i | info | 显示软件包的概要信息 |
-l | list | 显示软件包中的文件列表 |
f | file | 文件,显示文件对应rpm包(查找文件所属的rpm包) |
5.2 rpm 卸载软件
rpm卸载命令:
命令 | 英文 | 含义 |
---|---|---|
rpm -e 软件包名称 | erase清除 | 卸载rpm软件包 |
rpm -e --nodeps 软件包名称 | don’t check dependencies | 卸载前跳过依赖检查 |
rpm -e 软件包名 --nodeps
rpm -ivh rpm包名称 | 安装rpm包 |
参数 | 英文 | 含义 |
---|---|---|
-i | install | 安装 |
-v | verbose | 打印提示信息 |
-h | hase | 显示安装进度 |
rpm -ivh rpm软件包名称
5.4 MySQL的rpm安装
卸载Centos7自带的mariadb
安装mysql
mysql初始化设置
修改root密码 授权远程访问 设置开机自启动
Centos7 干净卸载mysql 5.7
5.5 yum包管理器
介绍
-
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
特点
-
自动下载rpm包 进行安装 前提是联网
-
自动解决包之间的依赖关系
原理
-
yum之所以强大原因在于有yum源。里面有很多rpm包和包之间的依赖。 yum源分为网络yum源和本地yum源
-
其中网络yum源在centos默认集成了镜像地址 只要联网就可以自动寻找到可用的yum源。 前提联网
-
也可以自己搭建本地yum源。实现从本地下载安装。
5.6 JDK安装与环境变量配置
-
简单:解压即可使用 但是通常配置环境变量,以便于在各个路径下之间使用java。
-
要求:JDK1.8版本。
将node1的JDK安装包scp给其他机器
06_了解shell编程
6.1 shell编程入门
-
shell介绍
-
指的是一种程序,往往是使用C语言开发,功能是访问操作系统内核获取操作系统信息。
-
指的是shell脚本语言,使用什么样的命令语法格式去控制shell程序访问内核。
-
通常情况下,所说shell编程指的shell脚本编程,学习shell语法规则。
-
只要能进行文本编辑的地方都可以写 linux上常使用vim编辑器开发
不需要编译
认shell解释器 bash shell = shell
因为很多linux发行版都以bash作为默认的解释器 所以说市面上大多数shell编程都是基于bash开展的
bash shell免费的。
shell的快速入门案例
-
shell脚本文件 后缀名没有要求 通常以.sh结尾 见名知意
探讨:后缀名sh 解释器 执行权限是必须的吗? 不是必须的
#文件不是sh结尾 没有授权 没有指定bash解释器路径 但是却可以执行
#此时这个文件是作为参数传递给sh来执行的 此时解释器是sh 只要保证文件中语法正确就可以执行
扩展:shell 命令、shell 脚本
-
都是属于shell的东西
-
shell命令倾向于交互式使用,适合逻辑简单场景
-
shell脚本适合复杂逻辑 理解结合函数、条件判断、流程控制 写出更加丰富的程序。
-
shell命令和shell脚本之间可以互相换行。
6.2 了解shell编程:变量、字符串、反引号
shell字符串使用
-
定义字符串
-
可以使用单引号 可以使用双引号 可以不使用引号
-
推荐使用双引号 实现变量的提取
-
反引号
-
`
-
英文状态下输入ESC下面
-
功能:表示执行反引号的命令
已完成