我的群集处于黄色状态,因为某些分片未分配.该怎么办?
我尝试设置cluster.routing.allocation.disable_allocation = false
所有索引,但我认为这不起作用,因为我使用的是1.1.1版本.
我也尝试重新启动所有机器,但同样的情况发生了.
任何的想法?
编辑:
群集统计:
{
cluster_name: "elasticsearch",
status: "red",
timed_out: false,
number_of_nodes: 5,
number_of_data_nodes: 4,
active_primary_shards: 4689,
active_shards: 4689,
relocating_shards: 0,
initializing_shards: 10,
unassigned_shards: 758
}
Run Code Online (Sandbox Code Playgroud)我有一个包含3个索引的elasticsearch集群:
/users/user
/events/visit
/events/register
/pages/page
Run Code Online (Sandbox Code Playgroud)
所以,现在我需要运行处理多个索引的查询.
例如:获取在第X页中注册的用户的性别. (要获取此信息,我需要来自多个索引的信息.)
这可能吗?也许整合hadoop?
这个HTOP输出中的VIRT列是什么意思?它呈红色并加粗.
我正在运行一个包含4个节点的弹性搜索集群并索引大量数据.
它始终显示绿色健康.
这是一款带有4GB RAM和2个CPU的 DigitalOcean液滴.我正在将heapsize设置为2gb (-Xms和-Xmx).
这是RAM内存的开销吗?
1 [||||| 9.4%] Tasks: 26, 122 thr; 2 running
2 [||| 4.3%] Load average: 0.25 0.47 0.65
Mem[||||||||||||||||||||||||||||||2592/3954MB] Uptime: 2 days, 01:05:57
Swp[ 0/0MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
9629 root 20 0 16.2G 2516M 97360 S 12.0 63.6 27h02:30 /usr/bin/java -Xms256m -Xmx1g -Xss256k -
21564 root 20 0 16.2G 2516M 97360 S 4.0 63.6 1:12.17 /usr/bin/java -Xms256m -Xmx1g …
Run Code Online (Sandbox Code Playgroud) 我在设置MySQL RDS时遇到了麻烦.
从我的EC2实例我可以很好地连接,但从我的笔记本电脑我得到错误2003(超时).
我应该在我的VPC或Internet网关上配置一些东西吗?
我正计划在日期和用户指导中查询数百万个文档的策略.
使用路由或索引时有什么区别或优势?
我每周登录数百万个小日志文件:
我的第一个想法是将所有文档放在HBase/HDFS中并运行Hadoop作业生成统计结果.
问题是:一些结果必须接近实时.
因此,经过一些研究后我发现了ElasticSearch,现在我正在考虑转移数百万个文档并使用DSL-Queries生成统计结果.
这是一个好主意吗?ElasticSearch似乎很容易处理数百万/数十亿的文档.
我可以使用多个节点作为集群主节点吗?
我为什么要这样做?也许是为了分发查询?
另一个问题:主节点可以是比数据节点最小的机器吗?我目前的群集是:
n1 - 8gb ram, 4 cpu - (x) master - ( ) data
n2 - 4gb ram, 2 cpu - ( ) master - (x) data
n3 - 4gb ram, 2 cpu - ( ) master - (x) data
n4 - 4gb ram, 2 cpu - ( ) master - (x) data
n5 - 4gb ram, 2 cpu - ( ) master - (x) data
Run Code Online (Sandbox Code Playgroud)
我的所有查询都被发送到N1,我在HTOP中看到主节点总是容易和新的CPU/RAM使用和数据节点获得大部分cpu/ram使用.
我有两个用户ID的数组,我想检查其中的不同项目.
arr1 = [123, 456, 789];
arr2 = [123, 456, 789, 098];
Run Code Online (Sandbox Code Playgroud)
问题是:这些阵列可能有10或2千万个项目.
我正在尝试,underscore.difference()
但需要10分钟才能完成.
有没有更快的方法来做到这一点?
我正在使用Rails 4和ActiveAdmin与SQLite.
app
models
system
- admin_user.rb
- customer.rb
resources
- document.rb
Run Code Online (Sandbox Code Playgroud)
config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**/}')]
Run Code Online (Sandbox Code Playgroud)
class System::AdminUser < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable,
:recoverable, :rememberable, :trackable, :validatable
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable,
:recoverable, :rememberable, :trackable, :validatable
end
Run Code Online (Sandbox Code Playgroud)
-
所以,当我尝试运行时,rake db:migrate
我收到此错误:
LoadError: Unable to autoload constant AdminUser, expected /Users/john/testing/app/models/System/admin_user.rb to define …
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行此_search
查询:
{
"query": {
"range": {
"created_time": {
"gt": "now-24h"
}
},
"terms": {
"from_id": [
"144458",
"112275"
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它返回此错误:
{
error: SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed; shardFailures {[GAIodkFdTI-mHRS2_IE-JQ][content][0]: SearchParseException[[content][0]: query[created_time:{1409011409797 TO *]],from[-1],size[-1]: Parse Failure [Failed to parse source [{"query":{"range":{"created_time":{"gt":"now-24h"}},"terms":{"from_id":["144458","112275"]}}}]]]; nested: ElasticsearchParseException[Expected field name but got START_OBJECT "terms"]; }]
status: 400
}
Run Code Online (Sandbox Code Playgroud)
如果我删除range
块或terms
块,它工作正常.它们只在一起尝试时才起作用.
这是弹性搜索的问题吗?这可能吗?
amazon-ec2 ×1
amazon-rds ×1
bigdata ×1
hadoop ×1
hbase ×1
hdfs ×1
heap ×1
javascript ×1
memory ×1
mysql ×1
node.js ×1
ruby ×1