Hadoop一般都是搭建在Linux操作之上,故在搭建Hadoop实验环境之前,首先须要创建Linux系统环境。因为我们只是搭建Hadoop实验环境linux操作系统结构,而不是生产环境,为此,为简单起见,就采用虚拟机VMware+Linux操作系统RedHat(小红帽)。本文先介绍Linux操作系统的安装过程,以及Linux操作系统的一些相关基础知识,后续文章再接着介绍Hadoop实验环境的搭建及Hadoop等一系列的知识,敬请期盼。
1、实验介质打算
下边列举的软件包是本文须要进行安装使用的,其他须要安装的软件包会在后续的文章中列下来。在这儿要说明下,这种软件版本并不是一成不变的,可以按照自己的习惯或偏好,选择安装其他的软件包进行代替。但要注意的是,选择安装的软件包一定要符合自己笔记本操作系统的实际情况,防止出现何必要的麻烦。
注意:版本不能太低,否则可能不支持安装的Linux操作系统;
注意:可以按照自己的情况,选择安装不同的Linux操作系统;
注意:因为Hadoop是使用Java编撰的,必须安装JavaJDK能够运行;
注意:该工具是为了便捷远程登陆Linux系统,可以同时打开多个窗口;
注意:该工具是为了便捷Windows系统和Linux系统之间上传/下载文件;
注意:该工具能在Linux系统行中以树状形式显示目录结构;
2、Linux操作的安装
VMWare软件的安装过程实在过分简单,在此就不做介绍了。下边直接介绍虚拟机的创建及Linux操作系统的安装。
1)文件菜单里点击新建虚拟机;2)选择自定义(中级),点击下一步;
3)使用默认设置,点击下一步;4)选择稍后安装操作系统,点击下一步;
5)选择顾客机操作系统,点击下一步;注意:此处一定要勾选Linux(L),而且版本要选择RedHatEnterpriseLinux764位,按照自己的实际情况进行选择,不能选错;
6)设置虚拟机名称和位置,点击下一步;注意:后续总共须要创建5台虚拟机,虚拟机命名最好容易记忆,且编号连续(比如hadoop221~hadoop225),虚拟机保存位置最好是统一放在同一个目录下;而且该位置路径不能包含汉字及空格,否则虚拟机运行可能会出现问题。
7)使用默认设置,点击下一步;8)使用默认设置,点击下一步,
注意:此虚拟机的显存使用默认值就够用;
9)设置网路类型,选择使用仅主机模式网路,点击下一步;注意:为了避免后续出现网路上的问题,此处一定设置为使用仅主机模式网路,这样虚拟机启动后会手动使用主机网路进行联网,简单易行;
10)使用默认选项,点击下一步;11)使用默认选项,点击下一步;
12)选择创建新虚拟c盘,点击下一步;
13)设置最大c盘大小(GB),可以尽量设置得大一些,点击下一步;注意:不是设置为多大容量,创建虚拟机时就立即为其分配该容量的空间,是按实际须要进行分配,并以该值为上限;
14)使用默认设置,点击下一步;15)点击完成,终结虚拟机的安装;
16)点击hadoop221linux操作系统结构,再点击编辑虚拟机设置;
17)点击CD/DVD(SATA),选择使用ISO映像文件,并点击浏览找到对应的RedHat系统映像文件,如:rhel-server-7.4-x86_64-dvd.iso,点击确定;
18)点击开启此虚拟机,启动Linux系统的安装过程;19)选择第一个选项,并点击回车键;
20)使用默认选项,点击Continue;
21)点击DATE&TIME,选择设置时区,设置完成后点击Done,注意:中国时区只有广州一个选项;
22)回到如右图界面,配置安装选项,结束后点击BeginInstallation;注意:步入SOFTWARESELECTION选项后须要先勾选上DevelopmentTools,由于这样安装时会手动安装gcc编译器,后续安装的Redis是使用c语言编撰,须要使用到gcc编译器,之后按照自己的情况决定是否勾选上”ServerwithGUI”安装图形界面的Linux系统,但毕竟用不到;步入INSTALLATIONDESTINATION选项中,选择以前创建好的硬碟;为了避免出现其他异常情况,须要禁用KUDUMP(除去勾选Enablekdump)和关掉SECURITYPOLICY安全策略(关掉Applysecuritypolicy开关按键);
23)步入NETWORK&HOSTNAME页面配置网路和主机名,配置结束后点击Done返回到该界面,再点击BeginInstallation执行安装过程;注意:首先须要将Ethernet(ens33)网卡开关打开,之后在Hostname中输入对应的主机名,如hadoop221如何安装linux,并点击Apply使用;点击Configure步入配置IP地址,在General下勾选上Automaticallyconnecttothisnetworkwhenitisavailable,在IPv4Settings下点击Add配置IP地址,设置该IP地址之前,到Windows行下查看VMnet1的IP地址,如:192.168.12.1,这儿配置的IP地址须要跟VMnet1在同一个网关,否则Windows系统未能和Linux系统进行通讯;配置IP为192.168.12.221,子网网段为255.255.255.0;同时在Method选项中选择Manual;
24)点击“ROOTPASSWORD”嵌入式linux 培训,设置root用户的密码,注意:后续都使用root用户,密码就简单设置为root;
25)点击Reboot,重启系统,输入用户名:root,输入密码:root,完成安装向导;
之后,根据上述安装方法,再创建另外四台虚拟机,并安装好Linux操作系统(注意:虚拟机命名为hadoop222~hadoop225,IP地址配置为192.168.12.222~192.168.12.225,其他配置均一致)。
3、Linux操作系统基础
Linux是一个自由、免费且源码开放的操作系统,它是开源软件中最知名的事例,其主要目的是为了完善不受任何商品化软件版权掣肘的,全世界都能使用的类Unix兼容产品。Linux最初是由德国慕尼黑学院中学生LinusTorvalds设计Linux系统核心,后来经过诸多自由软件爱好者的共同努力,逐步发展壮大,在不到两年的时间里就发展成为了一个功能健全、稳定可靠的操作系统。总体来说,Linux操作系统具有如下的特性:开放性、多用户、多任务、丰富的网路功能、可靠的系统安全、良好的可移植性、良好的用户界面(包括界面和图形界面)、出色的速率/性能以及标准兼容性。
A、Linux操作系统的体系结构
Linux操作系统通常有四个主要部份:内核、、文件系统和应用程序。内核、shell和文件系统一起构成了基本的操作系统结构,它们促使用户可以运行程序、管理文件并使用系统。内核是操作系统的核心,具有好多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网路系统,决定着系统的性能和稳定性;shell是系统的用户界面,提供了用户与内核进行交互操作的一种插口,它接收用户输入的命令并把它送入内核去执行,是一种命令类库;文件系统是文件储存在c盘等储存设备上的组织方式,Linux系统能支持多种目前流行的文件系统,如ETX2、ETX3、FAT、FAT32、VFAT以及ISO9660等。Linux操作系统的部份层次结构如右图所示:
B、Linux操作系统的目录结构
文件结构是文件储存在c盘等储存设备上的组织方式,主要彰显为对文件和目录的组织。目录提供了管理文件的一个便捷有效的途径,Linux使用标准的目录结构,在安装的时侯,就早已为用户创建了文件系统和完整而固定的目录组织方式,并指定了各个目录的作用和其中的文件类型。
Linux操作系统采用的是树型购,最下层是根目录,其它的所有目录都是从根目录出发而生成的。其目录结构如右图所示:
C、目录/文件操作命令介绍1)ls显示文件和目录列表
ls-l——列出文件的详尽信息,等同于ll命令;
ls-a——列出当前目录下所有文件,包含隐藏文件和隐藏目录,带.的就是隐藏的,如隐藏文件:/root/.bash_profile,该文件用于设置root用户下的环境变量;隐藏目录:/root/.ssh,该目录用于保存root用户的私钥和公钥,可用于免密码登入(hadoop、spark须要配置免密码登入)。
类比HDFS上的查看命令:hdfsdfs-ls/
2)mkdir创建目录
mkdir–p——父目录不存在的情况下,先创建父目录,再生成该目录
注意:为了后续文章描述的便捷,在此处作出如下约定,
mkdir/root/training——创建安装目录,专门用于安装软件的目标目录;
mkdir/root/tools——软件介质目录,专门用于储存须要安装的软件介质
类比HDFS上的创建目录命令:hdfsdfs-mkdir/data
3)cd切换目录
使用方式:cd路径如:cd~/root/tools
注意:~代表当前用户(即root用户)的家目录,等同于/root
.代表当前目录;..代表上级目录
4)touch生成一个空文件
echo生成一个带内容的文件,使用方式为:echo字符内容>文件名
如:echohelloworld>a.txt
touch命令更常用的形式是用它查看环境变量的内容,如:echo$JAVA_HOME
5)cat、tac显示文本文件内容
cat是从第一行开始显示;
tac是从最后一行开始显示;
more命令:分页显示文件内容,如:moredata.txt
类比HDFS上查看文件内容的命令:hdfsdfs-cat/data/data.txt
6)cp复制文件或目录
基本拷贝:cpdata.txta.txt
scp是在网路上进行拷贝的命令(安装Hadoop、Spark、Storm全分布环境的时侯须要用到)
如:scp/root/training/hadoop2.7.3root@hadoop222:/root/training
类比HDFS上拷贝文件的命令:hdfsdfs-cp/data/data.txt/data/bbb.txt
7)rm删掉文件
rm-r——同时删掉该目录下的所有文件
rm-f——强制删掉文件或目录
如:rm-rfa.txt;rm–rf/root/data
类比HDFS上删掉文件/目录的命令:hdfsdfs-rmr/data
8)tar命令:打包压缩命令
Linux上常用软件安装介质的后缀为.tar.gz格式,如:hadoop-2.7.3.tar.gz,
jdk-8u144-linux-x64.tar.gz
使用举例:tar-zxvfhadoop-2.7.3.tar.gz–C/root/training
-x:解压;-c:构建压缩文档;-t:查看内容;
-u:更新源压缩包中的文件;-r:向压缩归档文件末尾追加文件。
注意:这五个是独立的命令参数,压缩/解压都要用到其中一个,可以和别的命令连用但只能用其中的一个。
-v:显示所有过程;-z:有gzip属性的,即gz;
-f:使用文件名子,是最后一个参数,前面只能接文件名;
-C:dir参数,将tar的工作目录进行切换,也就是将文件解压到指定目录。
9)kill命令
kill命令最常用的参数为-9,用于杀害指定的进程,如:kill-9PID
另外一个参数:kill-3PID,对于Java程序来说,可以复印出其ThreadDump信息(剖析死锁、性能困局特别好使)
10)find在文件系统中查找指定的文件
该命令前面的参数为-name文件名
如:find.-name.txt,.表示当前目录和子目录,为键值
11)man命令帮助信息查询
复印出相应命令的使用帮助信息
如:manls,mantouch
12)Linux通道
简单地说,一个通道接受一个工具软件的输出,之后把那种输出输入到其他工具软件。使用Unix/Linux的词汇,这个通道接受一个过程的标准输出,并把这个标准的输出作为另一个过程的标准输入。假如没有重新定向这个输出,这个输出就在屏幕上显示下来。使用一个通道,可以重新定向这个输出,这样它就弄成了另一个工具软件的标准输入。
简单概括,该命令的使用格式为:命令1|命令2,把命令1的输出作为命令2的输入
如:catdata.txt|more
grepbest/home/*|more
ps-ef——查看所有的进程
ps-ef|grepjava——把所有的进程进行过滤,只查看java的进程
13)RPM软件包管理
RPM是RedHatPackageManager(RedHat软件包管理工具)的简写,这一文件格式名称上似乎打上了RedHat的标志,而且其原始设计理念是开放式的,如今包括OpenLinux、SUSE以及TurboLinux等Linux的短发版本都有采用,可以算是公认的行业标准了。
RPM文件在Linux系统中的安装最为简便,作为一个软件包管理工具,RPM管理着系统已安装的所有RPM程序组件的资料,也可以使用RPM来卸载相关的应用程序。
-i:安装应用程序
-e:卸载应用程序
-vh:显示安装进度
-U:升级软件包
-qa:显示所有已安装软件包
-qa|grep:检查是否已安装某软件包
如:rpm–qa|greptree,检查是否已安装tree命令工具
14)其他常用命令
如:mv/root/data/a.txt/root/temp/
如:grepbest/root/book.txt
如果当前所在目录为/root/local,而须要时常访问/usr/local/linux/work,这么就可以在/root/local下构建一个链接文件linkwork,构建三者之间的链接
如:ln–s/usr/local/linux/work/root/local/linkwork
-r:死机后重启;-h:死机后不重新启动;-now:立刻死机
D、vi编辑器介绍
vi编辑器的命令格式为:vi文件名,假如文件存在,就打开该文件;假如文件不存在,就创建该文件并打开。
vi编辑器有三种运行模式,如下:
w——保存;
q——退出;
wq——保存退出;
!——在命令后加上!,表示强制执行;
setnumber——打开行号;
setnonumber——关闭行号;
setwrap——换行显示;
setnowrap——不换行显示
E.Linux系统管理
如:stat/root/tools/hadoop-2.7.3.tar.gz
如:top–d2,每两秒钟更新一次top,观察整体信息
如:ps–ef使用标准格式显示每位进程的状态信息
如:ping192.168.12.222
F、用户和组帐户管理
Linux操作系统是一个多用户操作系统,它允许多用户同时登陆到系统上并使用资源,系统会依照帐户来分辨每位用户的文件、进程、任务和工作环境,致使每位用户工作都不受干扰。
用户帐户
私有组:当创建一个用户时没有指定属于那个组,Linux都会完善一个与用户同名的私有组,此私有组只富含该用户
标准组:当创建一个用户时可以选取一个标准组,假如一个用户同时属于多个组时,登陆后所属的组为主组,其他的为附加组
每行定义一个用户帐户,此文件对所有用户可读,每行帐户包含如下信息:
用户名:口令:用户标示号:组标示号:注释:寄主目录:命令类库
如:root:x:0:0:RedHatLinux:/root:/bin/bash
口令是x,说明用户的口令是被/etc/shadow文件保护的
用户标示号,系统内惟一,root用户的UID为0,普通用户从500开始,1-499是系统的标准帐户
寄主目录,用户登入系统后所步入的目录
命令类库,指定该用户使用的shell,默认的是/bin/bash
为了降低系统的安全性,用户口令一般用shadowpasswords进行保护,只有root可读,每行包含如下信息:
用户名:口令:最后一次更改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
如:root:11K4gXdkjf$TIKrvWuldq6oQ4HEoFIGQ/:14831:0:99999:7:::
最后一次更改时间,从1970-1-1起,到用户最后一次更改口令的天数
最小时间间隔,从1970-1-1起,到用户可以更改口令的天数
最大时间间隔,从1970-1-1起,必须修改的口令天数
警告时间,在口令过期之前几天通知
不活动时间,在用户口令过期后到禁用帐户的天数
将用户进行分组时,Linux对用户进行管理及控制访问权限的一种手段,一个组中可以有多个用户,一个用户可以同时属于多个组,该文件对所有用户可读。
格式为:组名:组口令:组标示号:组内用户列表
如:root:x:0:rootdaemon:x:1:bin:x:2:sys:x:3:
该文件用于定义用户组口令、组管理员等信息,是/etc/group的加密资讯文件,例如用户组(Group)管理密码就是储存在这个文件中,只有root用户可读。
格式为:组名:组口令:组管理者:组内用户列表
如:root:::rootbin:::root,bin,daemon
su用户名——切换用户帐户,如suroot,su-root
id用户名——显示用户的UID,GID信息
whoami——显示当前用户名称
groups——显示用户所属组
passwd用户帐户名——设置用户口令
passwd–d用户帐户名——删除帐户口令
useradd用户名——新增用户
useradd–m用户名——参数-m用于设定系统添加帐户时手动构建用户根目录
G、Linux权限管理
目录和文件可拥有:读r、写w以及执行x的权限,可使用ls–l命令查看当前目录下文件及目录的权限信息。
r:读取文件内容(可用于cat、more、head、tail等命令)
w:编辑、新增、修改文件内容(可用于vi、echo等命令),但不包含删掉文件
x:可执行
对于文件来说,最高权限是执行权限(x),所以文件要尽量少赋于执行权限。
r:可以查看目录下所有的文件(可用于ls命令)
w:具有更改目录结构的权限,如新建文件和目录,删掉此目录下文件和目录,重命名此目录下文件和目录,剪切此目录下文件或目录,(可用于touch、rm、mv、cp等命令)
x:可以步入目录(用于cd命令)
对目录来说,最高权限是写权限(w),所以目录要尽量少赋于写权限。
举例:
在上图中可以见到,每位文件最上面有一组字符,如drwxr-xr-x,总共有十位,第一位是标示位,用于标示是目录(d)还是文件(-);前面九位每三位为一组,前三位代表当前用户的权限;中间三位代表同组用户的权限;最后三位代表其他用户的权限。每一组中的三位依次代表可读、可写、可执行的权限,假如拥有相应的权限,对应的这位就形参为1;否则,就形参为0,这三位都是二补码位,也可转换为十补码数。
例如data.txt文件的权限为-rwxrw-r–,表示该文件是文件类型,当前用户root对该文件拥有可读可写可执行的权限;同组用户对该文件拥有可读可写的权限;其他用户对该文件只拥用可读权限。可以使用chmod命令对data.txt文件的权限进行更改,从上图可以看见,运行chmod764data.txt后,data.txt文件的权限变为了-rwxrw-r–。
类比HDFS上更改文件权限的命令:hdfsdfs–chmod764/data/data.txt
4、软件安装和配置A、安装putty和winscp
putty(包括mtputty)远程登陆工具和winscpFTP工具都是windows程序,跟安装普通的软件没有区别,这儿就不再述说其安装过程。注意,在安装其他Linux软件包前,须要先安装这两个程序,以便捷从windows端上传相应的软件包到Linux系统中。
B、安装JavaJDK
首先,使用windows上安装的winscp工具将JDK安装包、tree安装包一并上传到Linux系统/root/tools目录下,之后步入到该目录下,使用tar命令对jdk软件包进行解压即可,如下:
tar-zxvfjdk-8u144-linux-x64.tar.gz-C~/training/
C、设置JDK环境变量
使用命令vi/root/.bash_profile,编辑该隐藏文件.bash_profile,在文件末尾添加如下几行文字:
JAVA_HOME=/root/training/jdk1.8.0_144
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
注意:保存退出后,运行命令source/root/.bash_profile使环境变量生效;
之后,运行命令java–version检验java环境变量是否配置生效,如下:
C、安装tree命令工具
在/tools/目录下直接使用命令rpm-ivhtree-1.6.0-10.el7.x86_64.rpm安装即可。使用方式为:tree–d–L数字
-d:只显示目录,可省略,则既显示目录又显示文件
-L:表示最多显示的目录层级数量
如:[root@hadoop221jdk1.8.0_144]#tree-d-L2
Linux操作系统博大精深,本文只对将来Hadoop学习过程中可能会使用到的Linux知识点进行了简单介绍,具体内容可以上网进行更深入的学习,在此就不再过多赘言,敬请期盼上篇文章的更新!
本文原创地址://q13zd.cn/xnjvczxtrxhm.html编辑:刘遄,审核员:暂无