大数据学习笔记——Linux完整部署篇(实操部分)

时间:2022-06-01 16:35:57

Linux环境搭建完整操作流程(包含mysql的安装步骤)

从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言而喻,我将分成两个部分来做梳理,第一部分是实操部分,即整个从0搭建Linux的完整操作流程,第二部分是理论部分,将会梳理Linux操作系统的各种指令以及基本知识,好了,那么我们开始吧!

1. 安装准备

安装Linux虚拟机之前我们首先要准备两个东西:VMware以及Centos的镜像文件

安装VMware:只需在百度中搜索VMware workstation pro即可,下载后进行安装,提示需要密钥的话网上随便搜索一个即可

大数据学习笔记——Linux完整部署篇(实操部分)

Centos镜像文件:这是在后续Linux安装步骤中最为重要的一个文件,这里使用的版本是Centos-7并且是Minimal最小化的安装方式

大数据学习笔记——Linux完整部署篇(实操部分)

2. 正式安装

点击文件——新建虚拟机,在向导页面中选择自定义(高级),点击下一步

大数据学习笔记——Linux完整部署篇(实操部分)

在硬件兼容性中选择对应的版本,也就是说你下载的是什么版本的在这里就选什么版本就行,点击下一步

大数据学习笔记——Linux完整部署篇(实操部分)

选择"安装程序光盘映像文件(iso)",点击浏览选择之前准备好的CentOS-7-x86_64-Minimal-1611.iso文件,点击下一步

大数据学习笔记——Linux完整部署篇(实操部分)

首先在本地磁盘D盘下新建一个目录,myvirtual用来专门存放Linux虚拟机文件,虚拟机名称命名为CentOS-7-x86_64-Minimal-1611-s100,命名规则统一规范为s100,s101等等,然后点击下一步

大数据学习笔记——Linux完整部署篇(实操部分)

在下一步之前,由于需要用户设置处理器数量以及每个处理器的内核数量,首先我们要对自己的计算机的CPU的情况做一个大致的了解,右击此电脑(如果是Win10),选择管理,点击设备管理器,点击处理器,可以看到自己的计算机共有12个核

大数据学习笔记——Linux完整部署篇(实操部分)

在以下页面中,处理器数量选择1即可,而每个处理器的内核数量只要小于等于系统最大的内核数量即可,即小于等于12,这里选择的是8,点击下一步

大数据学习笔记——Linux完整部署篇(实操部分)

调整此虚拟机的内存,由于之后需要搭建集群环境,因此需要先简单地计算一下,假如计算机的内存为16g,最多搭建5台虚拟机,那么将此虚拟机的内存设置为2g是较为合适的,点击下一步

大数据学习笔记——Linux完整部署篇(实操部分)

选择使用网络地址转换(NAT),点击下一步

大数据学习笔记——Linux完整部署篇(实操部分)

接下去的三步只需选择默认的配置即可

大数据学习笔记——Linux完整部署篇(实操部分)

大数据学习笔记——Linux完整部署篇(实操部分)

大数据学习笔记——Linux完整部署篇(实操部分)

最大磁盘大小尽量选的大一点,哪怕选择的大小很大,实际上虚拟机还是会根据用户真实使用的量来分配空间,这里选择的是50g,同时还需要选择将虚拟磁盘存储为单个文件,点击下一步

大数据学习笔记——Linux完整部署篇(实操部分)

选择默认的设置即可,点击下一步

大数据学习笔记——Linux完整部署篇(实操部分)

虚拟机配置的各项准备工作已完成,点击完成正式进入到安装环节,点击完成

大数据学习笔记——Linux完整部署篇(实操部分)

点击鼠标左键进入安装页面,此时进入虚拟机环境,只能操作键盘,按方向键的上键,回车,然后第一个遇到的选择是语言,这里务必使用英语!点击Continue

另外,在Windows和虚拟机之间的鼠标进行切换使用的快捷键是ctrl + Alt

大数据学习笔记——Linux完整部署篇(实操部分)

紧接着出现了第二个设置页面,首先设置DATE & TIME

大数据学习笔记——Linux完整部署篇(实操部分)

Region选择Asia,City选择Shanghai,下方的时间设置成当前系统的时间即可,完成后点击Done

大数据学习笔记——Linux完整部署篇(实操部分)

设置INSTALLATION DESTINATION

大数据学习笔记——Linux完整部署篇(实操部分)

点击Local Standard Disks,然后再点击Done即可

大数据学习笔记——Linux完整部署篇(实操部分)

现在开始设置选项NETWORK & HOST NAME

大数据学习笔记——Linux完整部署篇(实操部分)

将Ethernet按钮选成ON,注意到DNS地址是192.168.153.2,然后点击DONE

大数据学习笔记——Linux完整部署篇(实操部分)

至此,基本设置已经基本完成,点击Begin Installation开始由系统自动进行安装

大数据学习笔记——Linux完整部署篇(实操部分)

在安装阶段需要用户设置root用户的密码,以及新建一个用户,并设置新建的这个用户的密码,这里将root用户的密码设置成123456,然后设置新用户名为centos,然后将密码也设置成123456

大数据学习笔记——Linux完整部署篇(实操部分)

大数据学习笔记——Linux完整部署篇(实操部分)

在这里,如果后续有需要将centos用户设置成能使用root权限的话,建议把Make this user administrator前面的勾给选上

大数据学习笔记——Linux完整部署篇(实操部分)

耐心等待几分钟后,安装完成,点击Finish Configuration结束配置

大数据学习笔记——Linux完整部署篇(实操部分)

安装完成,点击Reboot,重启虚拟机

大数据学习笔记——Linux完整部署篇(实操部分)

重启过后虚拟机已完成了所有的配置,可以通过centos账号进行登录了,账号输入centos,然后Password输入123456,在Linux中字符不会显示出来,但实际上已经输进去了,出现最后一行说明登录成功!

大数据学习笔记——Linux完整部署篇(实操部分)

查看visudo

在使用该指令前,首先说明一下vi的基础知识和基本用法,vi是一款非常常用的Linux自带的文本编辑器,除此之外,还有nano,vim等也很常用,vi的使用方式:进行vi的编辑页面之后,首先点击i或者insert进入到编辑模式,编辑完成后,首先点击esc退出,然后输入:wq表示保存退出,而输入:q!表示不保存强行退出

输入visudo指令,查看到一行指令,root ALL=(ALL) ALL,查看下方有没有centos ALL=(ALL) ALL这一条指令,如果没有的话需要加上,否则之后切换到centos用户后将无法使用sudo指令:

大数据学习笔记——Linux完整部署篇(实操部分)

安装nano文本编辑器

由于vi仍然不是很方便使用,因此需要下载另外一款文本编辑器进行之后涉及到的一切文本编辑操作,这里需要使用到yum下载器,这一块的理论知识将会在后一篇的理论中详细说明:

yum install -y nano

nano的常用快捷键说明:

ctrl + x:退出

ctrl + o:保存

ctrl + k:剪切一行文本

ctrl + v:下翻一页

ctrl + y:上翻一页

异常解决

有时,在安装时会报以下错误:解决方案是在开机时进入到Bios主板将intel虚拟化技术点成enabled即可

大数据学习笔记——Linux完整部署篇(实操部分)

3. 配置静态IP地址

如果采用默认的DHCP的配置方式,即由交换机随机对IP地址的主机地址进行分配,那么后续在搭建集群的时候就不能完全确定某台主机的IP地址了,因此需要使用静态IP地址配置,配置方法如下:

进入配置文件:sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33

修改如下:

BOOTPROTO="static"

ONBOOT=yes

IPADDR=192.168.153.100

PREFIX=24

GATEWAY=192.168.153.2

DNS=192.168.153.2

修改完成后,保存退出,然后输入命令service network restart重启网络服务,使用reboot重启虚拟机也可以

由于使用了静态IP地址配置,因此先ping以下外网,看是否能够ping通,ping www.baidu.com,结果发现ping不同,解决方案:

修改配置文件:nano /etc/resolv.conf,然后添加上一行指令:nameserver 192.168.153.2

再次ping www.baidu.com,成功ping通!

大数据学习笔记——Linux完整部署篇(实操部分)

设置基本的管理服务

systemctl start ntpd    //开启ntp服务
systemctl enable ntpd //设置默认状态为开启
systemctl status ntpd //查看ntp状态
systemctl start httpd //开启ntp服务
systemctl enable httpd //设置默认状态为开启
systemctl status httpd //查看httpd状态
//关闭防火墙
systemctl stop firewalld //关闭防火墙
systemctl status firewalld //检验防火墙状态
systemctl disable firewalld //将防火墙默认状态设置为关闭

4. 配置并使用远程连接软件

然而,使用VMware自带的界面操作起来是十分不方便的,因此需要使用远程连接软件进行连接,常用的有Secure Shell(就是后续会一直用到的ssh指令!),Xshell,PuTTy,MTPuTTy等等,这里使用的软件是MTPuTTy(即Multi-Tabbed PuTTy)

首先下载该软件,主界面一览:

大数据学习笔记——Linux完整部署篇(实操部分)

网上下载另一个软件putty.exe,点击Tools -> PuTTy location,选择之前下载的安装位置

大数据学习笔记——Linux完整部署篇(实操部分)

点击Server -> Add server,进行服务器设置,由于之前在做准备工作的时候设置的是s100,因此在这里也要进行相应的设置

大数据学习笔记——Linux完整部署篇(实操部分)

看到以下警告提示,直接忽略点击是即可

大数据学习笔记——Linux完整部署篇(实操部分)

连接成功!

大数据学习笔记——Linux完整部署篇(实操部分)

之后的各种设置均在MTPuTTy中进行

5. 建立主机名和IP地址的映射

输入指令:nano /etc/hosts进入hosts文件中去

127.0.0.1是本地自回环网络,不用管它,直接在下面输入IP地址和主机名的映射,最后ctrl + o,ctrl + x保存退出

大数据学习笔记——Linux完整部署篇(实操部分)

reboot重启虚拟机,即可看到更改完成

大数据学习笔记——Linux完整部署篇(实操部分)

由于之后需要使用IntelliJ IDEA在Window环境下进行大数据编程,因此可以提前将Windows端的hosts文件也配置好

进入目录: C:\Windows\System32\drivers\etc下的hosts文件,增加一行 192.168.153.100 s100

6. 设置管理服务

//注意,在使用以下命令前先确保使用yum对其进行安装
systemctl start ntpd //开启ntp时钟同步服务
systemctl enable ntpd //设置时钟服务默认为开启状态
systemctl status ntpd //查看ntp的状态
systemctl start httpd //开启http服务
systemctl enable httpd //设置http服务默认为开启状态
systemctl status httpd //查看httpd的状态 //关闭防火墙
systemctl stop firewalld //关闭防火墙
systemctl disable firewalld //默认关闭防火墙
systemctl status firewalld //查看防火墙的状态
//接着再关闭selinux
nano /etc/selinux/config
SELINUX=disabled //将enforcing改为disabled即可

7. 安装并进入mysql客户端

7.1 安装mysql

这里先介绍第一种安装方法:默认获取镜像文件

1、安装wget

sudo yum -y install wget

2、使用wget下载rpm包

sudo wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

3、安装rpm包

sudo yum -y localinstall mysql-community-release-el7-5.noarch.rpm

4、安装mysql

sudo yum -y install mysql mysql-server mysql-devel

由于这种方式使用centos默认的设置,虽然有centos的远程源的地址,但是有时访问国外网站时会非常慢,因此我们可以采用阿里的源,也就是说阿里的服务器里也有相关的软件包,配置完成后,安装软件的速度就会快上许多,具体操作步骤如下:

1. 准备工作:我们先准备好以下几个repo文件

Centos-7.repo

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
# [base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

mysql-community.repo

[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

mysql-community-source.repo

[mysql-connectors-community-source]
name=MySQL Connectors Community - Source
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-community-source]
name=MySQL Tools Community - Source
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql55-community-source]
name=MySQL 5.5 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql56-community-source]
name=MySQL 5.6 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql57-community-dmr-source]
name=MySQL 5.7 Community Server Development Milestone Release - Source

2. 将yum中默认的源全部删除

rm -rf /etc/yum.repos.d/*

3. 使用WinScp或是Xftp等传输软件将上述这三个repo文件放在/etc/yum.repos.d目录下

4. 对mysql-community.repo这个文件进行修改,修改如下(以mysql5.7版本为例):

[mysql57-community-dmr]
name=MySQL 5.7 Community Server Development Milestone Release
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/ #将原
来的/el/6/ 改为/el/7/
enabled=1
gpgcheck=0 #将原来的1改为0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

5. 清除yum原来的配置并重新从所有的源下载基本信息

yum clean all

yum makecache

6. 安装mysql

yum install -y mysql-community-server

7.2 进入mysql客户端

启动mysql服务: service mysqld start

使用命令进行mysql:mysql -uroot -p,回车

报以下错误:

大数据学习笔记——Linux完整部署篇(实操部分)

这是因为某些mysql的版本有默认的密码,因此需要修改配置文件,使得用户首次登录mysql时可以不必输入密码,步骤如下:

1. 停止mysql服务

service mysqld stop

2. 修改配置文件

nano /etc/my.cnf

添加以下代码:

skip-grant-tables #免密登录

3. 重新启动mysql

service mysqld restart

4. 免密登录到mysql客户端

mysql -uroot -p,回车

5. 登录成功,出现以下界面,登录成功!

大数据学习笔记——Linux完整部署篇(实操部分)

6. 修改密码

mysql> UPDATE mysql.user SET authentication_string=PASSWORD("root") WHERE user='root';

mysql> flush privileges;

7. 重新回到my.cnf文件,将之前的设置skip-grant-tables去掉

8. 重新启动mysql并登录:mysql -uroot -proot,登录成功,搞定!!!

大数据学习笔记——Linux完整部署篇(实操部分)