3-构建HadoopHA0。更改主机名hostnamectlset-hostnamemasterhostnamectlset-hostnamemaster2hostnamectlset-hostnameslave1.ssh免密登录(一)、生成秘钥(群发)ssh-keygen(二)、配置hosts#打开配置文件目录,vi/etc/hosts#根据ip信息,修改为如下内容192.168.204.152master192.168.204.153master2192.168.204.154slave#在各个服务器配置hosts,所以执行(3),添加公钥追加(群发)第一台主机:ssh-copy-idmasteryes000000(输入设置的密码)第二台主机:ssh-copy-idmaster2yes000000(输入设置的密码)第三台主机(此时,应该注意这里输入时其他两台主机还是第一次连接,所以需要先选择yes,然后输入密码:ssh-copy-idslaveyes000000(输入设置密码)2.关闭firewall#关闭防火墙:systemctlstopfirewalld#设置开机禁用防火墙:systemctldisablefirewalld.service#检查防火墙状态:systemctlstatusfirewalld3.jdk安装配置(1)。解压jdk组件#使用xftp将组件上传到/soft目录mkdir/soft#新建文件目录:/usr/javamkdir-p/usr/java/#进入soft目录解压jdkcd/softtar-zxvfjdk-8u77-linux-x64.tar。gz-C/usr/java/(2).配置环境变量#在对应的配置文件中加入如下内容vi/etc/profileexportJAVA_HOME=/usr/java/jdk1.8.0_77exportPATH=$PATH:$JAVA_HOME/bin#设置当前环境变量立即生效来源/etc/配置文件(3).将jdk和环境变量同步到另外两台服务器scp-r/usr/java/master2:/usr/scp/etc/profilemaster2:/etc/scp-r/usr/java/slave:/usr/scp/etc/profileslave:/etc/#同步文件后,需要更新配置文件source/etc/profile4.Zookeeper的安装与配置(一)。解压Zookeeper组件,在三台上使用xftp上传到/soft目录下在本机新建目录:/usr/hadoopmkdir/usr/hadoop进入soft目录解压Zookeepercd/softtar-zxvfzookeeper-3.4.10。tar.gz-C/usr/hadoop/(2)。在响应配置??中配置环境变量在文件中添加如下内容vi/etc/profileexportZOOKEEPER_HOME=/usr/hadoop/zookeeper-3.4.10exportPATH=$PATH:$ZOOKEEPER_HOME/bin设置当前环境变量立即生效source/等/配置文件(3)。配置Zookeeper1。输入指定路径修改配置文件cd/usr/hadoop/zookeeper-3.4.10/confcpzoo_sample.cfgzoo.cfgvizoo.cfg2。删除之前的所有内容,添加如下内容tickTime=2000initLimit=10syncLimit=5数据存储位置dataDir=/hadoop/zookeeper/zkdata日志存储位置dataLogDir=/hadoop/zookeeper/zklogportclientPort=2181指定Zookeeper所在的三个节点部署的server.1=master:2888:3888server.2=master2:2888:3888server.3=slave:2888:3888(4)。将Zookeeper和环境变量同步到另外两台服务器scp-r/usr/hadoop/zookeeper-3.4.10master2:/usr/hadoop/scp/etc/profilemaster2:/etc/scp-r/usr/hadoop/zookeeper-3.4.10slave:/usr/hadoop/scp/etc/profileslave:/etc/source/etc/profile(5).在每个创建文件夹的所有节点都要执行mkdir-p/hadoop/zookeeper/zkdatamkdir-p/hadoop/zookeeper/zklog(6)。创建myid,在/hadoop/zookeeper/zkdata下创建一个文件myidcd/hadoop/zookeeper/zkdatavi编辑myid的内容为当前服务器值(1,2,3)需要对应上面zoo.cfg中的配置:master1节点->1master2节点->2worker1节点->35.Hadoop安装配置(一)。解压Hadoop组件并上传组件进入软目录cd/softtar-zxvfhadoop-2.7.3.tar.gz-C/usr/hadoop/(2)。修改对应的配置文件,进入配置文件目录cd/usr/hadoop/hadoop-2.7.3/etc/hadoop/1),配置core-site.xmlfs.defaultFShdfs://ns1/fs.trash.interval1440hadoop.tmp.dir/hadoop/hadoop/tmpha.zookeeper.quorummaster:2181,master2:2181,slave:21812),配置hdfs-site.xml说明:启动NameNodeHA的话,不再需要启动SecondaryNameNodedfs.nameservicesns1dfs.ha.namenodes.ns1nn1,nn2dfs.namenode.rpc-address.ns1.nn1master:8020dfs.namenode.http-address.ns1.nn1master:50070dfs.namenode.rpc-address.ns1.nn2master2:8020dfs.namenode.http-address.ns1.nn2master2:50070dfs.namenode.shared.edits.dir<值>qjournal://master:8485;master2:8485;slave:8485/ns1dfs.journalnode.edits.dir/hadoop/hadoop/editsdfs.ha.automatic-failover.enabledtruedfs.client.failover.proxy.provider.ns1org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProviderdfs.ha.fencing.methodssshfenceshell(/bin/true)dfs.ha.fencing.ssh.private-key-files/root/.ssh/id_rsa属性>dfs.ha.fencing.ssh.connect-timeout30000dfs.replication3</value>3),配置yarn-site.xmlyarn.resourcemanager.ha.enabledtrueyarn.resourcemanager.cluster-idyrcyarn.resourcemanager.ha.rm-idsrm1,rm2yarn.resourcemanager.hostname.rm1masteryarn.resourcemanager.hostname.rm2master2yarn.resourcemanager.webapp.address.rm1master:8088yarn.resourcemanager.webapp.address.rm2master2:8088yarn.resourcemanager.zk-addressmaster:2181,master2:2181,slave:2181yarn.nodemanager.aux-servicesmapreduce_shuffle4)、配置marped-site.xml[root@localhosthadoop]#cpmapred-site.xml.templatemapred-site.xml打开配置文件svimapred-site.xmlmapreduce.framework.nameyarn5)、配置hadoop-env.shexportJAVA_HOME=/usr/java/jdk1.8.0_776)、配置slaves指定DataNode节点(hostname)[root@master~]#vim/usr/hadoop/hadoop-2.7.3/etc/hadoop/slaves删除原来的localhost,添加如下内容mastermaster2slave7),配置环境变量并修改配置文件vi/etc/profile追加以下内容exportHADOOP_HOME=/usr/hadoop/hadoop-2.7.3exportPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin更新配置文件source/etc/profile8),同步Hadoop并将配置文件复制到master节点配置完成后,其他节点需要同步到另外两台服务器[root@master/]#cd/usr/hadoop/[root@masterhadoop]#scp-r/usr/hadoop/hadoop-2.7.3root@master2:/usr/hadoop/[root@masterhadoop]#scp/etc/profileroot@master2:/etc/[root@masterhadoop]#scp-r/usr/hadoop/hadoop-2.7.3root@slave:/usr/hadoop/[root@masterhadoop]#scp/etc/profileroot@slave:/etc/同步配置文件后,需要更新配置文件source/etc/profile6.集群启动(一)。启动Zookeeper,在所有三个节点上执行如下命令zkServer.shstart,查看状态:一主二花zkServer.shstatus(2)。启动JournalNode并在所有三个节点上执行以下命令hadoop-daemon.shstartjournalnode(3)。格式化HDFS1。在master上格式化namenode:hdfsnamenode-format在master1上启动namenode:hadoop-daemon.shstartnamenode在master2上格式化namenode:hdfsnamenode-bootstrapStandby(4)。在Executeonmaster1中格式化zkfc:hdfszkfc-formatZK(5)。启动hdfs,在master1上执行:start-dfs.sh(6)。启动Yarn#1.在master1上执行:start-yarn.sh#2.在master2上执行:yarn-daemon.shstartresourcemanager(7)。启动JobHistoryServer#在每台主机上执行如下命令mr-jobhistory-daemon.shstarthistoryserver7。验证NameNode是否高可用#首先分别访问:master:50070和master2:50070网页,查看这两个节点的状态:master处于active状态;master2处于standby状态#我们手动启动master的namenode服务:hadoop-daemon.shstartnamenode#去master:50070网页查看,master处于待机状态;master2处于活动状态8.进程验证#masternode[root@masterhadoop]#jps10417ResourceManager2226QuorumPeerMain10994Jps10519NodeManager10312DFSZKFailover300Name15Node4109DataNode9614JournalNode#master2节点[root@master2hadoop]#jps9596DataNodeNodeManager10181NameNode9882ResourceManager9708DFSZKFailoverController10285Jps9406JournalNode2063QuorumPeerMain#slave节点[root@slavezkdata]#jps9504DataNode2085QuorumPeerMain9783Jps9626NodeJournalManager9422