版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务6.1HadoopHA环境搭建任务实施1.配置静态IP在宿主机中,创建自定义网桥,指定网段,网关,操作命令及结果如下。[root@CentOS~]#dockernetworkcreate--subnet=/24--gateway=HAf1bad6fa92064749b7e9df80ae3832fd0a33ba644b781c83b2d7da6510ea57232.Docker容器添加端口映射创建3个容器,并添加端口映射,操作命令如下。[root@CentOS~]#dockerrun-dit-hmaster1--namemaster1--network=HA--ip=0-p10022:22-p50070:50070-p8088:8088-p8042:8042-p2181:2181--privileged=truecentos:7init
[root@CentOS~]#dockerrun-dit-hslave1--nameslave1--network=HA--ip=1-p10023:22-p50071:50070-p8089:8088-p2182:2181-p8043:8042--privileged=truecentos:7init
[root@CentOS~]#dockerrun-dit-hslave2--nameslave2--network=HA--ip=2-p10024:22-p8090:8088-p2183:2181-p8044:8042--privileged=truecentos:7init3.拷贝安装包到master1容器中,操作命令及结果如下。[root@CentOSopt]#dockercp/opt/hadoop-2.7.7.tar.gzmaster1:/optSuccessfullycopied218.7MBtomaster1:/opt[root@CentOSopt]#dockercp/opt/zookeeper-3.4.8.tar.gzmaster1:/optSuccessfullycopied22.26MBtomaster1:/opt[root@CentOSopt]#dockercp/opt/jdk-8u341-linux-x64.tar.gzmaster1:/optSuccessfullycopied148.2MBtomaster1:/opt4.进入master1容器,安装并开启SSH服务,操作命令如下。[root@CentOSopt]#dockerexec-itmaster1bash[root@master1/]#yuminstall-ynet-toolsvimopenssh
openssh-clientsopenssh-serverwhich[root@master1/]#systemctlstartsshd5.解压jdk,hadoop,zookeeper文件到指定目录中,并重命名文件,操作命令如下。[root@master1opt]#tar-zxvfjdk-8u341-linux-x64.tar.gz-C/usr/lib/[root@master1opt]#tar-zxvfhadoop-2.7.7.tar.gz-C/usr/local/[root@master1opt]#tar-zxvfzookeeper-3.4.8.tar.gz-C/usr/local/[root@master1opt]#cd/usr/lib[root@master1lib]#mvjdk1.8.0_341jdk1.8.0[root@master1lib]#cd/usr/local/[root@master1local]#mvhadoop-2.7.7hadoop[root@master1local]#mvzookeeper-3.4.8/zookeeper6.编辑“~/.bashrc”文件,将相应软件的安装路径添加到环境变量中,操作内容如下。exportJAVA_HOME=/usr/lib/jdk1.8.0exportHADOOP_HOME=/usr/local/hadoopexportZOOKEEPER_HOME=/usr/local/zookeeperPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin7.配置免密登录生成密钥,配置免密登录并测试,操作命令如下。[root@master1~]#ssh-keygen-trsa[root@master1~]#ssh-copy-idmaster1[root@master1~]#ssh-copy-idslave1[root@master1~]#ssh-copy-idslave2[root@master1~]#sshslave1Lastlogin:MonMar608:15:562023from[root@slave1~]#8.配置zookeeper切换到zookeeper下的conf目录,通过复制“zoo_sample.cfg”文件创建“zoo.cfg”文件,操作命令如下。[root@master1conf]#cpzoo_sample.cfgzoo.cfg编辑“zoo.cfg”文件,操作命令及文件内容如下。[root@master1conf]#vizoo.cfg
tickTime=2000initLimit=10syncLimit=5clientPort=2181dataDir=/usr/local/zookeeper/datadataLogDir=/usr/local/zookeeper/logsserver.1=master1:2888:3888server.2=slave1:2889:3889server.3=slave2:2890:3890其中配置项“dataDir”和“dataLogDir”中的目录需要手动创建,操作命令如下。[root@master1zookeeper]#mkdirdata[root@master1zookeeper]#mkdirlogs进入新创建的data目录中,创建myid文件,并编辑其内容为1,操作命令如下。[root@master1zookeeper]#cddata/[root@master1data]#touchmyid9.配置Hadoop配置完Zookeeper后,切换到“/usr/local/hadoop/etc/hadoop”目录中在此查看目录,操作命令如下。[root@master1hadoop]#lscapacity-scheduler.xmlhttpfs-env.shmapred-env.shconfiguration.xsl
httpfs-pertiesmapred-queues.xml.templatecontainer-executor.cfg
httpfs-signature.secretmapred-site.xml.templatecore-site.xmlhttpfs-site.xmlslaveshadoop-env.cmdkms-acls.xmlssl-client.xml.examplehadoop-env.shkms-env.shssl-server.xml.examplepertiespertiesyarn-env.cmdpertieskms-site.xmlyarn-env.shhadoop-policy.xmlpertiesyarn-site.xmlhdfs-site.xmlmapred-env.cmd编辑hadoop-env.sh,修改JAVA_HOME配置项,配置内容如下。#Thejavaimplementationtouse.exportJAVA_HOME=/usr/lib/jdk1.8.0在“/usr/local/hadoop/etc/hadoop”目录中,通过拷贝“mapred-site.xml.template”文件生成“mapred-site.xml”文件,操作命令如下。[root@master1hadoop]#cpmapred-site.xml.templatemapred-site.xml分别编辑core-site.xml、hdfs-site.xml、mapred-site.xml,yarn-site.xml四文件个文件。<configuration><!--使用fs.defa还是使用fs.defaultFS,首先判断是否开启了namenode的高可用,如果开启了就用fs.defaultFS,在单一namenode的情况下,就用fs.defa
<!--指定默认的HDFS路径--><property><name>fs.defaultFS</name><value>hdfs://mycluster</value></property><!--指定NameNode、DataNode、secondaryNamenode等存放数据的公共目录--><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop/tmp</value></property><!--指定zookeeper地址--><property><name>ha.zookeeper.quorum</name><value>master1:2181,slave1:2181,slave2:2181</value></property><!--设置hadoop链接zookeeper的超时时间--><property><name>ha.zookeeper.session-timeout.ms</name><value>30000</value></property><!--设置垃圾回收时间,以分钟为单位,1440分钟=60*24,刚好是一天--><property><name>erval</name><value>1440</value></property></configuration>编辑“core-site.xml”文件,内容如下。
(文本过长,放在ppt页面下方)编辑“hdfs-site.xml”文件,文件内容如下,(文本过长,放在ppt页面下方,第一页)。
<configuration><!--指定journalnode集群之间通信的超时时间--><property><name>dfs.qjournal.start-segment.timeout.ms</name><value>60000</value></property><!--指定namenode的组名称,自己可以定义--><property><name>dfs.nameservices</name><value>mycluster</value></property><!--指定namenode组mycluster的成员--><property><name>dfs.ha.namenodes.mycluster</name><value>master1,slave1</value></property><!--配置master1的rpc地址及端口号--><property><name>dfs.namenode.rpc-address.mycluster.master1</name><value>master1:9000</value></property><!--配置slave1的rpc地址及端口号--><property><name>dfs.namenode.rpc-address.mycluster.slave1</name><value>slave1:9000</value></property><!--配置master1的地址及端口号--><property><name>dfs.namenode.http-address.mycluster.master1</name><value>master1:50070</value></property><!--配置slave1的地址及端口号--><property><name>dfs.namenode.http-address.mycluster.slave1</name><value>slave1:50070</value></property><!--指定NameNode的edits元数据在JournalNode上的存放位置--><property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://master1:8485;slave1:8485;slave2:8485/mycluster</value></property><!--指定该集群出故障时,哪个实现类负责执行故障切换--><property> <name>dfs.client.failvider.mycluster</name><value> org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider </value></property><!--配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行--><property> <name>dfs.ha.fencing.methods</name><value>
sshfenceshell(/bin/true)</value></property><!--如果为"true",则在HDFS中启用权限检查;如果为"false",则关闭权限检查;默认值为"true"。--><property><name>dfs.permissions.enabled</name><value>false</value></property>
<property><!--指定是否允许支持文件追加,默认为”false”--><name>dfs.support.append</name><value>true</value></property><!--使用sshfence隔离机制时需要ssh免登录--><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/root/.ssh/id_rsa</value></property><!--数据备份的个数--><property><name>dfs.replication</name><value>2</value></property><!--指定hdfs元数据存储的路径--><property><name>dfs.namenode.name.dir</name><value>/usr/local/hadoop/dfs/name</value></property><!--指定hdfs数据存储的路径--><property><name>dfs.datanode.data.dir</name><value>/usr/local/hadoop/dfs/data</value></property><!--指定journalnode日志文件存储的路径--><property><name>dfs.journalnode.edits.dir</name><value>/usr/local/hadoop/tmp/journal</value></property><!--开启自动故障转移--><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property><!--开启WebHDFS功能(基于REST的接口服务)--><property><name>dfs.webhdfs.enabled</name><value>true</value></property><!--配置sshfence隔离机制超时时间--><property><name>dfs.ha.fencing.ssh.connect-timeout</name><value>30000</value></property><!--设定从CLI手动运行的FC功能等待健康检查、服务状态超时时间--><property><name>ha.failover-controller.cli-check.rpc-timeout.ms</name><value>60000</value></property></configuration>编辑“hdfs-site.xml”文件,文件内容如下,(文本过长,放在ppt页面下方,第二页)。
编辑“mapred-site.xml”文件,文件内容如下。<configuration><!--设定指定mapreduce执行框架为YARN方式--><property><name>map</name><value>yarn</value></property><!--设定jobhistory的IPC地址--><property><name>mapreduce.jobhistory.address</name><value>master1:10020</value></property><!--设定jobhistory的web地址--><property><name>mapreduce.jobhistory.webapp.address</name><value>master1:19888</value></property></configuration>编辑“yarn-site.xml”文件,文件内容如下。(文本过长,放在ppt页面下方)<configuration><!--开启resourcemanger高可用--><property><name>yarn.resourcemanager.ha.enabled</name><value>true</value></property><!--指定resourcemanger的clusterid--><property><name>yarn.resourcemanager.cluster-id</name><value>yrc</value></property><!--指定resourcemanger的名字--><property><name>yarn.resourcemanager.ha.rm-ids</name><value>rm1,rm2</value></property><!--分别指定resourcemanger的地址--><property><name>yarn.resourcemanager.hostname.rm1</name><value>master1</value></property><!--分别指定resourcemanger的地址--><property><name>yarn.resourcemanager.hostname.rm2</name><value>slave1</value></property><!--指定resourcemanger使用ZK集群地址--><property><name>yarn.resourcemanager.zk-address</name><value>master1:2181,slave1:2181,slave2:2181</value></property><!--配置yarn运行shuffle的方式,选择mapreduce的默认shuffle算法--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!--是否启用日志聚集功能--><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!--配置聚集的日志在HDFS上最多保存时间--><property><name>yarn.log-aggregation.retain-seconds</name><value>86400</value></property><!--开启Recovery后,ResourceManger会将应用的状态等信息保存到yarn.resourcemanager.store.class配置的存储介质中,重启后会load这些信息,并且NodeManger会将还在运行的container信息同步到ResourceManager,整个过程不影响作业的正常运行。--><property><name>yarn.resourcemanager.recovery.enabled</name><value>true</value></property><!--指定yarn.resourcemanager.store.class的存储介质(HA集群只支持ZKRMStateStore)--><property><name>yarn.resourcemanager.store.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value></property></configuration>修改slaves文件(3.X为workers),编辑内容如下。master1slave1slave2在core-site.xml、hdfs-site.xml、mapred-site.xml,yarn-site.xml四个配置文件中,所涉及的配置项中的目录需要手动创建,操作命令如下。[root@master1hadoop]#mkdirlogs[root@master1hadoop]#mkdirdfs[root@master1hadoop]#mkdirtmp[root@master1hadoop]#cddfs[root@master1dfs]#mkdirdata[root@master1dfs]#mkdirname[root@master1dfs]#cd..[root@master1hadoop]#cdtmp/[root@master1tmp]#mkdirjournal在master1节点中分别拷贝“.bashrc”、“jdk”、“hadoop”和“zookeeper”文件到slave1和slave2节点中,操作命令如下。[root@master1~]#scp-r~/.bashrcslave1:~/.bashrc[root@master1~]#scp-r~/.bashrcslave2:~/.bashrc[root@master1~]#scp-r/usr/lib/jdk1.8.0slave1:/usr/lib/[root@master1~]#scp-r/usr/lib/jdk1.8.0slave2:/usr/lib/[root@master1~]#scp-r/usr/local/zookeeperslave1:/usr/local/[root@master1~]#scp-r/usr/local/zookeeperslave2:/usr/local/[root@master1~]#scp-r/usr/local/hadoopslave1:/usr/local/[root@master1~]#scp-r/usr/local/hadoopslave2:/usr/local/分别在slave1和slave2节点上执行“source~/.bashrc”命令使环境变量立即生效。10.启动Hadoop集群(1)启动Zookeeper集群并查看状态。在master1节点启动Zookeeper并查看状态,操作命令及结果如下。[root@master1bin]#./zkServer.shstartZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgStartingzookeeper...STARTED[root@master1bin]#./zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgMode:follower
在slave1节点启动Zookeeper并查看状态,操作命令及结果如下。[root@slave1zookeeper]#cdbin[root@slave1bin]#./zkServer.shstartZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgStartingzookeeper...STARTED[root@slave1bin]#./zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgMode:follower
在slave2节点启动Zookeeper并查看状态,操作命令及结果如下。[root@slave2zookeeper]#cdbin[root@slave2bin]#./zkServer.shstartZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgStartingzookeeper...STARTED[root@slave2bin]#./zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgMode:leader(2)初始化HA在Zookeeper中的状态,操作命令及部分结果如下。[root@master1bin]#./hdfs
zkfc-formatZK23/03/0614:42:42INFOha.ActiveStandbyElector:Successfullycreated/hadoop-ha/myclusterinZK.23/03/0614:42:42INFOha.ActiveStandbyElector:Sessionconnected.23/03/0614:42:42INFOzookeeper.ZooKeeper:Session:0x386b7555fb80000closed23/03/0614:42:42INFOzookeeper.ClientCnxn:EventThreadshutdown(3)在master1、slave1和slave2中启动journalnode,操作命令如下。[root@master1sbin]#./hadoop-daemon.shstartjournalnode[root@slave1sbin]#./hadoop-daemon.shstartjournalnode[root@slave2sbin]#./hadoop-daemon.shstartjournalnode在master1中初始化namenode节点,如果看到“status0”字样即代表初始化成功,操作命令及部分结果如下。[root@master1bin]#hdfs
namenode-format23/03/0614:47:20INFOutil.ExitUtil:Exitingwithstatus023/03/0614:47:20INFOnamenode.NameNode:SHUTDOWN_MSG:/************************************************************SHUTDOWN_MSG:ShuttingdownNameNodeatmaster1/10************************************************************/(4)在master1节点执行‘start-all.sh’命令,并分别查看master1、slave1和slave2节点进程,操作命令及结果如下。[root@master1hadoop]#start-all.sh[root@master1hadoop]#jps4896ResourceManager225QuorumPeerMain5330Jps3879JournalNode4072DFSZKFailoverController5016NodeManager3673DataNode3565NameNode
[root@slave1hadoop]#jps2322Jps1783DFSZKFailoverController218QuorumPeerMain1596DataNode1692JournalNode2190NodeManager
[root@slave2hadoop]#jps228QuorumPeerMain1173DataNode1269JournalNode1592NodeManager1724Jps(5)格式化主、从节点将master1节点元数据复制到slave1和slave2节点中,由于之前namenode,datanode的数据存放在hadoop/dfs目录下,journalnode的数据存放在hadoop/tmp目录下,所以直接复制dfs和tmp目录至slave1和slave2节点中,操作命令如下。[root@master1hadoop]#scp-r/usr/local/hadoop/tmp/*slave1:/usr/local/hadoop/tmp/[root@master1hadoop]#scp-r/usr/local/hadoop/dfs/*slave1:/usr/local/hadoop/dfs/[root@master1hadoop]#scp-r/usr/local/hadoop/tmp/*slave2:/usr/local/hadoop/tmp/[root@master1hadoop]#scp-r/usr/local/hadoop/dfs/*slave2:/usr/local/hadoop/dfs/(6)在slave1节点启动resoucemanager和namenode,操作命令及结果如下。[root@slave1sbin]#./yarn-daemon.shstartresourcemanager[root@slave1sbin]#./hadoop-daemon.shstartnamenode[root@slave1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宠物用品销售代理
- 造船行业安全生产总结
- 通讯行业助理岗位描述
- 旅游景点的卫生环境
- 大班新学期个人工作计划
- 心电监护室护士监测心电
- 2024土壤植株病虫害防治效果检测服务合同3篇
- 社会公益组织前台服务总结
- 高考新课标语文模拟试卷系列之43
- 丰乐亭记语文阅读理解
- 博物馆保安服务投标方案(技术方案)
- 中医师承指导老师学术思想
- 课程设计报告数据库原理与应用样本
- 2024年北京控股集团有限公司招聘笔试参考题库含答案解析
- (完整word版)体检报告单模版
- 2024年陕西航空职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 铣刨机操作规程范文
- 安徽省芜湖市2023-2024学年七年级上学期期末数学试卷(含答案)
- 《土壤中的钙素营养》课件
- 初中数学思想方法导引
- 江苏省南京市建邺区2023-2024学年五年级上学期期末数学试卷.1
评论
0/150
提交评论