elasticsearchmysql集群river
我在公司局域网里面搭了两个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没生效,但是在页面上看到cluster.name已经改过来了。
在同步脚本上加上下面属性也是一样:
elasticsearch : { cluster : elastic search.dev, host : localhost, port : 9300 },