>NameNode启动不成功问题
>resourcremanager启动不成功问题
>DFSZKFailoverController启动不成问题
在本文末了会做出解释、
前期预备!
有一个完备而且搭建成功,可以启动的zookeeper集群!
没搭建好zookeeper的去博主的上一篇文章搭建一下
请留意,如果没有特别提出,那么所有的下令都是在hadoop01的虚拟机上执行的。
1、修改hadoop环境变量
创建一个hadoop-HA目次
- mkdir -p /export/servers/hadoop-HA
复制代码 创建成功后,之前搭建过的同砚直接进行解压缩,
之前没有搭建过hadoop集群的,接下来自己创建一个目次
- mkdir -p export/software/
复制代码 创建完成之后,切换到software目次
输入rz进行上传自己提前下载的hadoop压缩包。
接下来让我们进行解压缩
- tar -zxvf hadoop-3.3.0.tar.gz -C /export/servers/hadoop-HA/
复制代码 下载完成后,我们cd到HA目次
- cd /export/servers/hadoop-HA/
复制代码 之后,输入ll检察解压状态。
输入下面的下令,对下载的hadoop进行重命名。
修改名称完成之后,再创建一个目次,用来存放数据,下面的每一个目次都必要在三台虚拟机上创建!
- mkdir -p /export/servers/hadoop-HA/hadoop/logs
复制代码- mkdir -p /export/data/hadoop-HA/hadoop/
复制代码- mkdir -p /export/data/hadoop/namenode
复制代码- mkdir -p /export/data/hadoop/datanode
复制代码 创建完成后,无需分析,接下来让我们修改一下环境变量。
首先输入cd,回到根目次
输入
编写一下自己的环境变量。
之前配置过hadoop环境的,修改成下面这个,没有修改过hadoop环境的,去看一下博主之前的文章,确保自己的java类环境已经搭建好。
- export HADOOP_HOME=/export/servers/hadoop-HA/hadoop
复制代码 修改完成后,esc,冒号wq!退出。
之后输入
使修改的环境变量见效。
修改环境变量完成后,输入
进行对hadoop版本进行展示,如果成功就进行下一步,如果没成功,就回去查抄一下自己的环境变量是不是那里出了问题。
2、修改配置文件
接下来让我们一起修改一下配置文件,
请留意!!!一下所有的内容,请加在两个 <configuration> 的标签中间!!!2.1不用
而且
博主的三台虚拟机名称是hadoop01,hadoop02,和hadoop03。各人请根据自己的虚拟机名称来进行修改。
首先切换到下面的目次,
- cd /export/servers/hadoop-HA/hadoop/etc/hadoop
复制代码 2.1 之后再hadoop目次上执行
输入,必要留意的是,java的环境变量必要自己配置好哈,也就是第一行,根据自己的环境配置,如果不知道!
去看一下自己的环境变量,和这个地方保持同等就ok。
shift+g键,直接到达文件底部。
在文件的末尾系上下面的内容。
- export JAVA_HOME=/export/servers/jdk1.8.0_241
- export HDFS_NAMENODE_USER=root
- export HDFS_DATANODE_USER=root
- export HDFS_JOURNALNODE_USER=root
- export HDFS_ZKFC_USER=root
- export YARN_RESOURCEMANAGER_USER=root
- export YARN_NODEMANAGER_USER=root
复制代码 2.2 输入
必要!特别!留意!!!
下面hadoop01:2181,以及后面的虚拟机名称,必要和自己本地的虚拟机名称对!应!起来!!!
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://ns1</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/export/data/hadoop-HA/hadoop/</value>
- </property>
- <property>
- <name>ha.zookeeper.quorum</name>
- <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
- </property>
- <property>
- <name>hadoop.http.staticuser.user</name>
- <value>root</value>
- </property>
- <property>
- <name>hadoop.proxyuser.root.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.root.groups</name>
- <value>*</value>
- </property>
复制代码 配置完成后,esc冒号wq保存退出。
2.3
输入完成后,细致复制一下下面的东西,自己复制完成后,叔叔有几个property,确保没有少复制。
而且!!!细致检察下面有关主机名的地方!!!根据自己的实际主机名进行修改下面的主机名!!!
- <property>
- <name>dfs.replication</name>
- <value>3</value>
- </property>
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>/export/data/hadoop/namenode</value>
- </property>
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>/export/data/hadoop/datanode</value>
- </property>
- <property>
- <name>dfs.nameservices</name>
- <value>ns1</value>
- </property>
- <property>
- <name>dfs.ha.namenodes.ns1</name>
- <value>nn1,nn2</value>
- </property>
- <property>
- <name>dfs.namenode.rpc-address.ns1.nn1</name>
- <value>hadoop01:9000</value>
- </property>
- <property>
- <name>dfs.namenode.http-address.ns1.nn1</name>
- <value>hadoop01:9870</value>
- </property>
- <property>
- <name>dfs.namenode.rpc-address.ns1.nn2</name>
- <value>hadoop02:9000</value>
- </property>
- <property>
- <name>dfs.namenode.http-address.ns1.nn2</name>
- <value>hadoop02:9870</value>
- </property>
- <property>
- <name>dfs.namenode.shared.edits.dir</name>
- <value>qjournal://hadoop01:8485;hadoop02:8485;hadoop03:8485/ns1</value>
- </property>
- <property>
- <name>dfs.journalnode.edits.dir</name>
- <value>/export/data/journaldata</value>
- </property>
- <property>
- <name>dfs.ha.automatic-failover.enabled</name>
- <value>true</value>
- </property>
- <!-- 此处<value></value>的内容较长所以进行了换行处理,在实际操作时不需要换行-->
- <property>
- <name>dfs.client.failover.proxy.provider.ns1</name>
- <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
- </property>
- <property>
- <name>dfs.permissions.enable</name>
- <value>false</value>
- </property>
- <property>
- <name>dfs.ha.fencing.methods</name>
- <value>
- sshfence
- shell(/bin/true)
- </value>
- </property>
- <property>
- <name>dfs.ha.fencing.ssh.private-key-files</name>
- <value>/root/.ssh/id_rsa</value>
- </property>
- <property>
- <name>dfs.ha.fencing.ssh.connect-timeout</name>
- <value>30000</value>
- </property>
-
-
复制代码 修改完成之后保存退出
2.4 依旧是在hadoop目次,输入
输入下面内容,请根据自己实际的虚拟机名称进行修改!!!
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- <property>
- <name>mapreduce.jobhistory.address</name>
- <value>hadoop01:10020</value>
- </property>
- <property>
- <name>mapreduce.jobhistory.webapp.address</name>
- <value>hadoop01:19888</value>
- </property>
- <property>
- <name>yarn.app.mapreduce.am.env</name>
- <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
- </property>
- <property>
- <name>mapreduce.map.env</name>
- <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
- </property>
- <property>
- <name>mapreduce.reduce.env</name>
- <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
- </property>
复制代码 修改完成后,保存退出。
2.5
输入
这个也比力多,各人留意不要少复制了,而且复制的时间末了记得观察一下布局是否完备,而且,根据自己的实际环境修改主机名!!!
- <property>
- <name>yarn.resourcemanager.ha.enabled</name>
- <value>true</value>
- </property>
- <property>
- <name>yarn.resourcemanager.cluster-id</name>
- <value>jyarn</value>
- </property>
- <property>
- <name>yarn.resourcemanager.ha.rm-ids</name>
- <value>rm1,rm2</value>
- </property>
- <property>
- <name>yarn.resourcemanager.hostname.rm1</name>
- <value>hadoop01</value>
- </property>
- <property>
- <name>yarn.resourcemanager.hostname.rm2</name>
- <value>hadoop02</value>
- </property>
- <property>
- <name>yarn.resourcemanager.zk-address</name>
- <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- <property>
- <name>yarn.log-aggregation-enable</name>
- <value>true</value>
- </property>
- <property>
- <name>yarn.log-aggregation.retain-seconds</name>
- <value>86400</value>
- </property>
- <property>
- <name>yarn.resourcemanager.recovery.enabled</name>
- <value>true</value>
- </property>
- <!-- 此处<value></value>的内容较长所以进行了换行处理,在实际操作时不需要换行-->
- <property>
- <name>yarn.resourcemanager.store.class</name>
- <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
- </property>
- <property>
- <name>yarn.resourcemanager.webapp.address.rm1</name>
- <value>hadoop01:8188</value>
- </property>
- <property>
- <name>yarn.resourcemanager.scheduler.address.rm1</name>
- <value>hadoop01:8130</value>
- </property>
- <property>
- <name>yarn.resourcemanager.webapp.address.rm2</name>
- <value>hadoop02:8188</value>
- </property>
- <property>
- <name>yarn.resourcemanager.scheduler.address.rm2</name>
- <value>hadoop02:8130</value>
- </property>
复制代码 修改完成后,就可以wq退出啦。
2.6
将自己的三套主机名输入到文件中,博主的是
输入完成后,保存退出。
3、集群的格式化以及启动环节
那么接下来就分发一下各人配置的环境变量
- scp /etc/profile hadoop02:/etc
复制代码- scp /etc/profile hadoop03:/etc
复制代码 之后,分发一下hadoop配置
- scp -r /export/servers/hadoop-HA/hadoop hadoop02:/export/servers/hadoop-HA
复制代码- scp -r /export/servers/hadoop-HA/hadoop hadoop03:/export/servers/hadoop-HA
复制代码 分发完成后,切换到hadoop02和hadoop03
输入,
来让分发的下令见效!
这条下令可以多复制两遍哈,没有弊端。
3.2 那么接下来!启动各人的zookeeper集群
启动成功后,再输入下面的下令,来检察一下集群的启动状态
这里引用一下上个文章的内容,出现下面的运行结果,就算是启动成功了,启动没成功的,多找找自己的原因,这么多年有没有积极(不是
3.3 预备启动hadoop高可用集群
一定要启动zookeeper集群出现上面展示的一样的东西才可以进行下一步!
在hadoop01,hadoop02,还有hadoop03中,全部输入下面的下令
- hdfs --daemon start journalnode
复制代码 输入之后,输入jps,检察一下当进步程,有没有成功!!!
启动成功之后,就可以开心的在hadoop01上进行格式化了!
如果没报错就是格式化成功了。
快说谢谢集群。
接下来就必要进行同步一下namenode。
在hadoop01上输入下令,将namenode同步到hadoop02!
只分发hadoop02!!!!!!
- scp -r /export/data/hadoop/namenode hadoop02:/export/data/hadoop
复制代码 3.4 预备格式化ZKFC
留意!!!一定要启动zookeeper集群!!!
输入
格式化成功后,就可以开始冲动人心的启动集群了
3.5 启动集群
首先切换到hadoop01的sbin目次下,
仅仅在hadoop01上启动就ok,其他的不要启动,否则会辩论。
- cd /export/servers/hadoop-HA/hadoop/sbin
复制代码 输入
一键脚本启动集群
就ok了,这里放上123启动成功的结算画面
之后各人可以去浏览器里输入
来检察自己的web页面。
到这里跟着做出来的同砚就可以完结撒花了,还有错误的同砚请接着往下检察自己的错误在哪个地方。
---------------------------------------------------------------------------------------------------------------------
>NameNode启动不成功问题
办理办法1、删除tmp目次之后重启虚拟机。
之后重新从3.3开始。
办理办法2、如果1没有成功的话,极有可能是因为你事先没有提前建立好文件,导致hadoop01在分发的时间,导致文件的庞杂,出现这种环境,回到第一步,重新开始吧思密达、
办理办法3、删除掉data和logs目次,然后按照自己删除的目次新建一个,然后!再从3.3开始
-------------------------
>resourcremanager启动不成功问题
resource启动不成功很大的可能是没分发好,检察一下自己的目次,然后重新分发一下,末了一定要
让环境变量见效。如果还是没有,建议回到namenode的地方,重新开始、
-----------------------------
>DFSZKFailoverController启动不成问题
这个没成功的同砚给自己两个大嘴巴子,是不是一开始就说了,在格式化之前启动zookeeper集群,你格式化之前真的启动了吗我请问!!!
回到3.2开始!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |