大数据学习笔记——Linux完整部署篇(实操部分)
Linux环境搭建完整操作流程(包含mysql的安装步骤)
从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言而喻,我将分成两个部分来做梳理,第一部分是实操部分,即整个从0搭建Linux的完整操作流程,第二部分是理论部分,将会梳理Linux操作系统的各种指令以及基本知识,好了,那么我们开始吧!
1. 安装准备
安装Linux虚拟机之前我们首先要准备两个东西:VMware以及Centos的镜像文件
安装VMware:只需在百度中搜索VMware workstation pro即可,下载后进行安装,提示需要密钥的话网上随便搜索一个即可
Centos镜像文件:这是在后续Linux安装步骤中最为重要的一个文件,这里使用的版本是Centos-7并且是Minimal最小化的安装方式
2. 正式安装
点击文件——新建虚拟机,在向导页面中选择自定义(高级),点击下一步
在硬件兼容性中选择对应的版本,也就是说你下载的是什么版本的在这里就选什么版本就行,点击下一步
选择"安装程序光盘映像文件(iso)",点击浏览选择之前准备好的CentOS-7-x86_64-Minimal-1611.iso文件,点击下一步
首先在本地磁盘D盘下新建一个目录,myvirtual用来专门存放Linux虚拟机文件,虚拟机名称命名为CentOS-7-x86_64-Minimal-1611-s100,命名规则统一规范为s100,s101等等,然后点击下一步
在下一步之前,由于需要用户设置处理器数量以及每个处理器的内核数量,首先我们要对自己的计算机的CPU的情况做一个大致的了解,右击此电脑(如果是Win10),选择管理,点击设备管理器,点击处理器,可以看到自己的计算机共有12个核
在以下页面中,处理器数量选择1即可,而每个处理器的内核数量只要小于等于系统最大的内核数量即可,即小于等于12,这里选择的是8,点击下一步
调整此虚拟机的内存,由于之后需要搭建集群环境,因此需要先简单地计算一下,假如计算机的内存为16g,最多搭建5台虚拟机,那么将此虚拟机的内存设置为2g是较为合适的,点击下一步
选择使用网络地址转换(NAT),点击下一步
接下去的三步只需选择默认的配置即可
最大磁盘大小尽量选的大一点,哪怕选择的大小很大,实际上虚拟机还是会根据用户真实使用的量来分配空间,这里选择的是50g,同时还需要选择将虚拟磁盘存储为单个文件,点击下一步
选择默认的设置即可,点击下一步
虚拟机配置的各项准备工作已完成,点击完成正式进入到安装环节,点击完成
点击鼠标左键进入安装页面,此时进入虚拟机环境,只能操作键盘,按方向键的上键,回车,然后第一个遇到的选择是语言,这里务必使用英语!点击Continue
另外,在Windows和虚拟机之间的鼠标进行切换使用的快捷键是ctrl + Alt
紧接着出现了第二个设置页面,首先设置DATE & TIME
Region选择Asia,City选择Shanghai,下方的时间设置成当前系统的时间即可,完成后点击Done
设置INSTALLATION DESTINATION
点击Local Standard Disks,然后再点击Done即可
现在开始设置选项NETWORK & HOST NAME
将Ethernet按钮选成ON,注意到DNS地址是192.168.153.2,然后点击DONE
至此,基本设置已经基本完成,点击Begin Installation开始由系统自动进行安装
在安装阶段需要用户设置root用户的密码,以及新建一个用户,并设置新建的这个用户的密码,这里将root用户的密码设置成123456,然后设置新用户名为centos,然后将密码也设置成123456
在这里,如果后续有需要将centos用户设置成能使用root权限的话,建议把Make this user administrator前面的勾给选上
耐心等待几分钟后,安装完成,点击Finish Configuration结束配置
安装完成,点击Reboot,重启虚拟机
重启过后虚拟机已完成了所有的配置,可以通过centos账号进行登录了,账号输入centos,然后Password输入123456,在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指令:
安装nano文本编辑器
由于vi仍然不是很方便使用,因此需要下载另外一款文本编辑器进行之后涉及到的一切文本编辑操作,这里需要使用到yum下载器,这一块的理论知识将会在后一篇的理论中详细说明:
yum install -y nano
nano的常用快捷键说明:
ctrl + x:退出
ctrl + o:保存
ctrl + k:剪切一行文本
ctrl + v:下翻一页
ctrl + y:上翻一页
异常解决
有时,在安装时会报以下错误:解决方案是在开机时进入到Bios主板将intel虚拟化技术点成enabled即可
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通!
设置基本的管理服务
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)
首先下载该软件,主界面一览:
网上下载另一个软件putty.exe,点击Tools -> PuTTy location,选择之前下载的安装位置
点击Server -> Add server,进行服务器设置,由于之前在做准备工作的时候设置的是s100,因此在这里也要进行相应的设置
看到以下警告提示,直接忽略点击是即可
连接成功!
之后的各种设置均在MTPuTTy中进行
5. 建立主机名和IP地址的映射
输入指令:nano /etc/hosts进入hosts文件中去
127.0.0.1是本地自回环网络,不用管它,直接在下面输入IP地址和主机名的映射,最后ctrl + o,ctrl + x保存退出
reboot重启虚拟机,即可看到更改完成
由于之后需要使用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,回车
报以下错误:
这是因为某些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. 登录成功,出现以下界面,登录成功!
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完整部署篇(实操部分)的更多相关文章
- 大数据学习笔记——Sqoop完整部署流程
Sqoop详细部署教程 Sqoop是一个将hadoop与关系型数据库之间进行数据传输,批量数据导入导出的工具,注意,导入是指将数据从RDBMS导入到hadoop而导出则是指将数据从hadoop导出到R ...
- 大数据学习笔记——Hive完整部署流程
Hive详细部署教程 此篇博客承接上篇Hadoop和Zookeeper的部署教程,将会详细地对HIve的部署做一个整理,Hive相当于是封装在HDFS和Mapreduce上的一套sql引擎,只需要安装 ...
- 大数据学习笔记——Linux基本知识及指令(理论部分)
Linux学习笔记整理 上一篇博客中,我们详细地整理了如何从0部署一套Linux操作系统,那么这一篇就承接上篇文章,我们仔细地把Linux的一些基础知识以及常用指令(包括一小部分高级命令)做一个梳理, ...
- 大数据学习之Linux进阶02
大数据学习之Linux进阶 1-> 配置IP 1)修改配置文件 vi /sysconfig/network-scripts/ifcfg-eno16777736 2)注释掉dhcp #BOOTPR ...
- 大数据学习之Linux基础01
大数据学习之Linux基础 01:Linux简介 linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹 在1991年10月5日首次发布.,在加上用户空间的应用程序之后 ...
- 大数据学习笔记——Java篇之集合框架(ArrayList)
Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3 ...
- 大数据学习笔记——Hadoop编程实战之HDFS
HDFS基本API的应用(包含IDEA的基本设置) 在上一篇博客中,本人详细地整理了如何从0搭建一个HA模式下的分布式Hadoop平台,那么,在上一篇的基础上,我们终于可以进行编程实操了,同样,在编程 ...
- 大数据学习之 LINUX
##大数据学习 古斌6.6 01. linux系统的搭建: 选用 Contos 6.5 x64位系统 (CentOS-6.5-x86_64-minimal.iso) 我选择的为迷你版 模板机: bla ...
- 大数据学习笔记——Hadoop高可用完全分布式模式完整部署教程(包含zookeeper)
高可用模式下的Hadoop集群搭建 本篇博客将会在之前写过的Linux的完整部署的基础上进行,暂时不会涉及到伪分布式或者完全分布式模式搭建,由于HA模式涉及到的配置文件较多,维护起来也较为复杂,相信学 ...
随机推荐
- hdu 5901 Count primes (meisell-Lehmer)
Count primes Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tot ...
- ubuntu触摸板双指滑动,页面滚动方向
setting——mouse & Touchpad——Natural scrolling 跟我的另一台本子一样了-
- vue的一些小记录
1.在一个标签中,不推荐v-for 与 v-if 同时用 //当 v-if 与 v-for,v-for 具有比 v-if 更高的优先级. //当它们处于同一节点(同一标签 一起使用时),v-for 的 ...
- ubuntu server 1604 配置网络信息
对于新安装的linux 服务器(ubuntu server 1604) 一,配置网络 连接网线与路由器 查看系统的网卡信息 ifconfig -a //列出所有的网卡信息,不管启用还是没有启用的 ...
- Ubuntu网络network eth0配置 | ubuntu network configuration
本文首发于个人博客https://kezunlin.me/post/5076bc45/,欢迎阅读! ubuntu network configuration Guide network proxy S ...
- Java中的工具类究竟如何命名?
先来几个例子 JDK自带工具类 Arrays.asList(); Objects.equals(); Collections.sort(); Spring框架工具类 StringUtils.isEmp ...
- 使用 Topshelf 组件一步一步创建 Windows 服务 (2) 使用Quartz.net 调度
上一篇说了如何使用 Topshelf 组件快速创建Windows服务,接下来介绍如何使用 Quartz.net 关于Quartz.net的好处,网上搜索都是一大把一大把的,我就不再多介绍. 先介绍需要 ...
- Oracle 分区表管理之组合分区(分区索引失效与性能比较)
整体结构如下: Oracle 分区表管理之组合分区(分区索引失效与性能比较) 虽然老早就使用了分区表,终于有时间写有关分区表的内容:不是所有的场景数据量变大需要用到分区表,一般单表数据超过2g可以考 ...
- vue e.path 移动端兼容
作用 e.path 用来获取点击元素及以上所有父元素的一个数组 问题 当在移动端会有获取不到e.path的问题 不兼容 解决 let path = event.path || (event.compo ...
- 2019牛客暑期多校训练营(第九场) E-All men are brothers(并查集+组合数学)
>传送门< 题意:最初有 n个人且互不认识,接下来 m行,每行有 x,y表示x和y交朋友,朋友关系满足自反性和传递性,每次输出当前选取4个人且互不认识的方案数. 思路:比赛的时候知道是用并 ...