全国大学生大数据技能竞赛指导手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.修改主机名本次集群搭建共有三个节点,包括一个主节点master,和两个从节点slave1和slave2。1.以主机点master为例,首次切换到root用户:su2.分别修改三台主机名为master,slave1,slave2:hostnamectlset-hostnamemasterhostnamectlset-hostnameslave1hostnamectlset-hostnameslave2立即生效:bash以为为永久修改主机名,可在线下自己的vmvare中执行:注:如果想要永久修改主机名,编辑/etc/sysconfig/network文件,内容如下:在master的network文件中加入以下内容:NETWORKING=yesHOSTNAME=master在slave1的network中加入以下内容:NETWORKING=yesHOSTNAME=slave1在slave1的network中加入以下内容:NETWORKING=yesHOSTNAME=slave2注意保存退出。保存该文件,重启计算机:reboot查看是否生效:hostname2.配置host文件使各个节点能使用对应的节点主机名连接对应的地址。hosts文件主要用于确定每个结点的IP地址,方便后续各结点能快速查到并访问。在上述3个虚机结点上均需要配置此文件。由于需要确定每个结点的IP地址,所以在配置hosts文件之前需要先查看当前虚机结点的IP地址是多少.1.可以通过ifconfig命令进行查看。2.查看节点地址之后将三个节点的ip地址以及其对应的名称写进hosts文件。这里我们设置为master、slave1、slave2。注意保存退出。3.关闭防火墙centos7中防火墙命令用firewalld取代了iptables,当其状态是dead时,即防火墙关闭。关闭防火墙:systemctlstopfirewalld查看状态:systemctlstatusfirewalld4.时间同步1.首先在时间同步之前确认是否有网络连接,如果没有网络只需要在每台机器上都输入date-s10:00就可以将所有机器时间同步到10:00了,但是在有网络的情况下就可以执行下面的这种时间同步的方法:时区一致。要保证设置主机时间准确,每台机器时区必须一致。实验中我们需要同步网络时间,因此要首先选择一样的时区。先确保时区一样,否则同步以后时间也是有时区差。可以使用date查看自己的机器时间。2.选择时区:tzselect由于hadoop集群对时间要求很高,所以集群内主机要经常同步。我们使用ntp进行时间同步,master作为ntp服务器,其余的当做ntp客户端。3.下载ntp(三台机器)yuminstall–yntp4.master作为ntp服务器,修改ntp配置文件。(master上执行)默认的一个内部时钟数据,用在没有外部NTP服务器时,使用它为局域网用户提供服务:vi/etc/ntp.confserver127.127.1.0#localclockfudge127.127.1.0stratum10#stratum设置为其它值也是可以的,其范围为0~15重启ntp服务。/bin/systemctlrestartntpd.service5.其他机器同步(slave1,slave2)等待大概五分钟,再到其他机上同步该机器时间。ntpdatemaster5.配置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.pubauthorized_keys(注意在.ssh/路径下操作)在主机上连接自己,也叫做ssh内回环。sshmaster2.让主结点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.pubauthorized_keys这时,master就可以连接slave1了。slave1结点首次连接时需要,“yes”确认连接,这意味着master结点连接slave1结点时需要人工询问,无法自动连接,输入yes后成功接入,紧接着注销退出至master结点。同理slave2中也是这么操作。注意:两个结点的ssh免密码登录已经配置成功,还需要对主结点master也要进行上面的同样工作,因为jobtracker有可能会分布在其它结点上,jobtracker有不存在master结点上的可能性。在上一步骤中,我们已经进行过此操作,这里仅做提醒。6.安装JDK1.首先在根目录下建立工作路径/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_171exportCLASSPATH=$JAVA_HOME/lib/exportPATH=$PATH:$JAVA_HOME/binexportPATHJAVA_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_171exportCLASSPATH=$JAVA_HOME/lib/exportPATH=$PATH:$JAVA_HOME/binexportPATHJAVA_HOMECLASSPATH生效环境变量:source/etc/profile注意:在操作完slave1和slave2之后需要更新环境变量之后才可以使用java-version去查看JDK的版本。7.安装zookeeper1.修改主机名称到IP地址映射配置。vi/etc/hosts192.168.15.104mastermaster.root192.168.15.127slave1slave1.root192.168.15.124slave2slave2.root2.修改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/zookeeper3.配置文件conf/zoo.cfg,用cd命令进入zookeeper-3.4.10/conf目录下,将zoo_sample.cfg文件拷贝一份,命名为为“zoo.cfg”。cpzoo_sample.cfgzoo.cfgzoo.cfg文件配置tickTime=2000initLimit=10syncLimit=5dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdataclientPort=2181dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalogserver.1=master:2888:3888server.2=slave1:2888:3888server.3=slave2:2888:38884.在zookeeper的目录中,创建zkdata和zkdatalog两个文件夹。Zkdatalog文件夹,是为了指定zookeeper产生日志指定相应的路径mkdirzkdatamkdirzkdatalog5.进入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/zkdataslave1中为2;slave2中为3;8.配置环境变量并启动ZooKeeper。在每台机器上的/etc/profilevi/etc/profile#setzookeeperenvironmentexportZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10PATH=$PATH:$ZOOKEEPER_HOME/bin生效:source/etc/profile9.启动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.点击用户身份验证将用户名和密码输入到对应的输入框内,如下图

1 / 89
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功