我试图在 Windows Azure云上运行3个节点Hadoop集群.我已经通过配置,并测试发布.一切看起来都很好,但是,由于我以前使用OpedJDK,根据我所读取的不推荐用于Hadoop的VM,我决定将其替换为Oracle Server JVM.删除了旧的java安装与Yum,以及/usr/lib中的所有java文件夹,安装了最新版本的Oracle JVM,更新了PATH和JAVA_HOME变量;然而,现在发射我得到以下的按钮:
sed: -e expression #1,char 6: unkNown option to `s'
64-Bit: ssh: Could not resolve hostname 64-Bit: Name or service not kNown
HotSpot(TM): ssh: Could not resolve hostname HotSpot(TM): Name or service not kNown
Server: ssh: Could not resolve hostname Server: Name or service not kNown
VM: ssh: Could not resolve hostname VM: Name or service not kNown

等等. (总共约20-30个字符串与不应该与主机名相同的单词)

对我而言,由于启动脚本中sed的使用不正确,它似乎试图将部分代码作为Hostname传递:

if [ "$HADOOP_SLAVE_NAMES" != '' ] ; then
  SLAVE_NAMES=$HADOOP_SLAVE_NAMES
else
  SLAVE_FILE=${HADOOP_SLAVES:-${HADOOP_CONF_DIR}/slaves}
  SLAVE_NAMES=$(cat "$SLAVE_FILE" | sed  's/#.*$//;/^$/d')
fi

# start the daemons
for slave in $SLAVE_NAMES ; do
 ssh $HADOOP_SSH_OPTS $slave $"${@// /\\ }" \
   2>&1 | sed "s/^/$slave: /" &
 if [ "$HADOOP_SLAVE_SLEEP" != "" ]; then
   sleep $HADOOP_SLAVE_SLEEP
 fi
done

哪个看起来不变,所以问题是:JVM的变化可能如何影响sed?我该怎么解决?

解决方法

所以我找到了一个这个问题的答案:我的猜测是错误的,一切与sed是好的.然而问题在于如何使用Oracle JVM与外部库进行比较,与OpenJDK相比.它没有抛出异常,脚本不期望它,并且它破坏整个sed输入. 您可以通过添加以下系统变量来修复它: HADOOP_COMMON_LIB_NATIVE_DIR应该指向您的Hadoop安装的/ lib / native文件夹,并将-Djava.library.path = / opt / hadoop / lib添加到HADOOP_OPTS变量中已有的任何选项(注意/ opt / hadoop是我的安装文件夹,您可能需要更改它以使东西正常工作). 我个人将导出命令添加到hadoop-env.sh脚本,但将其添加到.bash文件或start-all.sh应该也可以.

在重新安装JVM后,在hadoop启动脚本中调用sed语法的更多相关文章

  1. osx – 无法创建目录/ var / teamsserver

    OpenSSH_6.2p2,OSSLShim0.9.8r8Dec2011debug1:Readingconfigurationdata/etc/ssh_configdebug1:/etc/ssh_configline20:Applyingoptionsfor*debug1:Connectingto1.2.3.4[1.2.3.4]portPORT.debug1:Connectionestablished.Couldnotcreatedirectory‘/var/teamsserver/.ssh’.debug

  2. ios – Xcode Server 4.0 git从构建触发脚本推送

    我为一个托管在github上的项目安装了一个XcodeBot.我按照步骤和设置机器人来使用我现有的SSH密钥.验证成功,项目结算和建立.然后,我在预触发器操作中添加了一个shell脚本,它增加了plist中的版本,将其标记,并将该更改提交到github.但是当我尝试从shell脚本执行gitpush时,我得到:–推送到git@github.com:spex-app/spex-ios.git权限被拒

  3. ios – Xcode上传错误:无法打开ssh会话. (16)

    注意:我们终于上传了该应用程序,但是我们并没有真正解决这个问题,所以如果有人可以分享一些有关这个问题的宝贵意见或经验,我将不胜感激.我也检查了以下2个类似的问题,但这些没有帮助:>Erroruploadingiosapplicationtoitunesconnect“failedtoopensshsession(16)”>AppStoresubmission/distributionerror“f

  4. swift详解之二十--------在xcode中使用git管理源代码,将代码提交到github

    在xcode中使用git管理源代码,将代码提交到github本文记录一下如何在Xcode中使用Git作为源代码控制工具,以及如何将本地的Git仓库和远程Github上的仓库集成起来,虽然这章节和swift没有关系,但我还是放在这里。对详细的git操作可以看在Xcode中使用Git进行源码控制讲得很详细,很好。将xcode与github链接起来。

  5. 使用 Swift语言进行 Hadoop 数据流应用程序开发

    如果您发现了问题,或者希望为改进本文提供意见和建议,请在这里指出.在您开始之前,请参阅目前待解决的问题清单.简介本项目包括两类Hadoop流处理应用程序:映射器mapper和总结器reducer。如上所示,在Hadoop上编写流处理程序是一个很简单的工作,也不需要依赖于特定的软件体系。

  6. 使用OSC生成SSH

    在很多项目开始前,大家可能都愿意把项目或者自己封装的代码放到github上,但是有一点蛋疼的就是如果要在github上新建私有的项目是要收费的,所以我选择了OSC,这个不仅可以吧github的项目转接到OSC上,而且OSC还可新建私有的项目。好了,牛逼不吹了,开始下面部署SSH的步骤。第一步访问git.oschina.net,注册自己的账号第二步访问如下界面第三步打开终端第四步查看公钥第五步第六步如果你看到了这个WelcometoGit@OSC,yourname!标识,就说明成功了。

  7. android – 基于JVM的语言,没有语言运行时

    ProGuard可以删除特定程序中未使用的部分运行时.如果速度和时间非常关键,另一种方法是使用NDK.

  8. android – 如何在gradle中调整dex内存的jvm args?

    我有一个Android项目,它在dex步骤中当前没有堆空间:我想在gradle中提高jvmmin/max设置,就像我们以前使用Maven插件一样:但是在gradle中的android插件的文档中我只看到这些选项:有办法吗?

  9. android – Timer()作为守护进程与非守护进程

    什么时候应该在Android应用程序中作为守护进程启动计时器?

  10. JVM的常用命令汇总

    监测java应用,最方便的就是直接使用jdk提供的现成工具,在jdk的安装的bin目录下,已经提供了多种命令行监测工具。本文为大家总结了几个JVM的常用命令,需要的可以参考一下

随机推荐

  1. 使用序列化将对象传递给另一个JVM – 相同的Java版本和jar(都运行我们的应用程序)

    但是想使用纯序列化到bytearray然后进行编码,将它从jvm1中的servlet1发送到jvm2中的servlet2局域网,在两个J2EE应用程序中设置相同的Java版本和jar)基本步骤是:–>将任何Serializable对象序列化为字节数组并生成字符串.确切的代码见下文>Base64输出1.是否需要基于64或可以跳过第2步?

  2. 所有JVM /系统中的Java,Object.hashCode()结果常量?

    Object.hashCode()的输出是否必须在同一个对象的所有JVM实现上相同?例如,如果“test”.hashCode()在1.4上返回1,它是否可能在1.6上返回2.或者如果操作系统不同,或者实例之间存在不同的处理器架构,该怎么办?

  3. Clojure的STM模型可以在多个JVM上运行吗?

    我知道Clojure在多核计算机上运行良好,但我想知道它是否适用于在多台计算机上分布的JVM集群?

  4. java – 加载时出现Eclipse jvm.dll错误

    解决方法按照评论中的要求.您的eclipse版本正在搜索jdk的x86版本.您应该检查您的eclipse是否是64位版本,如果没有,切换到64位jvm.

  5. java – 什么JVM优化导致这些性能结果?

    执行JavaREST服务性能测试我看到一个意外的模式:在每次调用中创建并返回相同值对象的方法比仅返回存储在类或对象字段中的值对象的另一个版本运行得更快.码:字节代码:>内联(更快):getstatic,invokestatic,invokevirtual,areturn>静态归档(较慢):getstatic,areturn>对象字段(较慢):aload,getfield,areturn性能(使用A

  6. java – JVM是否有计划在运行时支持泛型?

    你知道,就像CLR一样.有人甚至承认缺乏运行时通用信息是一个问题,并努力解决它?解决方法Java的设计者选择此解决方案来保持向后兼容性.从那时起,存在更多的Java代码,因此破坏向后兼容性会产生更糟糕的后果.所以我怀疑他们会改变他们的想法.

  7. 如何为多个jvm支持创建单例java类?

    任何想法,如何实现?

  8. java – 强制jvm返回本机内存

    参见英文答案>JVMsendingbackmemorytoOS3个我不时在需要大量内存的eclipse任务中运行.所以jvm在任务运行时吞下大约2-3GB的RAM,没关系.但是一旦jvm占用了那个内存它就不会释放它而且我有一种情况,当堆中使用的内存大约是200mb,总堆大小约为3gb时,这真的是不需要的,因为其他程序正在挨饿.我尝试了Max/MinHeapFreeRatio参数来强制jvm减少未使

  9. java – 获取给定JVM实例中所有当前加载的类的列表

    知道给定JVM实例当前加载哪些类是很方便的.例如,有没有办法让他们通过JVisualVM?

  10. java – JVM Spec,JVM Implementation,JVM Runtime之间的区别

    我读了以下几个字,但我想知道它们之间的差异……JVM规范,JVM实现,JVM运行时解决方法JVMSpec:描述JVM应如何表现的文档.JVM实现:基于JVMSpec的JVM实现.JVM运行时:JVM实现的一个实例.

返回
顶部