Elasticsearch修改集群名字后索引数据

载心问情 2015-10-12 05:47:24
我在公司局域网里面搭了两个es,默认的cluster.name都是elasticsearch,他们自动建集群了,然而这不是想要的结果,我要他们各自同步不同的数据,于是我改了elasticsearch.yml文件,只修改了cluster.name值,但是改了之后同步脚本执行不了,同步脚本如下:

echo '{
"type" : "jdbc",
"jdbc" : {
"url" : "'$kburl'",
"user" : "'$kbuser'",
"password" : "'$kbpassword'",
"sql" : "select t.id as _id,t.title,t.keyword,t.contentText,t.releaseUser,t.releaseDate from tb_information t where t.status=3",
"index" : "kb",
"type" : "tb_information"
}
}' | java \
-cp "${lib}/*" \
-Dlog4j.configurationFile=${bin}/log4j2.xml \
org.xbib.tools.Runner \
org.xbib.tools.JDBCImporter

org.xbib.tools.JDBCImporter这里面报错了,异常如下:

[11:43:58,484][INFO ][BaseTransportClient ][pool-2-thread-1] trying to connect to [inet[localhost/127.0.0.1:9300]]
[11:43:58,601][WARN ][org.elasticsearch.client.transport][pool-2-thread-1] [importer] node [#transport#-1][vhost001.szrjk][inet[localhost/127.0.0.1:9300]] not part of the cluster Cluster [elasticsearch], ignoring...
[11:43:58,602][ERROR][importer ][pool-2-thread-1] error while getting next input: no cluster nodes available, check settings {cluster.name=elasticsearch, port=9300, sniff=false, autodiscover=false, name=importer, client.transport.ignore_cluster_name=false, client.transport.ping_timeout=5s, client.transport.nodes_sampler_interval=5s}
org.elasticsearch.client.transport.NoNodeAvailableException: no cluster nodes available, check settings {cluster.name=elasticsearch, port=9300, sniff=false, autodiscover=false, name=importer, client.transport.ignore_cluster_name=false, client.transport.ping_timeout=5s, client.transport.nodes_sampler_interval=5s}
at org.xbib.elasticsearch.support.client.BaseTransportClient.createClient(BaseTransportClient.java:53) ~[elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.elasticsearch.support.client.BaseIngestTransportClient.newClient(BaseIngestTransportClient.java:22) ~[elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.elasticsearch.support.client.transport.BulkTransportClient.newClient(BulkTransportClient.java:88) ~[elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.elasticsearch.jdbc.strategy.standard.StandardContext$1.create(StandardContext.java:440) ~[elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.elasticsearch.jdbc.strategy.standard.StandardSink.beforeFetch(StandardSink.java:94) ~[elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.elasticsearch.jdbc.strategy.standard.StandardContext.beforeFetch(StandardContext.java:207) ~[elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.elasticsearch.jdbc.strategy.standard.StandardContext.execute(StandardContext.java:188) ~[elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.tools.JDBCImporter.process(JDBCImporter.java:117) ~[elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.tools.Importer.newRequest(Importer.java:241) [elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.tools.Importer.newRequest(Importer.java:57) [elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.pipeline.AbstractPipeline.call(AbstractPipeline.java:86) [elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at org.xbib.pipeline.AbstractPipeline.call(AbstractPipeline.java:17) [elasticsearch-jdbc-1.6.0.0-uberjar.jar:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [?:1.7.0_79]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [?:1.7.0_79]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [?:1.7.0_79]
at java.lang.Thread.run(Thread.java:745) [?:1.7.0_79]
[11:43:58,622][WARN ][BulkTransportClient ][Thread-1] no client

从上面可以看出他还是找elasticsearch这个集群,感觉设置那个cluster.name没生效,但是http://....:9200/_plugin/head/这个页面上cluster.name已经改过来了。
在同步脚本上叫上下面这些属性也是一样:

"elasticsearch" : {
"cluster" : "elastic search.dev",
"host" : "localhost",
"port" : 9300
},
...全文
336 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
载心问情 2015-10-13
  • 打赏
  • 举报
回复

echo '{

"type" : "jdbc",

"jdbc" : {

"url" : "'$kburl'",

"user" : "'$kbuser'",

"password" : "'$kbpassword'",

"sql" : "select t.id as _id,t.title,t.keyword,t.contentText,t.releaseUser,t.releaseDate from tb_information t where t.status=3",

"elasticsearch" : {

"cluster" : "elastic search.dev",

"host" : "localhost",

"port" : 9300

},
"index" : "kb",

"type" : "tb_information"

}

}' | java \

-cp "${lib}/*" \

-Dlog4j.configurationFile=${bin}/log4j2.xml \

org.xbib.tools.Runner \

org.xbib.tools.JDBCImporter


这样正解

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧