forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: zhengxiu <zhengxiu@huawei.com> Co-committed-by: zhengxiu <zhengxiu@huawei.com>
89 lines
13 KiB
HTML
89 lines
13 KiB
HTML
<a name="EN-US_TOPIC_0000001945217686"></a><a name="EN-US_TOPIC_0000001945217686"></a>
|
|
|
|
<h1 class="topictitle1">Accessing an Elasticsearch Cluster Through the Transport Client</h1>
|
|
<div id="body8662426"><p id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_p1670819573477">You can use Transport Client to access a CSS cluster with the security mode disabled. For a cluster in security mode, you are advised to use <a href="css_01_0065.html">Accessing an Elasticsearch Cluster Through the High Level REST Client</a>.</p>
|
|
<div class="section" id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_section15374261139"><h4 class="sectiontitle">Precautions</h4><ul id="EN-US_TOPIC_0000001945217686__ul16879202053413"><li id="EN-US_TOPIC_0000001945217686__li15879182093417">You are advised to use a Transport Client version that matches the Elasticsearch version. For example, use Transport Client 7.6.2 to access an Elasticsearch 7.6.2 cluster.</li><li id="EN-US_TOPIC_0000001945217686__li1388018204347">This solution is suitable for clusters that are not using the security mode. Such clusters can only be accessed through private IP addresses.</li><li id="EN-US_TOPIC_0000001945217686__li1348182815524">Transport Client has been deprecated in Elasticsearch 7.x. You are advised to use High Level Rest Client to access clusters instead.</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_section9316430144816"><h4 class="sectiontitle">Prerequisites</h4><ul id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_ul115524012184"><li id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_li181191829144220">The CSS cluster is available.</li><li id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_li578832518434">Ensure that the server running Java can communicate with the CSS cluster.</li><li id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_li551945111016">Install JDK 1.8 on the server. You can download JDK 1.8 from: <a href="https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html" target="_blank" rel="noopener noreferrer">https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html</a></li><li id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_li179251524104516">Declare Java dependencies.<p id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_p944674119185"><a name="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_li179251524104516"></a><a name="en-us_topic_0000001934020334_li179251524104516"></a><em id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_i1298619151218">7.6.2</em> indicates the version of the Elasticsearch Java client.</p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_screen8389956114811"><dependency>
|
|
<groupId>org.elasticsearch.client</groupId>
|
|
<artifactId>transport</artifactId>
|
|
<version><i><span class="varname" id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_varname1066241416432">7.6.2</span></i></version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.elasticsearch</groupId>
|
|
<artifactId>elasticsearch</artifactId>
|
|
<version><i><span class="varname" id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_varname1388410166434">7.6.2</span></i></version>
|
|
</dependency></pre>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_section13901959114811"><h4 class="sectiontitle">Accessing a Cluster</h4><p id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_p45497964912">The following code is an example of using Transport Client to connect to the Elasticsearch cluster and check whether the <strong id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_b2254195023312">test</strong> index exists.</p>
|
|
<div class="codecoloring" codetype="Java" id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_screen75502111500"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span>
|
|
<span class="normal">14</span>
|
|
<span class="normal">15</span>
|
|
<span class="normal">16</span>
|
|
<span class="normal">17</span>
|
|
<span class="normal">18</span>
|
|
<span class="normal">19</span>
|
|
<span class="normal">20</span>
|
|
<span class="normal">21</span>
|
|
<span class="normal">22</span>
|
|
<span class="normal">23</span>
|
|
<span class="normal">24</span>
|
|
<span class="normal">25</span>
|
|
<span class="normal">26</span>
|
|
<span class="normal">27</span>
|
|
<span class="normal">28</span>
|
|
<span class="normal">29</span></pre></div></td><td class="code"><div><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">org.elasticsearch.action.ActionFuture</span><span class="p">;</span>
|
|
<span class="kn">import</span><span class="w"> </span><span class="nn">org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequest</span><span class="p">;</span>
|
|
<span class="kn">import</span><span class="w"> </span><span class="nn">org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsResponse</span><span class="p">;</span>
|
|
<span class="kn">import</span><span class="w"> </span><span class="nn">org.elasticsearch.client.transport.TransportClient</span><span class="p">;</span>
|
|
<span class="kn">import</span><span class="w"> </span><span class="nn">org.elasticsearch.common.settings.Settings</span><span class="p">;</span>
|
|
<span class="kn">import</span><span class="w"> </span><span class="nn">org.elasticsearch.common.transport.TransportAddress</span><span class="p">;</span>
|
|
<span class="kn">import</span><span class="w"> </span><span class="nn">org.elasticsearch.transport.client.PreBuiltTransportClient</span><span class="p">;</span>
|
|
|
|
<span class="kn">import</span><span class="w"> </span><span class="nn">java.net.InetAddress</span><span class="p">;</span>
|
|
<span class="kn">import</span><span class="w"> </span><span class="nn">java.net.UnknownHostException</span><span class="p">;</span>
|
|
<span class="kn">import</span><span class="w"> </span><span class="nn">java.util.concurrent.ExecutionException</span><span class="p">;</span>
|
|
|
|
<span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">Main</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span><span class="w"> </span><span class="n">args</span><span class="p">)</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">ExecutionException</span><span class="p">,</span><span class="w"> </span><span class="n">InterruptedException</span><span class="p">,</span><span class="w"> </span><span class="n">UnknownHostException</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">cluster_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"xxx"</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">host1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"xx.xx.xx.xx"</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">host2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"y.y.y.y"</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="n">Settings</span><span class="w"> </span><span class="n">settings</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Settings</span><span class="p">.</span><span class="na">builder</span><span class="p">()</span>
|
|
<span class="w"> </span><span class="p">.</span><span class="na">put</span><span class="p">(</span><span class="s">"client.transport.sniff"</span><span class="p">,</span><span class="kc">false</span><span class="p">)</span>
|
|
<span class="w"> </span><span class="p">.</span><span class="na">put</span><span class="p">(</span><span class="s">"cluster.name"</span><span class="p">,</span><span class="w"> </span><span class="n">cluster_name</span><span class="p">)</span>
|
|
<span class="w"> </span><span class="p">.</span><span class="na">build</span><span class="p">();</span>
|
|
<span class="w"> </span><span class="n">TransportClient</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">PreBuiltTransportClient</span><span class="p">(</span><span class="n">settings</span><span class="p">)</span>
|
|
<span class="w"> </span><span class="p">.</span><span class="na">addTransportAddress</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">TransportAddress</span><span class="p">(</span><span class="n">InetAddress</span><span class="p">.</span><span class="na">getByName</span><span class="p">(</span><span class="n">host1</span><span class="p">),</span><span class="w"> </span><span class="mi">9300</span><span class="p">))</span>
|
|
<span class="w"> </span><span class="p">.</span><span class="na">addTransportAddress</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">TransportAddress</span><span class="p">(</span><span class="n">InetAddress</span><span class="p">.</span><span class="na">getByName</span><span class="p">(</span><span class="n">host2</span><span class="p">),</span><span class="w"> </span><span class="mi">9300</span><span class="p">));</span>
|
|
<span class="w"> </span><span class="n">IndicesExistsRequest</span><span class="w"> </span><span class="n">indicesExistsRequest</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">IndicesExistsRequest</span><span class="p">(</span><span class="s">"test"</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">ActionFuture</span><span class="o"><</span><span class="n">IndicesExistsResponse</span><span class="o">></span><span class="w"> </span><span class="n">exists</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="na">admin</span><span class="p">().</span><span class="na">indices</span><span class="p">().</span><span class="na">exists</span><span class="p">(</span><span class="n">indicesExistsRequest</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">exists</span><span class="p">.</span><span class="na">get</span><span class="p">().</span><span class="na">isExists</span><span class="p">());</span>
|
|
<span class="w"> </span><span class="p">}</span>
|
|
<span class="p">}</span>
|
|
</pre></div></td></tr></table></div>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_p65215915299">In the information above, <i><span class="varname" id="EN-US_TOPIC_0000001945217686__varname7738163503015">cluster_name</span></i> indicates the cluster name, and <i><span class="varname" id="EN-US_TOPIC_0000001945217686__varname18738935113018">host1</span></i> and <i><span class="varname" id="EN-US_TOPIC_0000001945217686__varname1573917351307">host2</span></i> indicate the IP addresses of the cluster nodes. You can run the <b><span class="cmdname" id="EN-US_TOPIC_0000001945217686__en-us_topic_0000001934020334_cmdname18303357131417">GET _cat/nodes</span></b> command to obtain the IP addresses of the nodes.</p>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="css_01_0064.html">Accessing an Elasticsearch Cluster Using Java</a></div>
|
|
</div>
|
|
</div>
|
|
|