全国大学生大数据技能竞赛指导手册.docx
- 文档编号:7240377
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:74
- 大小:10.99MB
全国大学生大数据技能竞赛指导手册.docx
《全国大学生大数据技能竞赛指导手册.docx》由会员分享,可在线阅读,更多相关《全国大学生大数据技能竞赛指导手册.docx(74页珍藏版)》请在冰豆网上搜索。
全国大学生大数据技能竞赛指导手册
1.修改主机名
本次集群搭建共有三个节点,包括一个主节点master,和两个从节点slave1和slave2。
1.以主机点master为例,首次切换到root用户:
su
2.分别修改三台主机名为master,slave1,slave2:
∙hostnamectlset-hostnamemaster
∙hostnamectlset-hostnameslave1
∙hostnamectlset-hostnameslave2
∙立即生效:
bash
以为为永久修改主机名,可在线下自己的vmvare中执行:
注:
如果想要永久修改主机名,编辑/etc/sysconfig/network文件,内容如下:
在master的network文件中加入以下内容:
NETWORKING=yes
HOSTNAME=master
在slave1的network中加入以下内容:
NETWORKING=yes
HOSTNAME=slave1
在slave1的network中加入以下内容:
NETWORKING=yes
HOSTNAME=slave2
注意保存退出。
保存该文件,重启计算机:
reboot
查看是否生效:
hostname
2.配置host文件
使各个节点能使用对应的节点主机名连接对应的地址。
hosts文件主要用于确定每个结点的IP地址,方便后续各结点能快速查到并访问。
在上述3个虚机结点上均需要配置此文件。
由于需要确定每个结点的IP地址,所以在配置hosts文件之前需要先查看当前虚机结点的IP地址是多少.
1.可以通过ifconfig命令进行查看。
2.查看节点地址之后将三个节点的ip地址以及其对应的名称写进hosts文件。
这里我们设置为master、slave1、slave2。
注意保存退出。
3.关闭防火墙
centos7中防火墙命令用firewalld取代了iptables,当其状态是dead时,即防火墙关闭。
∙关闭防火墙:
systemctlstopfirewalld
∙查看状态:
systemctlstatusfirewalld
4.时间同步
1.首先在时间同步之前确认是否有网络连接,如果没有网络只需要在每台机器上都输入date-s10:
00就可以将所有机器时间同步到10:
00了,但是在有网络的情况下就可以执行下面的这种时间同步的方法:
时区一致。
要保证设置主机时间准确,每台机器时区必须一致。
实验中我们需要同步网络时间,因此要首先选择一样的时区。
先确保时区一样,否则同步以后时间也是有时区差。
可以使用date查看自己的机器时间。
2.选择时区:
tzselect
由于hadoop集群对时间要求很高,所以集群内主机要经常同步。
我们使用ntp进行时间同步,master作为ntp服务器,其余的当做ntp客户端。
3.下载ntp(三台机器)
∙yuminstall–yntp
4.master作为ntp服务器,修改ntp配置文件。
(master上执行)
默认的一个内部时钟数据,用在没有外部NTP服务器时,使用它为局域网用户提供服务:
∙vi/etc/ntp.conf
server127.127.1.0#localclock
fudge127.127.1.0stratum10#stratum设置为其它值也是可以的,其范围为0~15
重启ntp服务。
∙/bin/systemctlrestartntpd.service
5.其他机器同步(slave1,slave2)
等待大概五分钟,再到其他机上同步该机器时间。
∙ntpdatemaster
5.配置ssh免密
SSH主要通过RSA算法来产生公钥与私钥,在数据传输过程中对数据进行加密来保障数据的安全性和可靠性,公钥部分是公共部分,网络上任一结点均可以访问,私钥主要用于对数据进行加密,以防他人盗取数据。
总而言之,这是一种非对称算法,想要破解还是非常有难度的。
Hadoop集群的各个结点之间需要进行数据的访问,被访问的结点对于访问用户结点的可靠性必须进行验证,hadoop采用的是ssh的方法通过密钥验证及数据加解密的方式进行远程安全登录操作,当然,如果hadoop对每个结点的访问均需要进行验证,其效率将会大大降低,所以才需要配置SSH免密码的方法直接远程连入被访问结点,这样将大大提高访问效率。
1.每个结点分别产生公私密钥:
∙ssh-keygen-tdsa-P''-f~/.ssh/id_dsa(三台机器)
秘钥产生目录在用户主目录下的.ssh目录中,进入相应目录查看:
cd.ssh/
2.Id_dsa.pub为公钥,id_dsa为私钥,紧接着将公钥文件复制成authorized_keys文件:
(仅在master机器上操作)
∙catid_dsa.pub>>authorized_keys(注意在.ssh/路径下操作)
在主机上连接自己,也叫做ssh内回环。
∙sshmaster
2.让主结点master能通过SSH免密码登录两个子结点slave。
(分别在slave1和slave2中操作)
为了实现这个功能,两个slave结点的公钥文件中必须要包含主结点的公钥信息,这样
当master就可以顺利安全地访问这两个slave结点了。
slave1结点通过scp命令远程登录master结点,并复制master的公钥文件到当前的目录下,且重命名为master_dsa.pub,这一过程需要密码验证。
首先需要分别打开slave1节点和slave2节点的.ssh文件夹:
∙cd.ssh
∙scpmaster:
~/.ssh/id_dsa.pub./master_dsa.pub

将master结点的公钥文件追加至authorized_keys文件。
∙catmaster_dsa.pub>>authorized_keys
这时,master就可以连接slave1了。
slave1结点首次连接时需要,“yes”确认连接,这意味着master结点连接slave1结点时需要人工询问,无法自动连接,输入yes后成功接入,紧接着注销退出至master结点。
同理slave2中也是这么操作。
注意:
两个结点的ssh免密码登录已经配置成功,还需要对主结点master也要进行上面的同样工作,因为jobtracker有可能会分布在其它结点上,jobtracker有不存在master结点上的可能性。
在上一步骤中,我们已经进行过此操作,这里仅做提醒。
6.安装JDK
1.首先在根目录下建立工作路径/usr/java
∙mkdir-p/usr/java
∙tar-zxvf/opt/soft/jdk-8u171-linux-x64.tar.gz-C/usr/java/
2.修改环境变量
修改环境变量:
vi/etc/profile
添加内容如下:
exportJAVA_HOME=/usr/java/jdk1.8.0_171
exportCLASSPATH=$JAVA_HOME/lib/
exportPATH=$PATH:
$JAVA_HOME/bin
exportPATHJAVA_HOMECLASSPATH
生效环境变量:
source/etc/profile
查看java版本:
java-version
在master节点操作成功后可以使用远程复制命令将JDK远程复制到slave1和slave2节点在中:
(此命令在master中操作)
scp-r/usr/javaroot@slave1:
/usr/
scp-r/usr/javaroot@slave2:
/usr/
接下来操作slave1和slave2,配置java的环境变量:
修改环境变量:
vi/etc/profile
添加内容如下:
exportJAVA_HOME=/usr/java/jdk1.8.0_171
exportCLASSPATH=$JAVA_HOME/lib/
exportPATH=$PATH:
$JAVA_HOME/bin
exportPATHJAVA_HOMECLASSPATH
生效环境变量:
source/etc/profile
注意:
在操作完slave1和slave2之后需要更新环境变量之后才可以使用java-version去查看JDK的版本。
7.安装zookeeper
1.修改主机名称到IP地址映射配置。
∙vi/etc/hosts
192.168.15.104mastermaster.root
192.168.15.127slave1slave1.root
192.168.15.124slave2slave2.root
2.修改ZooKeeper配置文件。
在其中一台机器(master)上,用tar-zxvf命令解压缩zookeeper-3.4.6.tar.gz。
解压缩zookeeper-3.4.6.tar.gz
首先创建zookeeper的工作路径:
∙mkdir-p/usr/zookeeper
然后解压zookeeper到刚才创建的zookeeper的工作路径中:
∙tar–zxvf/opt/soft/zookeeper-3.4.10.tar.gz–C/usr/zookeeper
3.配置文件conf/zoo.cfg,用cd命令进入zookeeper-3.4.10/conf目录下,将zoo_sample.cfg文件拷贝一份,命名为为“zoo.cfg”。
∙cpzoo_sample.cfgzoo.cfg
zoo.cfg文件配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
clientPort=2181
dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
server.1=master:
2888:
3888
server.2=slave1:
2888:
3888
server.3=slave2:
2888:
3888
4.在zookeeper的目录中,创建zkdata和zkdatalog两个文件夹。
Zkdatalog文件夹,是为了指定zookeeper产生日志指定相应的路径
∙mkdirzkdata
∙mkdirzkdatalog
5.进入zkdata文件夹,创建文件myid。
6.远程复制分发安装文件
上面已经在一台机器master上配置完成ZooKeeper,现在可以将该配置好的安装文件远程拷贝到集群中的各个结点对应的目录下:
∙scp-r/usr/zookeeperroot@slave1:
/usr/
∙scp-r/usr/zookeeperroot@slave2:
/usr/
7.设置myid。
在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字。
∙cd/usr/zookeeper/zookeeper-3.4.10/zkdata
slave1中为2;
slave2中为3;
8.配置环境变量并启动ZooKeeper。
在每台机器上的/etc/profile
∙vi/etc/profile
#setzookeeperenvironment
exportZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
PATH=$PATH:
$ZOOKEEPER_HOME/bin
生效:
source/etc/profile
9.启动ZooKeeper集群
在ZooKeeper集群的每个结点上,执行启动ZooKeeper服务的脚本,如下所示:
∙bin/zkServer.shstart
∙bin/zkServer.shstatus
∙master节点上启动并查看zookeeper状态:
∙slave1节点上启动并查看zookeeper状态:
∙slave2节点上启动并查看zookeeper状态:
通过上面状态查询结果可见,一个节点是Leader,其余的结点是Follower。
8安装hadoop
在操作机上使用Xshell连接虚拟机:
1.可以通过平台查看所有虚拟机的ip地址,如下图所示:
2.打开Xshell将对应的主机名及ip地址输入到对应的输入框内,如下图所示:
3.点击用户身份验证将用户名和密码输入到对应的输入框内,如下图所示:
4.双击我们创建的连接,最后点击接受并保存,如下图所示:
5.修改/etc/hosts文件(三台机器都需要操作),操作过程如下图所示:
注意:
图中的ip地址为操作是使用的机器的ip地址,需要将hosts文件中的ip地址更换为我们将第一步所得到的ip地址
6.当所有机器上的hosts文件配置完成之后,我们可以在master节点上输入sshslave1或者sshslave2,测试一下hosts文件是配置成功。
7.创建对应工作目录/usr/hadoop(在master节点上操作)
8.解压hadoop到相应目录:
我们已经把hadoop的安装包放在了主节点的/opt/soft目录下,可以通过tar命令将其复制到我们刚才创建的hadoop工作目录中:
∙mkdir-p/usr/hadoop
∙tar-zxvf/opt/soft/hadoop-2.7.3.tar.gz-C/usr/hadoop/
解压后:
配置环境变量
1.配置环境变量
∙vim/etc/profile
exportHADOOP_HOME=/usr/hadoop/hadoop-2.7.3
exportCLASSPATH=$CLASSPATH:
$HADOOP_HOME/lib
exportPATH=$PATH:
$HADOOP_HOME/bin
使用以下命令使profile生效:
∙source/etc/profile
2.接下来我们需要对hadoop进行一些配置,所有的hadoop的配置文件都在/usr/hadoop/hadoop-2.7.3/etc/hadoop中,所有我们需要使用 cd/usr/hadoop/hadoop-2.7.3/etc/hadoop命令进入到hadoop配置文件所在的目录中,如下图所示:
3.使用vim命令编辑hadoop-env.sh文件:
∙vimhadoop-env.sh
在配置文件中输入内容:
exportJAVA_HOME=/usr/java/jdk1.8.0_171
输入完成后保存并退出
4.使用vim命令编辑core-site.xml文件,并在配置文件中加入以下内容:
∙vimcore-site.xml
//master:
9000
5.使用vim命令编辑yarn-site.xml文件,并在配置文件中加入以下内容:
18040
18030
18088
18025
18141
--SitespecificYARNconfigurationproperties-->
5.使用vim命令编写slaves文件,并在其中加入以下内容:
6.使用vim命令编写master文件,并在其中加入以下内容:
7.使用vim命令编辑hdfs-site.xml文件,并在配置文件中加入以下内容:
/usr/hadoop/hadoop-2.7.3/hdfs/name
/usr/hadoop/hadoop-2.7.3/hdfs/data
9001
8.使用vim命令编辑mapred-site.xmll文件,并在配置文件中加入以下内容:
但是文件夹内并没有mapred-site.xml这个文件所以我们需要使用cp命令将mapred-site.xml.template复制为mapred-site.xml:
cpmapred-site.xml.templatemapred-site.xml
然后对其进行编辑,并在配置文件中加入以下内容:
分发hadoop
∙scp-r/usr/hadooproot@slave1:
/usr/
∙scp-r/usr/hadooproot@slave2:
/usr/
∙注意:
slave1和slave2节点上都需要配置环境变量,参考hadoop中第二个步骤,同样是向/etc/hosts文件中的添加hadoop的环境变量。
格式化Hadoop并开启集群
10.master中格式化hadoop
输入hadoopnamenode-format命令进行hadoop的格式化操作,如下图所示:
格式化成功如下图所示:
11.在格式化hadoop之后,退回到/usr/hadoop/hadoop-2.7.3目录下,然后使用sbin/start-all.sh命令开启hadoop集群:
在master节点输入jps查看进程:
在slave1节点输入jps查看进程:
在slave2节点输入jps查看进程:
访问主节点master:
50070
1.hadoop脚本命令练习
查看dfs根目录文件:
hadoopfs–ls/
在hdfs上创建文件data:
hadoopfs–mkdir/data
再次进行查看:
hadoopfs–ls/
13.也可以使用浏览器对集群进行查看。
依次进入“Utilities”->“Browsethefilesystem”
9hbase安装
注意开启hbase之前,需要将之前的hadoop集群开启
∙start-all.sh(启动hadoop)
∙zkServer.shstart(各个节点均执行)
1.同样先建立工作路径/usr/hbase,将/opt/soft下的hbase加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国大学生 数据 技能 竞赛 指导 手册