小编Dav*_*day的帖子

尝试创建zNode时Apache Curator未实现的错误

我正在尝试将Apache Curator与dockerized zookeeper实例一起使用,无论我如何尝试连接,我总是最终得到一个

org.apache.zookeeper.KeeperException $ UnimplementedException:KeeperErrorCode =未实现...

错误.我已经尝试了解文档,但我没有到达任何地方.我已登录zookeeper CLI并确保端口号正确:

snerd@powerglove:~$ docker ps CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS   NAMES 31f1093495ba        compose_zookeeper   "/opt/zookeeper/bin/   3 weeks ago         Up About a minute   0.0.0.0:32770->2181/tcp,
0.0.0.0:32769->2888/tcp, 0.0.0.0:32768->3888/tcp   zookeeper
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试使用的代码:

public class App {
    public static void main( String[] args ) {
        CuratorFramework client = CuratorFrameworkFactory.newClient("0.0.0.0:32770", new RetryUntilElapsed(3000, 1000));
        client.start();

            try {
                client.create().forPath("/larry-smells/foop", "tuna?".getBytes());
            } catch (Exception e) {
                System.out.println(e.toString());
            }

    }
}
Run Code Online (Sandbox Code Playgroud)

据我所知,从策展人入门页面来看,这应该可行.我错过了什么?

edit1 刚才发现我能够将数据从动物园管理员集合中拉出来:

System.out.println(new String(curatorFramework.getData().forPath("/larry-smells"))); 
Run Code Online (Sandbox Code Playgroud)

但是create命令仍然在爆炸.

EDIT2

错误的堆栈跟踪:

org.apache.zookeeper.KeeperException $ …

apache apache-zookeeper apache-curator

18
推荐指数
1
解决办法
7531
查看次数

你可以像Java应用程序一样部署用smalltalk/squeak/pharo编写的应用程序吗?

最近我一直在探索smalltalk方言的世界并且给我留下了非常深刻的印象(从这里可以理解,当我写'smalltalk'时,我正在引用任何现代的smalltalk方言 - squeak/pharo/etc).我喜欢VM的小占地面积和语言本身.

作为研究生,经常需要编写支持我研究的工具.通常我使用Java是因为我可以轻松地将工具部署到我的同事,而不必担心他们的计算机设置是什么或者他们是多么精通技术.启动GUI界面非常容易,最终用户所要做的就是双击可执行JAR并且它们是gtg.问题是Java存在各种安全问题,并不总是在每个平台上以相同的方式运行.因此,Smalltalk开始看起来很有吸引力.

我知道可以创建一个只需双击图标即可启动的smalltalk程序.我想知道的是我是否可以创建一个沙盒的smalltalk世界,这样用户看到并能够与之交互的唯一内容就是我的应用程序.我不希望他们看到smalltalk世界的任何方面.这样,用户就不会意外地搞砸或弄糊涂,因为他们可以访问与程序使用不直接相关的大量选项.这是可能的,如果是的话,我该怎么做?

java smalltalk squeak virtual-machine pharo

7
推荐指数
1
解决办法
1243
查看次数

gitkraken不会自动删除远程功能分支

将gitkraken与支持gitflow的存储库一起使用,并试图找出如何以这种方式完成功能分支,以便从远程删除该功能分支(如果存在).当您使用git-flow脚本时,这会自动发生.与gitkraken一起,手册中似乎没有任何提及.我错过了什么或者没有办法用gitkraken自动执行此操作?

git git-flow gitkraken

6
推荐指数
1
解决办法
1495
查看次数

Smalltalk图像中的对象数量是否有上限?

我正在组建一个NLP实验,其中概念是系统中的代理,旨在产生由新概念组成的Emergent属性(这里是那些不知道Emergence是什么的链接).Smalltalk(特别是Pharo方言)似乎是这种应用程序的理想选择,因为我可以轻松地创建完全封装的概念对象,这些对象彼此相关,作为独立代理,而SmallTalk允许我检查系统正在运行的状态.

我担心的是,如果存在太多对象并且所有对象都相互发送消息,系统是否会开始阻塞.从理论上讲,我的实现可以产生数百万个概念对象,如果系统无法处理那么大的东西,我不想把时间花在SmallTalk上.

  1. 有关SmallTalk图像中活动对象数量的限制因素(软件因素,而不是硬件)吗?

  2. 系统能否处理具有数百万个chatty对象的系统中存在的消息流量?

预先感谢您的帮助!

smalltalk squeak pharo

5
推荐指数
1
解决办法
203
查看次数

如何在Spark-notebook中使用Accumulo 1.6创建Spark RDD?

我有一个Vagrant图像,Spark Notebook,Spark,Accumulo 1.6和Hadoop都在运行.从笔记本,我可以手动创建一个扫描仪,并从我使用其中一个Accumulo示例创建的表中提取测试数据:

val instanceNameS = "accumulo"
val zooServersS = "localhost:2181"
val instance: Instance = new ZooKeeperInstance(instanceNameS, zooServersS)
val connector: Connector = instance.getConnector( "root", new PasswordToken("password"))
val auths = new Authorizations("exampleVis")
val scanner = connector.createScanner("batchtest1", auths)

scanner.setRange(new Range("row_0000000000", "row_0000000010"))

for(entry: Entry[Key, Value] <- scanner) {
  println(entry.getKey + " is " + entry.getValue)
}
Run Code Online (Sandbox Code Playgroud)

将给出前10行表数据.

当我尝试创建RDD时:

val rdd2 = 
  sparkContext.newAPIHadoopRDD (
    new Configuration(), 
    classOf[org.apache.accumulo.core.client.mapreduce.AccumuloInputFormat], 
    classOf[org.apache.accumulo.core.data.Key], 
    classOf[org.apache.accumulo.core.data.Value]
  )
Run Code Online (Sandbox Code Playgroud)

由于以下错误,我得到一个RDD返回给我,我做不了多少:

java.io.IOException:尚未设置输入信息.org.apache.accumulo.core.client.mapreduce.lib.impl.InputConfigurator.validateOptions(InputConfigurator.java:630)at org.apache.accumulo.core.client.mapreduce.AbstractInputFormat.validateOptions(AbstractInputFormat.java:343) org.apache.accumulo.core.client.mapreduce.AbstractInputFormat.getSplits(AbstractInputFormat.java:538)位于org.apache.spark.rdd的org.apache.spark.rdd.NewHadoopRDD.getPartitions(NewHadoopRDD.scala:98) .RDD $$ anonfun $ partition $ 2.apply(RDD.scala:222)at org.apache.spark.rdd.RDD $$ anonfun …

hadoop scala accumulo apache-spark spark-notebook

5
推荐指数
1
解决办法
4196
查看次数

类型提示音调适合函数参数但不适合返回类型

我是Python的新手,很高兴发现Python3中的类型提示功能.我通过PEP 484阅读并在SO上发现了这个问题,其中提出问题的人想知道为什么没有检查函数的返回类型.受访者指出PEP 484中的一个部分表示检查不会在运行时发生,并且意图是类型提示将由外部程序解析.

我启动了python3 REPL并决定尝试这个

>>> def greeting() -> str: return 1
>>> greeting()
1
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.我对函数参数感到好奇,所以我尝试了这个:

>>> def greeting2(name: str) -> str: return 'hi ' + name
>>> greeting2(2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in greeting2
TypeError: Can't convert 'int' object to str implicitly
Run Code Online (Sandbox Code Playgroud)

现在这是轮子似乎脱落的地方,因为看起来,至少在功能参数方面,有检查.我的问题是为什么检查参数而不是返回类型?

python type-hinting python-3.5

3
推荐指数
1
解决办法
57
查看次数

Tuple2的概念目的是什么?

以此作为对这个SO问题的跟进

我是scala的新手并且正在解决99个问题.给出的p9解决方案是:

object P09 {
  def pack[A](ls: List[A]): List[List[A]] = {
    if (ls.isEmpty) List(List())
    else {
      val (packed, next) = ls span { _ == ls.head }
      if (next == Nil) List(packed)
      else packed :: pack(next)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

跨度功能在这里做所有的工作.正如您从API文档(它是链接)中看到的那样,span返回一个Tuple2(实际上,doc说它返回一对 - 但是它已经被弃用了,或者是Tuple2).我试图弄清楚为什么你没有得到像列表列表或某些这样的东西,并偶然发现上面的SO链接.据我了解,Tuple2的原因在于不必处理Java的"装箱/拆箱"之类的东西,比如整数这样的对象.我的问题是

1)那是一个准确的陈述吗?

2)是否还有其他原因可以让span返回Tuple2?

谢谢!

functional-programming scala

2
推荐指数
1
解决办法
87
查看次数