云文档网 - 专业文章范例文档资料分享平台

5.实验指导书-实验1全分布模式下的Hadoop集群构建

来源:网络收集 时间:2024-05-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验一 全分布模式下的Hadoop集群构建

一、实验目的和要求

(一)熟悉Linux基本命令。

(二)掌握如何设置静态IP地址,掌握如何修改主机域名。 (四)掌握如何配置Java环境变量,掌握Java基本命令。

(五)了解为何需要配置SSH免密码登录,掌握如何配置SSH免密码登录。 (六)熟练掌握在linux环境下如何构建全分布模式下的Hadoop集群。

二、实验内容

(一)安装和配置CentOS。 (二)安装和配置Java环境。 (三)启动和配置SSH免密码登录。 (四)安装和配置Hadoop。

三、实验仪器、设备

PC,VMWare,CentOS安装包,Oracle JDK安装包,Hadoop安装包。

四、实验原理

(一)Linux基本命令

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991年10月5日。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

本小节将介绍实验中涉及到的Linux操作系统命令: (1)查看当前目录

pwd命令用于显示当前目录: [root@master ~]# pwd /root

(2)目录切换

cd命令用来切换目录: [root@master ~]# cd /usr/local [root@master local]# pwd /usr/local

[root@master local]# (3)文件罗列

ls命令用于查看文件与目录: [root@master local]#ls (4)文件或目录拷贝

cp命令用于拷贝文件,若拷贝的对象为目录,则需要使用-r参数: [root@master local]#cp -r hadoop-2.8.1 /root/hadoop (5)文件或目录移动或重命名

mv命令用于移动文件,在实际使用中,也常用于重命名文件或目录:

[root@master ~]# mv hadoop hadoop2 #当前位于/root,不是/usr/local (6)文件或目录删除

rm命令用于删除文件,若删除的对象为目录,则需要使用-r参数:

[root@master ~]# rm -rf hadoop2 #当前位于/root,不是/usr/local (7)进程查看

ps命令用于查看系统的所有进程:

[root@master ~]# ps #查看当前进程 (8)文件压缩与解压

tar命令用于文件压缩与解压,参数中的c表示压缩,x表示解压缩: [root@master local]# tar -zxvf /home/xlh/Downloads/hadoop-2.8.1.tar.gz (9)查看文件内容

cat命令用于查看文件内容:

[root@master ~]# cat /usr/local/hadoop-2.8.1/etc/hadoop/core-site.xml (10)查看服务器IP配置

ip addr命令用于查看服务器IP配置: [xlh@master ~]$ ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: ens33: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:b8:e8:48 brd ff:ff:ff:ff:ff:ff

inet 192.168.18.131/24 brd 192.168.18.255 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::6232:735:2815:bfdf/64 scope link valid_lft forever preferred_lft forever

3: virbr0: mtu 1500 qdisc noqueue state DOWN qlen 1000

link/ether 52:54:00:82:29:91 brd ff:ff:ff:ff:ff:ff

inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever

4: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000

link/ether 52:54:00:82:29:91 brd ff:ff:ff:ff:ff:ff [xlh@master ~]$ (二)vim编辑器

vim是一个类似于vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性,vim是vi的加强版,比vi更容易使用,vi的命令几乎全部都可以在vim上使用。

vim是实验中用到最多的文件编辑命令,命令行输入“vim 文件名”后,默认进入“命令模式”,不可编辑文档,需键盘点击“i”键,方可编辑文档,编辑结束后,需按“ESC”键,先退回命令模式,再按“:”进入末行模式,接着嵌入“wq”方可保存退出。

(三)Java基本命令

在安装Java环境后,可以使用Java命令来编译、运行或者打包Java程序。 (1)查看Java版本

[root@master ~]# java -version java version \

Java(TM) SE Runtime Environment (build 1.8.0_144-b01)

Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) (2)编译Java程序

[root@master ~]# javac Helloworld.java (3)运行Java程序

[root@master ~]# java Helloworld Hello World! (4)打包Java程序

[root@master ~]# jar -cvf Helloworld.jar Helloworld.class added manifest

adding: Helloworld.class(in = 426) (out= 289)(deflated 32%)

由于打包时并没有指定manifest文件,因此该jar包无法直接运行: [root@master ~]# java -jar Helloworld.jar no main manifest attribute, in Helloworld.jar (5)打包携带manifest文件的Java程序

manifest文件用于描述整个Java项目,最常用的功能是指定项目的入口类: [root@master ~]# cat manifest.mf Main-Class: Helloworld

打包时,加入-m参数,并指定manifest文件名:

[root@master ~]# jar -cvfm Helloworld.jar manifest.mf Helloworld.class added manifest

adding: Helloworld.class(in = 426) (out= 289)(deflated 32%) 之后,即可使用java命令直接运行该jar包: [root@master ~]# java -jar Helloworld.jar Hello World!

(四)SSH免密认证

Hadoop的基础是分布式文件系统HDFS,HDFS集群有两类节点以管理者-工作者的模式运行,即一个namenode(管理者)和多个datanode(工作者)。在Hadoop启动以后,namenode通过SSH来启动和停止各个节点上的各种守护进程,为了方便起见,需要在这些节点之间执行指令时采用无需输入密码的认证方式,因此,需要将SSH配置成使用无需输入密码的密钥文件认证方式。

(五)Hadoop配置文件

Hadoop配置文件很多,配置文件位于$HADOOP_HOME/etc/hadoop,关键的几个配置文件如表1-1所示。

表1-1 Hadoop主要配置文件

文件名称 hadoop-env.sh yarn-env.sh mapred-env.sh core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml slaves 格式 bash脚本 bash脚本 bash脚本 Hadoop配置XML Hadoop配置XML Hadoop配置XML Hadoop配置XML 纯文本 描述 记录Hadoop要用的环境变量 记录YARN要用的环境变量 记录MapReduce要用的环境变量 Hadoop core的配置项,包括HDFS和MapReduce常用的I/O设置等 HDFS守护进程的配置项,包括NameNode、SecondaryNameNode、DataNode等 YARN守护进程的配置项,包括ResourceManager、NodeManager等 MapReduce计算框架的配置项 运行DataNode和NodeManager的从节点机器列表(每行1个) 五、实验步骤

(一)安装和配置CentOS 1.安装CentOS虚拟机 2.设置静态IP地址

为了让主节点和从节点之间的通信可控,我们需要各个节点配置静态IP,方法是修改相应的配置文件,对于

CentOS 7

而言,对应的配置文件为

/etc/sysconfig/network-scripts/ifcfg-ens33,各机器可能不尽相同,自行查看本人的机器。

(1)查看主节点网卡配置文件名,具体过程如图1-1所示。

图1-1

(2)修改主节点网卡配置文件vim /etc/sysconfig/network-scripts/ifcfg-ens33,具体内容如图1-2所示。

图1-2

同理,按以上步骤再为2个从节点设置静态IP地址。 3.修改主机域名

(1)使用vim etc/hosts编辑配置文件hosts,来协助用户便捷的访问各个节点,而无需记住能够被机器直接读取的IP地址串,配置文件内容如图1-3所示。

图1-3

2个从节点必须和主节点的hosts文件内容需要一致,我们可以分别修改2个从节点的hosts文件,也可以使用scp命令同步虚拟机的配置。

(2)修改主机名,修改配置文件/etc/sysconfig/network,可以永久性修改linux主机名,配置文件具体内容如图1-4所示。

图1-4

2个从节点也做同此修改,重启后生效。

至此,3个虚拟机的静态IP地址、修改hosts文件完毕,用ping命令来检测节点间是否通讯正常,过程如图1-5所示。

图1-5

(二)安装和配置Java环境

本部分在主节点hadoop-master上进行,另外2个从节点Java环境配置过程与主节点相同,不再赘述。

1.卸载OpenJDK

通过命令java –version查看是否已安装jdk,如图1-6所示,由于CentOS自带的有java,是OpenJDK,而我们需要Oracle公司的JDK,所以我们将OpenJDK卸载,。

图1-6

使用rpm命令查询jdk软件,如图1-7所示。

图1-7

分别使用命令yum -y remove java-1.8.0*和yum -y remove java-1.7.0*卸载openjdk 1.8和openjdk 1.7,分别如图1-8、1-9所示。

图1-8

图1-9

2.查看系统信息

可以使用命令getconf LONG_BIT来查询Linux操作系统是32还是64位;也可以使用命令file /bin/ls来显示Linux版本号,使用命令file /bin/ls的结果如图1-10所示。

图1-10

3.下载Java环境 4.安装Java

使用yum命令进行安装,如图1-11所示。

图1-11

5.配置Java环境

我们通过修改/etc/profile文件完成环境变量JAVA_HOME、PATH和CLASSPATH的设置,添加如下内容,如图1-12所示。

图1-12

使用命令source /etc/profile重新加载配置文件,使之立即生效,如图1-13所示。

图1-13

(三)启动和配置SSH免密码登录 1.安装SSH

我们使用命令rpm -qa|grep ssh查询SSH是否已经安装,如图1-14所示。。

图1-14

可以看出,SSH软件包已安装好,若没有安装好,用yum安装。 yum –y install openssh yum –y install openssh-server yum –y install openssh-clients

2.修改sshd配置文件

使用命令“vim /etc/ssh/sshd_config”修改sshd配置文件,需要修改的内容如图1-15所示。

图1-15

使用systemctl命令重启sshd服务,如图1-16所示。

图1-16

3.生成公钥和私钥。

切换到普通用户xlh下,利用cd ~命令切换回到用户xlh的家目录下,然后利用ssh-keygen在家目录中生成公钥和私钥如图1-17所示。

图1-17

其中,id_rsa是私钥,id_rsa.pub是公钥,这个公钥将会拷贝至其他hadoop节点。 把公钥id_rsa.pub的内容,追加到authorized_keys授权密钥中,如图1-18所示。

图1-18

4.共享公钥

经过共享公钥后,就不再需要输入密码。因为只有1主2从节点,所以直接复制公钥比较方便,将master的公钥直接复制给slave1和slave2就可以解决连接从节点时需要密码的问题,过程如图1-19、1-20所示。

图1-19

图1-20

5.验证安装及配置

经过以上步骤,在进行ssh登录时,可能仍然需要输入密码,这是因为文件夹.ssh的访问权限设置不正确,利用chmod命令修改包含密钥文件和文件夹的相应权限,如图1-21所示。

图1-21

此时,直接在主节点上ssh从节点,可以免密码登录了,如图1-22所示。

图1-22

到此,可以从master主机免密码登录2台主机了,对hadoop程序已经足够,但是想达到所有节点之间都能免密码登录的话,还需要在slave1、slave2上各执行3次,也就是说两两共享密钥,这样累计共执行9次。

(四)安装和配置hadoop 1.下载hadoop 2.安装hadoop

首先,将hadoop-2.8.1.tar.gz解压到目录/usr/local下,在3台虚拟机上依次输入以下命令:

su root cd /usr/local

tar -zxvf /home/xlh/Downloads/hadoop-2.8.1.tar.gz

然后,分别在1主2从节点下将hadoop安装目录的权限赋给xlh账户,master节点下的命令如图1-23所示,其余2从节点相同。

图1-23

3.配置hadoop

(1)编辑/etc/profile.d文件夹中的hadoop.sh,添加如图1-24的内容。

图1-24

(2)配置hadoop-env.sh

hadoop的配置文件位于/usr/local/hadoop-2.8.1/etc/hadoop,主要包括的配置文件如图1-25所示。

图1-25

配置文件hadoop-env.sh主要配置Java的安装路径JAVA_HOME、hadoop日志存储路径HADOOP_LOG_DIR及添加SSH的配置选项HADOOP_SSH_OPTS。打开hadoop-env.sh文件,修改hadoop-env.sh内容如图1-26所示。

图1-26

(3)配置yarn-env.sh

YARN是hadoop的资源管理器,在这个环境变量配置文件中,主要完成两个配置,一个是指明java的安装路径JAVA_HOME,二是指明YARN的日志存放路径YARN_LOG_DIR。修改yarn-env.sh内容如图1-27所示。

图1-27

(4)配置mapred-env.sh

在这个mapred-env.sh配置文件中,主要添加了MapReduce的日志存储路径HADOOP_MAPRED_LOG_DIR和java的安装路径JAVA_HOME,之所以再次设置JAVA_HOME,同样为了保证,所有进程使用的是同一个版本的JDK。修改mapred-env.sh内容如图1-28所示。

图1-28

(5)配置core-site.xml

core-site.xml是hadoop core的配置文件,如HDFS和MapReduce常用的I/O设置等,其中包括很多配置项,但实际上,大多数配置项都有默认项,也就是说,很多配置项即使不配置,也无关紧要,只是在特定场合下,有些默认值无法工作,这时候再找出来配置特定值,下面我们仅仅选两个参数项来说明。

fs.defaultFS hdfs://master

io.file.buffer.size 131072

第1个配置项是设置hadoop文件系统HDFS的文件URI,第2个配置项是设置IO文件的缓冲区大小为128KB。

(6)配置hdfs-site.xml

在这个配置文件中,我们主要配置有个HDFS的几个分项数据,如字空间元数据、数据块、辅助节点的检查点的存放路径,不修改的采用默认值即可。

dfs.namenode.name.dir /hadoop/hdfs/name

dfs.datanode.data.dir /hadoop/hdfs/data

dfs.namenode.checkpoint.dir /hadoop/hdfs/namesecondary

需要注意的是,这3个属性值需要用户自己在根目录创建一个文件夹/hadoop,并将其所有者改为xlh或者授权xlh用户写权限,其内的子文件夹如/hdfs/name、/hdfs/data、/hdfs/namesecondary不需要创建,可由hadoop系统自动创建。

(7)配置yarn-site.xml

yarn-site.xml是有关资源管理器的YARN配置信息,代码如下。

yarn.resourcemanager.hostname master

yarn.nodemanager.local-dirs /hadoop/nm-local-dir

yarn.nodemanager.aux-services mapreduce_shuffle

需要注意的是,第2个属性值需要用户在根目录下创建一个文件夹/hadoop,若在前面配置hdfs-site.xml时已经创建,则无须重复创建,用以指明YARN的节点管理器的本地目录。

(8)配置mapred-site.xml

mapred-site.xml是有关MapReduce计算框架的配置信息,如果这个文件不存在,则用vim直接创建并编辑相应的配置信息,代码如下。

mapreduce.framework.name yarn (9)配置slaves

配置文件中还有一个有关从节点主机名的配置文件slaves,该文件与诸如mapred-site.xml等配置文件,同处于同一个文件夹$HADOOP_HOME/hadoop2.8.1/etc/hadoop之下,在这个文件中,添加所有的slave节点主机名,每一个主机名占一行,如图1-29所示。

图1-29

需要注意的是,在slaves文件里,有一个默认值localhost,一定要删除,若不删除,虽然后面添加了所有的slave节点主机名,hadoop还是无法逃脱一个“伪分布”的命运。

4.同步配置文件

以上配置文件要求每个节点都“机手一份”,快捷的方法是在主节点master配置好,然后利用scp命令将配置好的文件同步到从节点slave1、slave2上。

首先adoop.sh同步到其他2台从节点上去,命令如下,效果如图1-30所示。 scp /etc/profile.d/hadoop.sh root@slave1:/etc/profile.d/ scp /etc/profile.d/hadoop.sh root@slave2:/etc/profile.d/

图1-30

然后usr/local/hadoop-2.8.1/etc/hadoop下的配置文件同步到其他2台从节点上去,命令如下,效果如图1-31、1-32所示。

scp –r /usr/local/hadoop-2.8.1/etc/hadoop/* xlh@slave1: usr/local/hadoo-2.8.1/etc/hadoop/ scp –r /usr/local/hadoop-2.8.1/etc/hadoop/* xlh@slave2: usr/local/hadoo-2.8.1/etc/hadoop/

图1-31

图1-44

(6)使用hadoop.jar命令执行hadoop自带案例程序wordcount,这个程序完成的功能非常简单,就是对file1.txt和file2.txt中的单词出现的次数进行统计,在命令终端输入命令,如图1-45所示,输入后即可看到wordcount的执行过程。

图1-45

(7)查看程序执行后的输入信息,上述程序执行完毕后,会将结果输入/OutputData目录中,如前所示原因,不能直接在CentOS的文件系统中直接查看运行结果,可使用hdfs命令中的“-ls”选项来查看,如图1-46所示。

图1-46

图1-46中有2个文件,其中/OutputData/_SUCCESS表示hadoop成功,这个文件大小为0,文件名就告知了hadoop作业的执行状态;第二个文件/OutputData/part-r-00000才是

hadoop程序的运行结果。

(8)在命令终端利用“-cat”选项查看hadoop程序运行结果,如图1-47所示。

图1-47

(五)撰写实验报告

六、实验注意事项

(一)机房的使用规范和用电安全。 (二)配置SSH免密码登录。 (三)配置Hadoop。

七、实验报告要求

实验报告以书面形式提交。

实验报告主要内容包括实验名称、实验类型、实验地点、学时、实验环境、实验原理、实验步骤、实验结果、总结与思考等。

八、实验成绩考核

实验成绩根据实验课的出勤、课堂表现、实验思考以及实验报告的书写情况打分,按百分制,实验成绩的平均值按20%比例计入课程总成绩。

百度搜索“yundocx”或“云文档网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,云文档网,提供经典综合文库5.实验指导书-实验1全分布模式下的Hadoop集群构建在线全文阅读。

5.实验指导书-实验1全分布模式下的Hadoop集群构建.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.yundocx.com/wenku/176630.html(转载请注明文章来源)
Copyright © 2018-2022 云文档网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219