Protobuf RPC在Hadoop 2.2.0单节点服务器上不可用?(Protobuf RPC not available on Hadoop 2.2.0 single node server?)
我正在尝试按照本教程在我安装的本地单节点集群上运行hadoop 2.2.0 mapreduce作业: http : //codesfusion.blogspot.co.at/2013/10/setup-hadoop-2x-220-on- ubuntu.html?m = 1的
虽然在服务器端引发了以下异常:
org.apache.hadoop.ipc.RpcNoSuchProtocolException: Unknown protocol: org.apache.hadoop.yarn.api.ApplicationClientProtocolPB at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.getProtocolImpl(ProtobufRpcEngine.java:527) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:566) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2048) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2044) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2042)
有没有办法让我配置Protobuf RPC在服务器端可用? 我需要hadoop本机库吗? 或者我可以在客户端以某种方式切换到Writables / Avro RPC吗?
I am trying to run a hadoop 2.2.0 mapreduce job on my local single node cluster installed by following this tutorial: http://codesfusion.blogspot.co.at/2013/10/setup-hadoop-2x-220-on-ubuntu.html?m=1
Though on the server side the following exception is thrown:
org.apache.hadoop.ipc.RpcNoSuchProtocolException: Unknown protocol: org.apache.hadoop.yarn.api.ApplicationClientProtocolPB at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.getProtocolImpl(ProtobufRpcEngine.java:527) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:566) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2048) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2044) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2042)
Is there a way for me to configure Protobuf RPC to be available on server side? Do I need the hadoop native libraries for this? Or can I switch somehow on the client side to Writables/Avro RPC?
原文:
最满意答案
相关问答
更多-
您正在绘制的每个帧上创建一个新的位图。 这是非常昂贵的。 您应该使用drawBitmap()的版本,该版本采用源矩阵和目标矩形。 You are creating a new bitmap on every frame you draw. It's extremely expensive. You should use the version of drawBitmap() that takes a source and a destination rectangle instead.
-
有什么例外? 正如我在默认情况下所记得的那样,位图是不可变的意味着你无法修改它。 需要创建位图的副本。 What is the exception? as I remembered by default the bitmap is immutable means you cannot modify it. create a copy of the bitmap is required.
-
在位图上使用灰度颜色(Using greyscale colors on bitmap)[2021-10-29]
不,.NET中没有GreyColor这样的东西。 GreyColor只是一种颜色的特殊情况,就像柠檬绿是一种颜色的特殊情况一样。 不需要使模型复杂化。 如果您可以找到您正在寻找的颜色 ,则可以使用一些预定义的颜色 。 这些只是返回一个具有与预定义颜色匹配的ARGB值的Color对象,因此它们实际上没有做任何与您的代码在上面做的不同的事情。 它们只是为了方便程序员,他们不能或不想记住不那么直观的RGB颜色模型。 您似乎担心创建Color对象的潜在费用或冗余,但有几个原因可以解释为什么这不应该是一个问题。 您可 ... -
getPixel setPixel太慢了,.NET CF上还有其他选择吗?(getPixel setPixel too slow, is there any other alternative on .NET CF)[2022-02-12]
不要滚动你自己的循环。 您应该能够使用ImageAttributes属性运行DrawImage方法,设置正确的颜色键(白色,紫色,无论您在图像中使用什么)。 imageAttributes = new ImageAttributes(); imageAttributes.SetColorKey(Color.Magenta, Color.Magenta); graphics.DrawImage(image, destinationRectangle, ... -
Unknwon在Xamarin中使用Bitmap.SetPixel(x,y,color)(Unknwon Member Bitmap.SetPixel(x, y, color) in Xamarin)[2022-01-23]
你的Bitmap是不可变的,因此你得到了IllegalStateException ,你可以复制它,然后在副本上使用SetPixel 。 public static Bitmap Inversion(Bitmap bmp) { var mutableBitmap = Bitmap.CreateBitmap(bmp.Width, bmp.Height, bmp.GetConfig()); for (int x = 0; x < bmp.Width; x++) { for ... -
如果不转换为灰度,为什么不这样做呢? Bitmap A = new Bitmap(i.Width, i.Height); for (int x = 0; x < i.Width; x++) for (int y = 0; y < i.Height; y++) { Color C = i.GetPixel(x, y); Color WD = Color.FromArgb(C.R, 255, C.G, 0); A.SetPixel(x, y, WD ...
-
图像处理任务:侵蚀C#(Image processing task: Erosion C#)[2023-09-21]
如何在不使用不安全方法的情况下更快地进行侵蚀过程? 您可以将内部循环转换为Parallel.For() 。 但我不能100%确定GetPixel()和特别是SetPixel()是否是线程安全的。 这是一个交易破坏者。 how to make the erosion process quicker without using unsafe method? You can turn the inner loops into Parallel.For(). But I'm not 100% sure if Get ... -
鲍勃鲍威尔有一个很好的教程 ,直接在内存中访问像素映射。 Bob Powell has an excellent tutorial on accessing pixel maps directly in memory.
-
您无法在索引位图中设置单个像素,因为存储数据的方式。 对于索引位图,RGB值来自索引表,但它是单向操作 - 您不能仅从RGB值获取索引,因为在PutPixel操作时表无法获得合适的值。 可以从RGB位图中的所有RGB值创建新表,同时处理整个图像,这是非常昂贵的操作。 您需要以RGB格式创建新的位图,并将像素放在那里。 Bitmap newImage = new Bitmap(sourceImage.Width, sourceImagr.Height); 作为旁注,您应该在using构造内部使用Bitmap ...
-
你试过使用LockBit吗? 它将位图锁定在系统内存中,因此您可以对其进行原始访问,这比使用GetPixel和SetPixel方法快得多。 var bmp = /* open your bitmap */ // The area you want to work on. In this case the full bitmap Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height); System.Drawing.Imaging.BitmapD ...