Hadoop:无法访问“跟踪网址”(Hadoop : Can't access “Tracking URL”)
我将Hadoop环境构建为伪分布式模式(在OSX上)。 下面的代码片段是配置文件。
○核心的site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://127.0.0.1:9000</value> </property> </configuration>
○mapred-site.xml中
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>127.0.0.1:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>127.0.0.1:19888</value> </property> <property> <name>mapreduce.jobhistory.admin.address</name> <value>127.0.0.1:10033</value> </property> <property> <name>mapreduce.jobhistory.webapp.https.address</name> <value>127.0.0.1:19890</value> </property> </configuration>
○纱的site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.webapp.https.address</name> <value>127.0.0.1:8044</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>127.0.0.1:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>127.0.0.1:8030</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>127.0.0.1:8031</value> </property> <property> <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name> <value>98.5</value> </property> <property> <name>yarn.nodemanager.hostname</name> <value>localhost</value> </property> </configuration>
下面是
jps
结果。79464 NameNode 79562 DataNode 79696 SecondaryNameNode 79831 ResourceManager 79945 NodeManager
我可以打开“ http:// localhost:8088 ”,所以我查看了工作细节。 我点击了历史记录按钮(链接到“ http:// [private_ip_addr]:8088 / proxy / application_xxxx / ”)尝试打开“跟踪URL”(下图为工作详情页面),连接被拒绝谷歌浏览器上的错误代码是“ERR_CONNECTION_REFUSED”)。
我可以像下面的截图一样打开一个节点管理器( http://127.0.0.1:8042 ),但是我无法打开“RM Home”(URL是“ http:// [private_ip_addr]:8088 ”)。
在配置文件时是否有错误,或者我的网络环境不正确? 如果您需要我的网络信息(端口等),请在写入时写下它。
谢谢。
- 加成 -
(180506 23:00)
我检查了一个节点管理器日志文件。 我发现那里出现错误“无法确定操作系统”。 以下是日志文件的一部分。
2018-05-06 23:00:03,353 INFO org.apache.hadoop.yarn.event.AsyncDispatcher: Registering class org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainersLauncherEventType for class org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainersLauncher 2018-05-06 23:00:03,533 INFO org.apache.hadoop.yarn.event.AsyncDispatcher: Registering class org.apache.hadoop.yarn.server.nodemanager.ContainerManagerEventType for class org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl 2018-05-06 23:00:03,534 INFO org.apache.hadoop.yarn.event.AsyncDispatcher: Registering class org.apache.hadoop.yarn.server.nodemanager.NodeManagerEventType for class org.apache.hadoop.yarn.server.nodemanager.NodeManager 2018-05-06 23:00:03,642 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties 2018-05-06 23:00:03,822 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled Metric snapshot period at 10 second(s). 2018-05-06 23:00:03,822 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NodeManager metrics system started 2018-05-06 23:00:03,932 WARN org.apache.hadoop.yarn.util.ResourceCalculatorPlugin: java.lang.UnsupportedOperationException: Could not determine OS: Failed to instantiate default resource calculator. java.lang.UnsupportedOperationException: Could not determine OS at org.apache.hadoop.util.SysInfo.newInstance(SysInfo.java:43) at org.apache.hadoop.yarn.util.ResourceCalculatorPlugin.<init>(ResourceCalculatorPlugin.java:41) at org.apache.hadoop.yarn.util.ResourceCalculatorPlugin.getResourceCalculatorPlugin(ResourceCalculatorPlugin.java:191) at org.apache.hadoop.yarn.server.nodemanager.NodeResourceMonitorImpl.serviceInit(NodeResourceMonitorImpl.java:73) at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:107) at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:357) at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:636) at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:684)
(180507 14:55)
我升级到Hadoop 3.0.0,然后错误“无法确定操作系统”被删除,但仍然没有工作的任务轨道页面。
我再次检查了Nodemanager日志,然后我找到了该消息。
2018-05-07 14:53:14,803 INFO org.apache.hadoop.yarn.server.nodemanager.NodeManager: Node Manager health check script is not available or doesn't have execute permission, so not starting the node health script runner.
这是一个原因吗?
(180507 16:22)
我忘了运行JobHistoryServer,所以我执行
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver
。41446 JobHistoryServer 41672 NameNode 41779 DataNode 41924 SecondaryNameNode 42128 ResourceManager 42234 NodeManager 42772 Jps
看起来JobHistoryServer正在运行,但我无法打开Job Track页面。
(180507 16:38)已解决
我尝试通过点击HISTORY按钮bun访问“ http:// localhost:19888 ”来打开作业历史页面,然后我可以打开一个作业历史页面!
原因可能是
mapred-site.xml
和其他人的设置属性(Phani Kumar Yadavilli先生建议)- 是否运行作业历史服务器进程。
- 通过使用URL访问,不使用历史记录按钮
- Hadoop的版本。
I constructed Hadoop environment as Pseudo distributed mode(on OSX). Below snippets are configuring files.
○core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://127.0.0.1:9000</value> </property> </configuration>
○mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>127.0.0.1:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>127.0.0.1:19888</value> </property> <property> <name>mapreduce.jobhistory.admin.address</name> <value>127.0.0.1:10033</value> </property> <property> <name>mapreduce.jobhistory.webapp.https.address</name> <value>127.0.0.1:19890</value> </property> </configuration>
○yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.webapp.https.address</name> <value>127.0.0.1:8044</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>127.0.0.1:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>127.0.0.1:8030</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>127.0.0.1:8031</value> </property> <property> <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name> <value>98.5</value> </property> <property> <name>yarn.nodemanager.hostname</name> <value>localhost</value> </property> </configuration>
And the
jps
result is below.79464 NameNode 79562 DataNode 79696 SecondaryNameNode 79831 ResourceManager 79945 NodeManager
I could open "http://localhost:8088", so I looked job details. And I clicked The History button(link to "http://[private_ip_addr]:8088/proxy/application_xxxx/") to try to open "Tracking URL"(Below image is a job detail page), the connection was refused(The error code on google chrome is "ERR_CONNECTION_REFUSED").
I could open a node manager(http://127.0.0.1:8042) like below screenshot but I couldn't open "RM Home"(URL is "http://[private_ip_addr]:8088").
Are there any mistakes in configuring files, or my network environment is not correct? If you need my network information (port etc.), write it if you write it.
Thanks.
--addition--
(180506 23:00)
I checked A Node Manager log file. And I found the there occurred error "Could not determine OS". Below is a part of log file.
2018-05-06 23:00:03,353 INFO org.apache.hadoop.yarn.event.AsyncDispatcher: Registering class org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainersLauncherEventType for class org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainersLauncher 2018-05-06 23:00:03,533 INFO org.apache.hadoop.yarn.event.AsyncDispatcher: Registering class org.apache.hadoop.yarn.server.nodemanager.ContainerManagerEventType for class org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl 2018-05-06 23:00:03,534 INFO org.apache.hadoop.yarn.event.AsyncDispatcher: Registering class org.apache.hadoop.yarn.server.nodemanager.NodeManagerEventType for class org.apache.hadoop.yarn.server.nodemanager.NodeManager 2018-05-06 23:00:03,642 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties 2018-05-06 23:00:03,822 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled Metric snapshot period at 10 second(s). 2018-05-06 23:00:03,822 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NodeManager metrics system started 2018-05-06 23:00:03,932 WARN org.apache.hadoop.yarn.util.ResourceCalculatorPlugin: java.lang.UnsupportedOperationException: Could not determine OS: Failed to instantiate default resource calculator. java.lang.UnsupportedOperationException: Could not determine OS at org.apache.hadoop.util.SysInfo.newInstance(SysInfo.java:43) at org.apache.hadoop.yarn.util.ResourceCalculatorPlugin.<init>(ResourceCalculatorPlugin.java:41) at org.apache.hadoop.yarn.util.ResourceCalculatorPlugin.getResourceCalculatorPlugin(ResourceCalculatorPlugin.java:191) at org.apache.hadoop.yarn.server.nodemanager.NodeResourceMonitorImpl.serviceInit(NodeResourceMonitorImpl.java:73) at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) at org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:107) at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:357) at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:636) at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:684)
(180507 14:55)
I upgraded to Hadoop 3.0.0 then the error "Could not determine OS" was removed, but still, the task track page didn't work.
I checked Nodemanager log once again, then I found the message.
2018-05-07 14:53:14,803 INFO org.apache.hadoop.yarn.server.nodemanager.NodeManager: Node Manager health check script is not available or doesn't have execute permission, so not starting the node health script runner.
Is this a cause?
(180507 16:22)
I forgot to run JobHistoryServer, so I execute
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver
.41446 JobHistoryServer 41672 NameNode 41779 DataNode 41924 SecondaryNameNode 42128 ResourceManager 42234 NodeManager 42772 Jps
It looks JobHistoryServer is running, but I cannot open the Job Track page.
(180507 16:38) SOLVED
I try to open job history page not by clicking HISTORY button bun accessing "http://localhost:19888", then I can open a job history page!!
The causes might be
- The setting properties of
mapred-site.xml
and others(Mr. Phani Kumar Yadavilli suggested)- Whether run the Job History Server Process.
- Access by using URL, not using History buttom
- The version of Hadoop.
原文:https://stackoverflow.com/questions/50200130
最满意答案
您需要像我在小提琴中提到的那样使用jquery keyup事件。
请检查这个小提琴
如果三个认可席位的总和大于总数,我只是将文本框的值留空。
我也有cleare 3文本框,如果你提供整个文本框
Open this link
: https : //jsfiddle.net/5y6na3wr/7/You need to use jquery keyup event as I mentioned in fiddle.
Please check this fiddle
Here I just made textbox value blank if sum of three sanctioned seats are greater than total.
Also i have cleare 3 textbox if you chane total textbox
Open this link
: https://jsfiddle.net/5y6na3wr/7/
相关问答
更多-
您可以开发一些脚本来获取生成的文本框的所有文本值,方法是为它们分配所有相同的ID,然后让脚本按ID获取值。 然后将其存储到您可以在C#代码中访问的变量中 您的文本框的HTML,包括一个隐藏的TextBox,可以使用脚本填充其余文本框的值: 此时对JQuery的个人偏好(但我很确定你可以用任何脚本完成类似的事情): $('body').live ...
-
我通过单击输入字段扩展了list.onclick处理程序脚本以获取当前行的作业ID: list.onclick = function(e) { var evt = e || window.event, src = evt.target || evt.srcElement; if (src.tagName != 'INPUT') return; //var myIndex = findIndex(src); // fetching TR ...
-
不要使用表格进行布局 使用标签标签 将样式float: left分配给:标签和输入字段。 然后在它们下方添加清除(如果元素相互重叠有任何问题)。 替代方案是指定display: inline到输入字段。 Don't use tables for layout use label tag Assign style float: left to both: labels and input fields. Then add clear below them (if you have any issues wit ...
-
表格的输入框值不应大于表格外的输入框(input boxes value of table should not be greater then input box outside of table)[2023-10-21]
您需要像我在小提琴中提到的那样使用jquery keyup事件。 请检查这个小提琴 如果三个认可席位的总和大于总数,我只是将文本框的值留空。 我也有cleare 3文本框,如果你提供整个文本框 Open this link : https : //jsfiddle.net/5y6na3wr/7/ You need to use jquery keyup event as I mentioned in fiddle. Please check this fiddle Here I just made text ... -
看看.closest()和:eq()选择器。 jQuery(document).delegate("input[name='edit']", "click",function (e) { // Will return the Parent Row of clicked input var _tr = $(this).closest('tr'); // You have 9 td in particular row // Let's access the 7th inpu ...
-
如果您无法更改现有的HTML结构并希望在单击最近的
元素时执行操作,请使用以下代码。 Javascript(jQuery) $(document).ready(function(){ $('table tr td input[type="checkbox"]').each(function () { if ($( this ).prop('disabled')) { $( this ).closest('tr').addClass('lineThrough'); ... 在ASP Classic中, Request.Form("someName")返回一个实现IStringList接口的对象。 这个接口有两个成员Item([i]]) ,它是默认属性和Count 。 如果您发布到ASP,您应该删除[]后缀。 您可以使用额外的索引器参数i访问多个使用相同名称的值。 例如 Dim someValue : someValue = Request.Form("someName")(2) 我不记得这个集合是基于0还是1,但应该很容易让你测试。 该对象也可以支持For Each , ...在while循环中输入框(Input boxes in while loop)[2023-08-15]
while($namerow=mysqli_fetch_array($names)) { $name=$namerow["name"]; echo " "; } 每当代码在循环中重复时,它会给你一个不同的输入名称。 你也可以使用name="points[]" 它会返回数组中 ...$name will use points. 正如你在评论中提到的那样,问题源于盒子被包裹的框架。如下所示: browser.visit(browser.find_by_tag('frame')[0]['src']) browser.fill('TextBox1', 'John') As you mention in your comments, the problem stems from the frame that the box is wrapped in. Get around it like this: browser.visit(bro ...根据另一个输入框和乘以的货币更改输入值(Changing value of input based on another input box and multiplied currency)[2022-02-28]
如果你想要一个带小数的数字,你应该使用parseFloat而不是parseInt 。 你还应该删除你正在调用的each函数: $(".productTextInput").each(function() { $(this).change(function() { 只需使用click函数, $(this)将引用单击的元素。 您可以将代码简化为以下内容: $(".productTextInput").change(function() { var priceAmount = parseFlo ...相关文章
更多- ACCESS TOKEN
- java微信接口之——获取access_token
- Securing Solr on Tomcat access using a user account
- Force.com微信开发系列(四)申请Access Token及自定义菜单之创建菜单
- solr 通过URL删除索引
- [22] 微信公众平台开发教程第22篇-如何保证access_token长期有效
- Don’t work. Be hated. Love someone.
- 荐 Nutch学习笔记7---url的正则过滤机制研究
- RFC2848--The PINT Service Protocol: Extensions to SIP and SDP for IP Access to Telephone Call Services
- 在Rails中如何打开一个外部URL,并得到该URL的返回结果。
最新问答
更多- 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
- 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
- OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
- 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
- codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
- 在计算机拍照在哪里进入
- 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
- No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
- 单页应用程序:页面重新加载(Single Page Application: page reload)
- 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
- System.StackOverflow错误(System.StackOverflow error)
- KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
- 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
- android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
- TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
- 企业安全培训的各项内容
- 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
- C#类名中允许哪些字符?(What characters are allowed in C# class name?)
- NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
- 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
- 将多个行和可变行移动到列(moving multiple and variable rows to columns)
- 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
- 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
- Angular $资源不会改变方法(Angular $resource doesn't change method)
- 在Angular 5中不是一个函数(is not a function in Angular 5)
- 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
- 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
- 常见的python rpc和cli接口(Common python rpc and cli interface)
- Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
- 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)