Hadoop高可用集群搭建,NameNode启动不成功问题,DFSZKFailoverController启 ...

打印 上一主题 下一主题

主题 893|帖子 893|积分 2679

>NameNode启动不成功问题

>resourcremanager启动不成功问题
>DFSZKFailoverController启动不成问题
在本文末了会做出解释、
前期预备!

   有一个完备而且搭建成功,可以启动的zookeeper集群!
  没搭建好zookeeper的去博主的上一篇文章搭建一下
  请留意,如果没有特别提出,那么所有的下令都是在hadoop01的虚拟机上执行的。
1、修改hadoop环境变量

创建一个hadoop-HA目次
  1. mkdir -p /export/servers/hadoop-HA
复制代码
创建成功后,之前搭建过的同砚直接进行解压缩,
之前没有搭建过hadoop集群的,接下来自己创建一个目次
  1. mkdir -p export/software/
复制代码
创建完成之后,切换到software目次
  1. cd /export/software
复制代码
输入rz进行上传自己提前下载的hadoop压缩包
接下来让我们进行解压缩
  1. tar -zxvf hadoop-3.3.0.tar.gz -C /export/servers/hadoop-HA/
复制代码
下载完成后,我们cd到HA目次
  1. cd /export/servers/hadoop-HA/
复制代码
之后,输入ll检察解压状态。
输入下面的下令,对下载的hadoop进行重命名。
  1. mv hadoop-3.3.1 hadoop
复制代码
修改名称完成之后,再创建一个目次,用来存放数据,下面的每一个目次都必要在三台虚拟机上创建!
  1. mkdir -p /export/servers/hadoop-HA/hadoop/logs
复制代码
  1. mkdir -p /export/data/hadoop-HA/hadoop/
复制代码
  1. mkdir -p /export/data/hadoop/namenode
复制代码
  1. mkdir -p /export/data/hadoop/datanode
复制代码
创建完成后,无需分析,接下来让我们修改一下环境变量。
首先输入cd,回到根目次
输入
  1. vi /etc/profile
复制代码
编写一下自己的环境变量。
之前配置过hadoop环境的,修改成下面这个,没有修改过hadoop环境的,去看一下博主之前的文章,确保自己的java类环境已经搭建好。
  1. export HADOOP_HOME=/export/servers/hadoop-HA/hadoop
复制代码
修改完成后,esc,冒号wq!退出。
之后输入
  1. source /etc/profile
复制代码
使修改的环境变量见效。
修改环境变量完成后,输入
  1. hadoop version
复制代码
进行对hadoop版本进行展示,如果成功就进行下一步,如果没成功,就回去查抄一下自己的环境变量是不是那里出了问题。
2、修改配置文件

接下来让我们一起修改一下配置文件,
请留意!!!一下所有的内容,请加在两个 <configuration> 的标签中间!!!2.1不用
而且
博主的三台虚拟机名称是hadoop01,hadoop02,和hadoop03。各人请根据自己的虚拟机名称来进行修改。
首先切换到下面的目次,
  1. cd /export/servers/hadoop-HA/hadoop/etc/hadoop
复制代码
2.1 之后再hadoop目次上执行
  1. vi hadoop-env.sh
复制代码
输入,必要留意的是,java的环境变量必要自己配置好哈,也就是第一行,根据自己的环境配置,如果不知道!
去看一下自己的环境变量,和这个地方保持同等就ok。
shift+g键,直接到达文件底部。
在文件的末尾系上下面的内容。
  1. export JAVA_HOME=/export/servers/jdk1.8.0_241
  2. export HDFS_NAMENODE_USER=root
  3. export HDFS_DATANODE_USER=root
  4. export HDFS_JOURNALNODE_USER=root
  5. export HDFS_ZKFC_USER=root
  6. export YARN_RESOURCEMANAGER_USER=root
  7. export YARN_NODEMANAGER_USER=root
复制代码
2.2 输入
  1. vi core-site.xml
复制代码
必要!特别!留意!!!
下面hadoop01:2181,以及后面的虚拟机名称,必要和自己本地的虚拟机名称对!应!起来!!!
  1. <property>
  2.         <name>fs.defaultFS</name>
  3.         <value>hdfs://ns1</value>
  4. </property>
  5. <property>
  6.         <name>hadoop.tmp.dir</name>
  7.         <value>/export/data/hadoop-HA/hadoop/</value>
  8. </property>
  9. <property>
  10.         <name>ha.zookeeper.quorum</name>
  11.         <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
  12. </property>
  13. <property>
  14.         <name>hadoop.http.staticuser.user</name>
  15.         <value>root</value>
  16. </property>
  17. <property>
  18.         <name>hadoop.proxyuser.root.hosts</name>
  19.         <value>*</value>
  20. </property>
  21. <property>
  22.         <name>hadoop.proxyuser.root.groups</name>
  23.         <value>*</value>
  24. </property>
复制代码
复制代码
配置完成后,esc冒号wq保存退出。
2.3
  1. vi hdfs-site.xml
复制代码
输入完成后,细致复制一下下面的东西,自己复制完成后,叔叔有几个property,确保没有少复制。
而且!!!细致检察下面有关主机名的地方!!!根据自己的实际主机名进行修改下面的主机名!!!

  1. <property>
  2.     <name>dfs.replication</name>
  3.     <value>3</value>
  4. </property>
  5. <property>
  6.     <name>dfs.namenode.name.dir</name>
  7.     <value>/export/data/hadoop/namenode</value>
  8. </property>
  9. <property>
  10.     <name>dfs.datanode.data.dir</name>
  11.     <value>/export/data/hadoop/datanode</value>
  12. </property>
  13. <property>
  14.     <name>dfs.nameservices</name>
  15.     <value>ns1</value>
  16. </property>
  17. <property>
  18.    <name>dfs.ha.namenodes.ns1</name>
  19.    <value>nn1,nn2</value>
  20. </property>
  21. <property>
  22.    <name>dfs.namenode.rpc-address.ns1.nn1</name>
  23.    <value>hadoop01:9000</value>
  24. </property>
  25. <property>
  26.    <name>dfs.namenode.http-address.ns1.nn1</name>
  27.    <value>hadoop01:9870</value>
  28. </property>
  29. <property>
  30.    <name>dfs.namenode.rpc-address.ns1.nn2</name>
  31.    <value>hadoop02:9000</value>
  32. </property>
  33. <property>
  34.    <name>dfs.namenode.http-address.ns1.nn2</name>
  35.    <value>hadoop02:9870</value>
  36. </property>
  37. <property>
  38.    <name>dfs.namenode.shared.edits.dir</name>
  39.    <value>qjournal://hadoop01:8485;hadoop02:8485;hadoop03:8485/ns1</value>
  40. </property>
  41. <property>
  42.    <name>dfs.journalnode.edits.dir</name>
  43.    <value>/export/data/journaldata</value>
  44. </property>
  45. <property>
  46.    <name>dfs.ha.automatic-failover.enabled</name>
  47.    <value>true</value>
  48. </property>
  49. <!-- 此处<value></value>的内容较长所以进行了换行处理,在实际操作时不需要换行-->
  50. <property>
  51.    <name>dfs.client.failover.proxy.provider.ns1</name>
  52.    <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
  53. </property>
  54. <property>
  55.    <name>dfs.permissions.enable</name>
  56.    <value>false</value>
  57. </property>
  58. <property>
  59.    <name>dfs.ha.fencing.methods</name>
  60.    <value>
  61.        sshfence
  62.        shell(/bin/true)
  63.    </value>
  64. </property>
  65. <property>
  66.    <name>dfs.ha.fencing.ssh.private-key-files</name>
  67.    <value>/root/.ssh/id_rsa</value>
  68. </property>
  69. <property>
  70.    <name>dfs.ha.fencing.ssh.connect-timeout</name>
  71.    <value>30000</value>
  72. </property>
复制代码
修改完成之后保存退出
2.4 依旧是在hadoop目次,输入
  1. vi mapred-site.xml
复制代码
输入下面内容,请根据自己实际的虚拟机名称进行修改!!!
  1. <property>
  2.        <name>mapreduce.framework.name</name>
  3.        <value>yarn</value>
  4. </property>
  5. <property>
  6.        <name>mapreduce.jobhistory.address</name>
  7.        <value>hadoop01:10020</value>
  8. </property>
  9. <property>
  10.        <name>mapreduce.jobhistory.webapp.address</name>
  11.        <value>hadoop01:19888</value>
  12. </property>
  13. <property>
  14.    <name>yarn.app.mapreduce.am.env</name>
  15.    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  16. </property>
  17. <property>
  18.    <name>mapreduce.map.env</name>
  19.    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  20. </property>
  21. <property>
  22.    <name>mapreduce.reduce.env</name>
  23.    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  24. </property>
复制代码
修改完成后,保存退出。
2.5
输入
  1. vi yarn-site.xml
复制代码
这个也比力多,各人留意不要少复制了,而且复制的时间末了记得观察一下布局是否完备,而且,根据自己的实际环境修改主机名!!!
  1. <property>
  2.    <name>yarn.resourcemanager.ha.enabled</name>
  3.    <value>true</value>
  4. </property>
  5. <property>
  6.    <name>yarn.resourcemanager.cluster-id</name>
  7.    <value>jyarn</value>
  8. </property>
  9. <property>
  10.    <name>yarn.resourcemanager.ha.rm-ids</name>
  11.    <value>rm1,rm2</value>
  12. </property>
  13. <property>
  14.    <name>yarn.resourcemanager.hostname.rm1</name>
  15.    <value>hadoop01</value>
  16. </property>
  17. <property>
  18.    <name>yarn.resourcemanager.hostname.rm2</name>
  19.    <value>hadoop02</value>
  20. </property>
  21. <property>
  22.    <name>yarn.resourcemanager.zk-address</name>
  23.    <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
  24. </property>
  25. <property>
  26.    <name>yarn.nodemanager.aux-services</name>
  27.    <value>mapreduce_shuffle</value>
  28. </property>
  29. <property>
  30.    <name>yarn.log-aggregation-enable</name>
  31.    <value>true</value>
  32. </property>
  33. <property>
  34.    <name>yarn.log-aggregation.retain-seconds</name>
  35.    <value>86400</value>
  36. </property>
  37. <property>
  38.    <name>yarn.resourcemanager.recovery.enabled</name>
  39.    <value>true</value>
  40. </property>
  41. <!-- 此处<value></value>的内容较长所以进行了换行处理,在实际操作时不需要换行-->
  42. <property>
  43.    <name>yarn.resourcemanager.store.class</name>
  44.    <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
  45. </property>
  46. <property>
  47.    <name>yarn.resourcemanager.webapp.address.rm1</name>
  48.    <value>hadoop01:8188</value>
  49. </property>
  50. <property>
  51.    <name>yarn.resourcemanager.scheduler.address.rm1</name>
  52.    <value>hadoop01:8130</value>
  53. </property>
  54. <property>
  55.    <name>yarn.resourcemanager.webapp.address.rm2</name>
  56.    <value>hadoop02:8188</value>
  57. </property>
  58. <property>
  59.    <name>yarn.resourcemanager.scheduler.address.rm2</name>
  60.    <value>hadoop02:8130</value>
  61. </property>
复制代码
复制代码
修改完成后,就可以wq退出啦。
2.6
  1. vi workers
复制代码
将自己的三套主机名输入到文件中,博主的是
  1. hadoop01
  2. hadoop02
  3. hadoop03
复制代码
输入完成后,保存退出。
3、集群的格式化以及启动环节

那么接下来就分发一下各人配置的环境变量
  1. scp /etc/profile hadoop02:/etc
复制代码
  1. scp /etc/profile hadoop03:/etc
复制代码
之后,分发一下hadoop配置
  1. scp -r /export/servers/hadoop-HA/hadoop hadoop02:/export/servers/hadoop-HA
复制代码
  1. scp -r /export/servers/hadoop-HA/hadoop hadoop03:/export/servers/hadoop-HA
复制代码
分发完成后,切换到hadoop02和hadoop03
输入,
  1. source /etc/profile
复制代码
来让分发的下令见效!
这条下令可以多复制两遍哈,没有弊端。
3.2 那么接下来!启动各人的zookeeper集群
  1. zkServer.sh start
复制代码
启动成功后,再输入下面的下令,来检察一下集群的启动状态
  1. zkServer.sh status
复制代码
这里引用一下上个文章的内容,出现下面的运行结果,就算是启动成功了,启动没成功的,多找找自己的原因,这么多年有没有积极(不是

3.3 预备启动hadoop高可用集群
一定要启动zookeeper集群出现上面展示的一样的东西才可以进行下一步!
在hadoop01,hadoop02,还有hadoop03中,全部输入下面的下令
  1. hdfs --daemon start journalnode
复制代码
输入之后,输入jps,检察一下当进步程,有没有成功!!!
启动成功之后,就可以开心的在hadoop01上进行格式化了!
  1. hdfs namenode -format
复制代码
如果没报错就是格式化成功了。
快说谢谢集群。
接下来就必要进行同步一下namenode。
在hadoop01上输入下令,将namenode同步到hadoop02
只分发hadoop02!!!!!!
  1. scp -r /export/data/hadoop/namenode hadoop02:/export/data/hadoop
复制代码
3.4 预备格式化ZKFC
留意!!!一定要启动zookeeper集群!!!
输入
  1. hdfs zkfc -formatZK
复制代码
格式化成功后,就可以开始冲动人心的启动集群了
3.5 启动集群
首先切换到hadoop01的sbin目次下,
仅仅在hadoop01上启动就ok,其他的不要启动,否则会辩论。
  1. cd /export/servers/hadoop-HA/hadoop/sbin
复制代码
输入
  1. ./start-all.sh
复制代码
一键脚本启动集群
就ok了,这里放上123启动成功的结算画面



之后各人可以去浏览器里输入
  1. hadoop01:9870
复制代码
 
  1. hadoop02:9870
复制代码
 

  1. hadoop01:8188
复制代码
 
  1. hadoop02:8188
复制代码
 

来检察自己的web页面。
到这里跟着做出来的同砚就可以完结撒花了,还有错误的同砚请接着往下检察自己的错误在哪个地方。
---------------------------------------------------------------------------------------------------------------------
>NameNode启动不成功问题
办理办法1、删除tmp目次之后重启虚拟机。
  1. cd /tmp
复制代码
  1. rm -rf hadoop-hadoop/
复制代码
之后重新从3.3开始。
办理办法2、如果1没有成功的话,极有可能是因为你事先没有提前建立好文件,导致hadoop01在分发的时间,导致文件的庞杂,出现这种环境,回到第一步,始吧思密达、
办理办法3、删除掉data和logs目次,然后按照自己删除的目次新建一个,然后!再从3.3开始
-------------------------
>resourcremanager启动不成功问题
resource启动不成功很大的可能是没分发好,检察一下自己的目次,然后重新分发一下,末了一定要
  1. source /etc/profile
复制代码
让环境变量见效。如果还是没有,建议回到namenode的地方,重新开始、
-----------------------------
>DFSZKFailoverController启动不成问题
这个没成功的同砚给自己两个大嘴巴子,是不是一开始就说了,在格式化之前启动zookeeper集群,你格式化之前真的启动了吗我请问!!!
回到3.2开始!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表