小编Car*_*ega的帖子

Courier Fetch:分片失败

为什么在向elasticsearch添加更多数据后会收到这些警告?每次浏览仪表板时警告都不同.

"Courier Fetch:60个碎片中有30个失败了."

例1

例2

更多细节:

它是CentOS 7.1上的唯一节点

/etc/elasticsearch/elasticsearch.yml

index.number_of_shards: 3
index.number_of_replicas: 1

bootstrap.mlockall: true

threadpool.bulk.queue_size: 1000
indices.fielddata.cache.size: 50%
threadpool.index.queue_size: 400
index.refresh_interval: 30s

index.number_of_shards: 5
index.number_of_replicas: 1
Run Code Online (Sandbox Code Playgroud)

/usr/share/elasticsearch/bin/elasticsearch.in.sh

ES_HEAP_SIZE=3G

#I use this Garbage Collector instead of the default one.

JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC"
Run Code Online (Sandbox Code Playgroud)

集群状态

{
  "cluster_name" : "my_cluster",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 61,
  "active_shards" : 61,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 61
}
Run Code Online (Sandbox Code Playgroud)

集群细节

{
  "cluster_name" : "my_cluster",
  "nodes" : { …
Run Code Online (Sandbox Code Playgroud)

elasticsearch kibana kibana-4

28
推荐指数
4
解决办法
4万
查看次数

Elasticsearch - NoNodeAvailableException

尝试使用Java API for ES 2连接到Elasticsearch 2时出现以下错误.这是代码:

Settings settings = Settings.settingsBuilder().put("cluster.name", Receptor.clusterName).build();
TransportClient transportClient = TransportClient.builder().settings(settings).build();
Client c = null;
try {
     c = transportClient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(Receptor.es_ip), 9300));
} catch (UnknownHostException e) {
     System.err.println(Util.getTimestampStr() + "UnknownHostException error.");
     e.printStackTrace();
}

CreateIndexRequestBuilder createIndexRequestBuilder = c.admin().indices().prepareCreate(indexName);
createIndexRequestBuilder.addMapping(documentName, json);
createIndexRequestBuilder.execute().actionGet();
Run Code Online (Sandbox Code Playgroud)

我能够在transportClient.connectedNodes()上获取我的ES节点,但是当我尝试添加新的映射时,我得到了NoNodeAvailableException异常.此代码适用于以前版本的Elasticsearch.什么是错的?

NoNodeAvailableException[None of the configured nodes are available:
[]]     at
org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:280)
    at
org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:197)
    at
org.elasticsearch.client.transport.support.TransportProxyClient.execute(TransportProxyClient.java:55)
    at
org.elasticsearch.client.transport.TransportClient.doExecute(TransportClient.java:272)
    at
org.elasticsearch.client.support.AbstractClient.execute(AbstractClient.java:347)
    at
org.elasticsearch.client.support.AbstractClient$IndicesAdmin.execute(AbstractClient.java:1177)
    at
org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:85)
    at
org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:59)
Run Code Online (Sandbox Code Playgroud)

java elasticsearch

10
推荐指数
1
解决办法
1万
查看次数

应用仅在从Xcode运行时发现蓝牙设备

我正在为Empatica E4腕带使用该项目的分支,并且如果不从Xcode运行该应用程序,就无法使发现设备正常工作。这种情况可以用原始样本项目复制。

通过Xcode运行项目时,我可以看到附近设备的列表。但是,当我关闭应用程序并从手机中跑了进来(而不是在Xcode上单击“播放”)时,我看不到任何设备。

我应该在项目上配置某些内容还是拥有开发者帐户?现在,我没有支付开发者帐户,但我认为无需使用Xcode运行该应用程序就可以做到这一点。谢谢。

简而言之:我可以在不将手机连接到XCode的情况下打开该应用程序,但是当我未连接到XCode时找不到设备。

更多细节。当通过 iphone上的Xcode执行时,设备发现工作正常。在日志上,我们可以看到:

E4tester    [didUpdate] status 2 • kBLEStatusScanning
bluetoothd  Received XPC message "CBMsgIdScan" from session "Empatica.E4testerCV-central-313-24"
bluetoothd  Received 'start scan' request without duplicates for all UUIDs from session "Empatica.E4testerCV-central-313-24"
bluetoothd  State of application "Empatica.E4testerCV" is now "foreground-running"
Run Code Online (Sandbox Code Playgroud)

然而。在iPhone上打开应用程序(而不是通过Xcode运行)时,我们会收到以下日志消息:

E4tester    [didUpdate] status 0 • kBLEStatusNotAvailable
E4tester    Task <EA813C26-F662-461C-8C47-A97FA7E32BA4>.<0> response ended
E4tester    Task <EA813C26-F662-461C-8C47-A97FA7E32BA4>.<0> done using Connection 1
Run Code Online (Sandbox Code Playgroud)

这里重要的细节是kBLEStatusNotAvailable状态,与形成对比kBLEStatusScanning。根据他们的文档,这意味着iOS设备不支持Bluetooth LE,或者Bluetooth LE模块未激活。但设备确实支持BT …

bluetooth ios swift

10
推荐指数
1
解决办法
128
查看次数

将表格数据存储在Swift上

我想知道是否有任何一种数据结构或库可以让我存储表格数据(并向其中添加新数据)以及对其进行操作(计算聚合等)。

具体来说,我正在寻找类似于pandas(用于python)的东西。现在,我不需要绘制数据表,而只需要存储数据。

例如,假设我想每5秒将值添加到一个表中,这样,每隔一小时我就会将信息聚合到一个新的数据结构中。如果还有任何图表库,例如matplotlib,但也很迅速,那也将很棒。

提前谢谢你

ios swift

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

使用结构池正确处理内存

我有一个包含三个结构池的程序.对于它们中的每一个,我使用一个使用过的结构列表,另一个用于未使用的结构.在执行期间,程序使用结构,并根据需要将它们返回池中.此外,还有一个垃圾收集器来清理"僵尸"结构并将它们返回到池中.

在执行开始时,虚拟内存(如预期的那样)显示大约10GB*的内存分配,并且当程序使用该池时,RSS内存会增加.

虽然使用的节点返回池中,标记为未使用的节点,但RSS内存不会减少.我期待这一点,因为操作系统不知道我正在对内存做什么,无法注意到我是在真正使用它们还是管理池.

我想做的是强制未使用的内存随时返回虚拟内存,例如,当RSS内存增加到X GB以上时.

有没有办法在给定内存指针的情况下标记将其放入虚拟内存的内存区域?我知道这是操作系统的责任,但也许有办法强迫它.

也许我不应该关心这个,你怎么看?

提前致谢.

  • 注1:该程序用于高性能计算,这就是它使用这么多内存的原因.

我提供了几个文件的池使用情况与内存使用情况的图片.正如您所看到的,池使用中的突然下降是由于垃圾收集器,我希望看到的是,这种下降反映在内存使用中.

结构池使用和内存使用情况

c memory memory-management pool

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

创建循环流程图(circos)

我正在寻找一个应用程序来创建图片中的图表.我一直在使用gephi并尝试使用circos.Gephi仍然处于测试阶段,并且为了获得图表,circos需要大量配置.我正在寻找一些更容易的东西,可以将csv文件转换成这样的图表.

循环流程图

charts visualization

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