ইলাস্টিকসার্ক: লোকালহোস্ট বন্দরের সাথে সংযোগ করতে ব্যর্থ 9200 - সংযোগটি অস্বীকার করা হয়েছে


110

আমি যখন ইলাস্টিকের সাথে সংযোগ দেওয়ার চেষ্টা করেছি তখন curl http://localhost:9200এটি কাজ করছে।

তবে আমি যখন curl http://IpAddress:9200এটি চালাচ্ছি এটি বলার সময় একটি ত্রুটি ছুড়ে দিচ্ছে

লোকালহোস্ট বন্দরের সাথে সংযোগ করতে ব্যর্থ 9200: সংযোগটি অস্বীকার করা হয়েছে

এই ত্রুটিটি কীভাবে সমাধান করবেন?


আপনি যদি ইতিমধ্যে নেটওয়ার্ক হস্ট: ইলাস্টিকসার্চ.ইমিল ফাইলে লোকালহোস্ট সেট করে থাকেন তবে আপনি অনুরোধে এইচটিপি প্রোটোকল যুক্ত করার চেষ্টা করতে পারেন:curl -X GET "http://localhost:9200"
এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স

কমপক্ষে উইন্ডোজ 10 এ ইলাস্টিকসার্ক 8.৮.০ ব্যবহার করে ইলাস্টিকসার্চ.আইএমএল ফাইলটিতে কেবল নেটওয়ার্কহোস্টই আমার পক্ষে কাজ করে।
DLyons

উত্তর:


81

ডিফল্টরূপে এটি সমস্ত স্থানীয় ঠিকানার সাথে আবদ্ধ হওয়া উচিত। সুতরাং, ধরে নিই যে আপনার কাছে ফায়ারওয়ালগুলির সাথে কোনও নেটওয়ার্ক স্তর সমস্যা নেই, কেবলমাত্র ইএস সেটিংটি যাচাই করার জন্য আমি ভাবতে পারি network.bind_hostএবং এটি নিশ্চিত করা যায় যে এটি আপনার নেটওয়ার্কের জন্য সঠিক আইপি ঠিকানায় সেট করা নেই 0.0.0.0বা সেট করা আছে ::0

আপডেট: প্রতি মন্তব্য প্রতি ES 2.3 এর network.hostপরিবর্তে আপনার সেট করা উচিত ।


11
আমাকে network.bind_hostমানটি স্পষ্টতই সেট করতে হয়েছিল, সেটাকে সেট না করে রেখেই আমার সমস্যা ছিল।
জো

কীভাবে উইন্ডোজগুলিতে স্পষ্টভাবে নেটওয়ার্ক.বাইন্ড_হোস্ট সেট করবেন?
রিজওয়ান প্যাটেল

আপনি কি নিশ্চিত যে এটি নিরাপদ? আমি মনে করি ডানটি শুধুমাত্র স্থানীয় সার্ভার থেকে অ্যাক্সেস।
লিকো

ভাল, বেশিরভাগ ক্ষেত্রে এটি নিরাপদ। তবে হ্যাঁ, "আপনার নেটওয়ার্কের জন্য সঠিক আইপি ঠিকানা" এর ধারা রয়েছে the
অ্যান্ড্রু হোয়াইট

3
যেমন নীচে বলা হয়েছে "নেটওয়ার্ক.বাইন্ড_হোস্ট" এখন
ইলাস্টিকসার্চ

78

/etc/elasticsearch/elasticsearch.ymlনিম্নলিখিত লাইনটি সম্পাদনা করুন এবং যুক্ত করুন :

নেটওয়ার্ক.হোস্ট: 0.0.0.0

এটি এই প্যারামিটারটিকে "আনসেট" করবে এবং অন্যান্য আইপি থেকে সংযোগের অনুমতি দেবে।


1
এটি আমার জন্য কাজ করেছে, ধন্যবাদ! তবে আমার ম্যাকে, কনফিগারেশন ফাইলটি অবস্থিত /Applications/elasticsearch-2.1.1/config/elasticsearch.ymlএবং আমাকে যে প্যারামিটারটি সম্পাদনা করতে হয়েছিল network.hostতা ছিল না network.bind_host
bjornte

8
ইলাস্টিকসার্চ ২.২ এ প্যারামিটারটিকে নেটওয়ার্ককোস্ট বলা হয়
ওড়

এই /etc/elasticsearch/elasticsearch.yml ফাইলটি ডকার পাত্রে থাকা উচিত?
আশীষ কার্পে 5'17

2
এটি আমার জন্য সলভ করে, আমি ডকারের ধারকটির মধ্যে স্থিতিস্থাপক 6.০.০ ব্যবহার করছি। কনফিগার পরিবর্তনের পরে, আমি এখন অ্যাক্সেস করতে পারি curl http://172.17.0.2:9200। আপনি এটি সাধারণভাবে ব্যবহৃত ডকার আইপি ঠিকানাটি চিনতে পারবেন recognize
ট্রুটহোল্ডার

1
নেটওয়ার্ক.হোস্ট: ০.০.০.০ - সাহায্য করবেন না, তবে এই ব্যতিক্রমটি আমি সেরিব্রো থেকে পাচ্ছি
মাইন্ডোগাস কে।

29

এই পৃষ্ঠায় সমস্ত কিছু চেষ্টা করে দেখুন এবং এখান থেকে প্রাপ্ত নির্দেশাবলীই সহায়তা করেছিল।

ইন /etc/default/elasticsearch, নিশ্চিত করুন যে এগুলি অ-মন্তব্য করেছে:

START_DAEMON=true
ES_USER=elasticsearch
ES_GROUP=elasticsearch
LOG_DIR=/var/log/elasticsearch
DATA_DIR=/var/lib/elasticsearch
WORK_DIR=/tmp/elasticsearch
CONF_DIR=/etc/elasticsearch
CONF_FILE=/etc/elasticsearch/elasticsearch.yml
RESTART_ON_UPGRADE=true

/var/lib/elasticsearchস্থিতিশীল ব্যবহারকারীদের মালিকানা নিশ্চিত করুন:

chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/

1
একই সমস্যা ছিল এবং সমাধানটি স্রেফ chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/এবং অ-মন্তব্য করেছিলSTART_DAEMON=true
এস্তেভেক্স

1
আমার জন্য, এই সমাধানটি + sudo systemctl restart elasticsearch@ ক্যালানিত দ্বারা উত্তর হিসাবে, সমস্যার সমাধান করেছে
সাবের

1
এটি কেবলমাত্র সমাধান যা আমাকে উবুন্টু 16.04 এ সহায়তা করেছিল।
স্নেহাল

21

আমার ক্ষেত্রে স্থিতিস্থাপক অনুসন্ধান শুরু হয়েছিল। কিন্তু এখনও ছিল

curl: (7) Failed to connect to localhost port 9200: Connection refused

নিম্নলিখিত কমান্ডটি ব্যর্থ হয়েছিল

sudo service elasticsearch restart

এটি কাজ করার জন্য, আমাকে পরিবর্তে চালাতে হয়েছিল

sudo systemctl restart elasticsearch

তারপর সব ঠিক আছে।


1
আমি যে বিষয়টি পেয়েছি তা হ'ল আপনার সাথে একই, এবং আপনার সমাধান আমার পক্ষে কাজ করে। অনেক ধন্যবাদ!
shaosh

6
আমারও করতে হয়েছিল sudo systemctl enable elasticsearch
সর্বাধিক আবেদনকারী

আমি একই সমস্যা পেয়েছি, কিন্তু বুঝতে পারি না কেন systemctlকাজ করে এবং পরিষেবা দেয় না?
Luv33preet

@ লুভ preet৩প্রিত সিস্টেম্টিটেল সিস্টেমড দ্বারা চালিত এবং এটি সম্পূর্ণ আলাদা প্রোগ্রাম
হাফ ২ff

পরিষেবাটি পুনরায় আরম্ভ করা আমার পক্ষে উবুন্টু 16.04 এবং স্থিতিস্থাপক অনুসন্ধান 1.74
racl101

19

আপনি কেন এই কমান্ড-লাইন দিয়ে শুরু করবেন না:

$ sudo service elasticsearch status

আমি এটি করেছি এবং পেয়েছি:

"There is insufficient memory for the Java Runtime..."

তারপরে আমি /etc/elasticsearch/jvm.optionsফাইলটি সম্পাদনা করেছি :

...

################################################################

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

#-Xms2g
#-Xms2g

-Xms512m
-Xmx512m

################################################################

...

এটা চমত্কার ভাবে কাজ করেছে.


এটি 22 মার্চ উত্তর বু @ জেফারসন.মেসিডো হিসাবে একই তথ্য দেয় বলে মনে হয়। একটি নতুন উত্তর কেবল বিদ্যমান বিশদগুলি পুনরায় লিখতে হবে না, এটি নতুন এবং ব্যবহারকারীর তথ্য সরবরাহ করা উচিত।
অ্যাড্রিয়ান এইচএইচএইচ

17

এখানে প্রস্তাবিত সমাধানগুলির কোনওটিই আমার পক্ষে কাজ করেনি, তবে শেষ পর্যন্ত এটি কীভাবে কাজ করেছে তা নিম্নলিখিতগুলিতে যুক্ত হয়েছিল elasticsearch.yml

network:
  host: 0.0.0.0
http:
  port: 9200

এর পরে, আমি পরিষেবাটি পুনরায় শুরু করেছি এবং এখন আমি পারি curl এটি ভিএম এর মধ্যে এবং বাহ্যিকভাবে উভয় থেকেই পারি। কিছু অদ্ভুত কারণে, আমি কয়েক বিভিন্ন রূপগুলো চেষ্টা ছিল curlকল ভিতরে VM- র সামনে এটা কাজ:

curl localhost:9200
curl http://localhost:9200
curl 127.0.0.1:9200

দ্রষ্টব্য: আমি উবুন্টু 14.04 এ ইলাস্টিকসার্চ 5.5 ব্যবহার করছি


1
তুমি একজন জীবন রক্ষাকারী. বিভিন্ন পোস্টের বিভিন্ন লেখার পরে আমার পক্ষে এটিই কাজ করেছিল।
ইউ চেন

1
হ্যাঁ, খুব সহায়ক এটি আমার পক্ষেও কাজ করেছে!
osehgol

ধন্যবাদ, আমি আপনার সমাধান চেষ্টা করেছিলাম এবং এটি কার্যকর হয়েছে। যা আমি অদ্ভুত বলে মনে করেছি, কারণ আমাকে কেবল বন্দর নম্বরটি অসম্পূর্ণ করতে হয়েছিল। আমি ভেবেছিলাম যে মন্তব্য করেছে লাইন পূর্বনির্ধারিত ডিফল্ট মান কেমন ছিলেন
zwep

13
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)

নিশ্চিত হয়ে নিন যে সার্ভারটি শুরু হয়েছে। আমি যখন এই ভার্চুয়াল মেশিনটিতে খুব বেশি লিটল র‌্যাম পেয়েছিলাম এবং এগুলি শুরু করা যায় নি তখন আমি এই সমস্যাটি দেখেছি।

sudo systemctl status elasticsearch

উপরেরগুলি আপনাকে দেখায় যে ইস সত্যিই চলমান কিনা।


4
এই সমস্যাটি বাছাই করতে সহায়তার জন্য stackoverflow.com/questions/29447434/… দেখুন ।
রায়ান মিলার

8

এই সমস্যার জন্য, আমাকে ব্যবহার করতে হয়েছিল: sudo /usr/share/elasticsearch/bin/elasticsearch start

9200/9300 (sudo netstat -ntlp) এবং কিছু প্রতিক্রিয়াতে কিছু পেতে সক্ষম হতে:

curl -XGET http://localhost:9200


1
ধন্যবাদ। এটি ইলাস্টিক অনুসন্ধান ১. সংস্করণগুলির জন্য।
মন্ট্রিলডেভওনে

স্থিতি পরীক্ষা করা, ত্রুটি বার্তা সাহায্য করে না। ম্যানুয়ালি বিন ফাইল চালানোর সময় এটি সঠিক ত্রুটির বার্তা দিচ্ছে।
সোলায়মান সুদীমন

6

সম্পাদনা করুন elasticsearch.ymlএবং নিম্নলিখিত লাইন যুক্ত করুন

http.host: 0.0.0.0

network.host: 0.0.0.0 জন্য কাজ করে না


3

আপনার খোলা Dockerfile অধীনে elasticsearch ফোল্ডারের এবং আপডেট "network.host = 0.0.0.0" সঙ্গে "network.host = 127.0.0.1" । তারপরে ধারকটি পুনরায় চালু করুন। কার্লের সাথে আপনার সংযোগটি পরীক্ষা করুন।

$ curl http://docker-machine-ip:9200
{
  "name" : "vI6Zq_D",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "hhyB_Wa4QwSX6zZd1F894Q",
  "version" : {
    "number" : "5.2.0",
    "build_hash" : "24e05b9",
    "build_date" : "2017-01-24T19:52:35.800Z",
    "build_snapshot" : false,
    "lucene_version" : "6.4.0"
  },
  "tagline" : "You Know, for Search"
}

3

9200 বন্দরে সংযোগ প্রত্যাখ্যান করার ক্ষেত্রেও আমার একই সমস্যা ছিল। কমান্ড সহ স্থিতিস্থাপক পরিষেবা স্থিতি পরীক্ষা করুন sudo service elasticsearch status। যদি এটি কোনও ত্রুটি উপস্থাপন করে এবং আপনি জাভা সম্পর্কিত কোনও কিছু পড়েন তবে সম্ভবত সমস্যাটি আপনার জেভিএম মেমরি। আপনি এটি সম্পাদনা করতে পারেন /etc/elasticsearch/jvm.options। অ্যামাজন পরিবেশে 1 জিবি র‌্যাম মেমরি মেশিনের জন্য, আমি আমার কনফিগারেশনটি চালু রেখেছি:

-Xms128m
-Xmx128m

সেটিংস স্থাপন এবং স্থিতিস্থাপক পরিষেবা পুনরায় চালু করার পরে, এটি একটি কবজির মতো কাজ করেছে। এনএম্যাপ এবং ইউএফডাব্লু (আপনি যদি স্থানীয় ফায়ারওয়াল ব্যবহার করেন) চেক করাও কার্যকর হবে।


1
এটা আমার জন্য এটি কি। আমার কনফিগারেশনের উভয়ের জন্যই 1 জি ছিল এবং এডাব্লুএস ইনস্ট্যান্স (t2.micro) এটিতে এত বেশি মেমরি বরাদ্দ করতে পারে না। প্রারম্ভ ও পুনঃসূচনা কমান্ড নিঃশব্দে ব্যর্থ হয়েছে, কিন্তু স্থিতি কমান্ড ত্রুটিটি বিস্তারিতভাবে বর্ণনা করেছে।
গ্রেগ চার্লস

2

আমি একটি অনুরূপ সমস্যা অভিজ্ঞ।

আমি কীভাবে এটি সমাধান করেছি তা এখানে

ইলাস্টিক অনুসন্ধান শুরু করতে নীচের পরিষেবা কমান্ডটি চালান

sudo service elasticsearch start

অথবা

sudo systemctl start elasticsearch

তবুও ত্রুটি পেলে

কার্ল: (7) লোকালহোস্ট পোর্টের সাথে সংযোগ করতে ব্যর্থ 9200: সংযোগ অস্বীকার করেছে

ইলাস্টিক অনুসন্ধানের স্থিতি পরীক্ষা করতে নীচের পরিষেবা কমান্ডটি চালান

sudo service elasticsearch status

অথবা

sudo systemctl status elasticsearch

যদি আপনি নীচের মত একটি প্রতিক্রিয়া ( সক্রিয়: সক্রিয় (চলমান) পান তবে আপনি ইলাস্টিক অনুসন্ধান সক্রিয় এবং চলমান

La ইলাস্টিকসার্চ.সার্ভিস - ইলাস্টিকআরচ লোড: লোডড (/usr/lib/systemd/system/elasticsearch.service; অক্ষম; বিক্রেতার প্রিসেট: সক্ষম) সক্রিয়: সক্রিয় (চলমান) শনি থেকে 2019-09-21 11:22:21 ওয়াট; 3 এস আগে

এরপরে আপনি পরীক্ষা করতে পারেন যে নীচের কমান্ডটি ব্যবহার করে লোকালহোস্টে 9200 পোর্ট করার জন্য একটি HTTP অনুরোধ প্রেরণ করে আপনার ইলাস্টিকের নোড চলছে:

curl http://localhost:9200

অন্যথায়, যদি আপনি কোনও প্রতিক্রিয়া অন্যরকম প্রতিক্রিয়া পান তবে এটি ঠিক করতে আপনাকে আরও ডিবাগ করতে হতে পারে, তবে নীচের কমান্ডটি চালানো আপনাকে ক্যাভেটসের কী রয়েছে তা সনাক্ত করতে সহায়তা করবে সতর্কতাগুলি ইলাস্টিক অনুসন্ধান পরিষেবাটি শুরু থেকে ।

sudo service elasticsearch status

অথবা

sudo systemctl status elasticsearch

আপনি যদি ইলাস্টিক অনুসন্ধান বন্ধ করতে চান পরিষেবাটি , কেবল নীচের পরিষেবা কমান্ডটি চালান;

sudo service elasticsearch stop

অথবা

sudo systemctl stop elasticsearch

এন / বি: আপনাকে কমান্ডটি ওআর চালাতে হতে পারেsudo service elasticsearch status sudo systemctl status elasticsearch ইলাস্টিক অনুসন্ধানের অবস্থাটি জানাতে আপনাকে প্রতিবার ত্রুটির মুখোমুখি হতে হবে

এটি কিবানার ক্ষেত্রেও প্রযোজ্য , কমান্ডটি চালান sudo service kibana status ওআর sudo systemctl status kibana প্রতিবার ত্রুটির মুখোমুখি হয়ে কিবানার অবস্থাটি জানানোর জন্য সেবা।

এখানেই শেষ.

আশা করি এটা কাজে লাগবে.


1

এই ক্ষেত্রে, প্রথমে আপনাকে নীচের কমান্ডটি ব্যবহার করে জাভা সংস্করণটি পরীক্ষা করতে হবে:

java -version

এই আদেশটি চালানোর পরে আপনি এরকম কিছু পাবেন:

জাভা সংস্করণ "1.7.0_51" ওপেনজেডিকে রানটাইম এনভায়রনমেন্ট (রেল -২.৪.৫.৫.el7-x86_64 u51-b31) ওপেনজেডকে 64-বিট সার্ভার ভিএম (24.51-বি03, মিশ্র মোড তৈরি করুন)

তারপরে এই কমান্ডটি ব্যবহার করুন:

update-alternatives --config java

এবং নীচের সংস্করণ নির্বাচন করুন

* + ১ / সমর / লিবি / জেভিএম / জাভা ১.০.০-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre/bin/java 2 / সামার / জাভা / জেদক 1.8.0_73/jre/bin/ জাভা

বর্তমান নির্বাচন [+] রাখতে প্রবেশ করুন, বা নির্বাচন নম্বর টাইপ করুন: 2

curl -XGET http://127.0.0.1:9200

1

আমার 2 সেন্ট,

আমি সবেমাত্র ডিজিটাল মহাসাগরে ইনস্টল পদ্ধতিটি অনুসরণ করেছি, স্পষ্টতই রেপোগুলিতে উপলব্ধ প্যাকেজটি আপ টু ডেট নয়, আমি সমস্ত কিছু মুছে ফেলেছি এবং ইলাস্টিক অনুসন্ধান থেকে সরাসরি ইনস্টল পদ্ধতিটি অনুসরণ করেছি এবং সবকিছুই এখন কাজ করছে, মূলত বাক্সের আচরণ বন্ধ রয়েছে লোকালহোস্ট 9200-র দিকে ইঙ্গিত করছে। কিবানার সাথে একই জিনিস / ইস্যু পাওয়া গেল, আমার কাছে সমাধানও ছিল, সমস্ত কিছু সরিয়ে ফেলা এবং কেবল তাদের পদ্ধতিটি অনুসরণ করা, আশা করি এটি কাউকে দুই ঘন্টা বাঁচায় (আমি যেভাবে ELK সেটআপ করব তা নির্ধারণ করতে ব্যয় করা সময়টি!)

স্বীকারোক্তি


1

আপনার ইলাস্টিক অনুসন্ধানের জন্য আপনার জেডিকে সর্বশেষতম সর্বনিম্ন সংস্করণে আপডেট করুন।


1

নেটওয়ার্ক.বাইন্ডকে 0.0.0.0 এবং HTTP: পোর্টটি 9200 এ পরিবর্তন করুন। বাইন্ড ঠিকানা 0.0.0.0 এর অর্থ স্থানীয় মেশিনে সমস্ত আইপিভি 4 ঠিকানা addresses যদি কোনও হোস্টের দুটি আইপি ঠিকানা থাকে, 192.168.1.1 এবং 10.1.2.1, এবং হোস্টে চলমান একটি সার্ভার 0.0.0.0 এ শুনবে, তবে এই দুটি আইপিই এটি পৌঁছনীয় হবে।


1

যদি আপনি সংযোগটি অস্বীকার করে ত্রুটির মুখোমুখি হন তবে ইলাস্টিক অনুসন্ধান পরিষেবার স্থিতি পরীক্ষা করতে নীচের কমান্ডটি চালান

sudo service elasticsearch status

এটি আপনাকে ইলাস্টিক অনুসন্ধান পরিষেবা এবং এটি সম্পর্কে কী করতে হবে তার অবস্থা বোঝাতে সহায়তা করবে।


1

.5.৫.০ এবং তার থেকে উপরে কার্যকর নয়।


0

উপরের কয়েকটি উত্তর ব্যবহারের পরে, ভুলে যাবেন না যে একটি অ্যাপ্লিকেশন ইনস্টলের পরে, মোট পুনরায় বুট ক্রমযুক্ত হতে পারে।


0

এটি যোগ করার জন্য, আমি গুগলের মাধ্যমে অনেকগুলি ডক্স জুড়ে এসেছি যা নেটওয়ার্কহোস্টকে লোকালহোস্টে সেট করতে বলেছে।

এটি করা আমাকে কুখ্যাত সংযোগটি অস্বীকার করে। আপনাকে অবশ্যই একটি আইপি ঠিকানা (127.0.0.1) ব্যবহার করতে হবে, কোনও এফকিউডিএন নয়।

জেফ


0

নিশ্চিত হয়ে নিন যে বন্দরটি 9200আমার ক্ষেত্রে খোলা আছে এটি একটি আশ্চর্য উদাহরণ ছিল তাই যখন আমি আমার সুরক্ষা গোষ্ঠীতে এটি খুললাম তখন কার্ল কমান্ডটি কাজ করেছিল।


0

SELinux অক্ষম করা আমার পক্ষে কাজ করেছিল, যদিও আমি এটি প্রস্তাব করি না - আমি এটি কেবল একটি পিসি-র জন্য করেছি


0

আমার সমস্যাটি হ'ল localhostলোকালহোস্টের আইপি ঠিকানায় সেট করার দরকারের সাথে আমি কাজ করতে পারি না

network.bind_host: 127.0.0.1


0

আমার ক্ষেত্রে, সমস্যাটি জাভা সংস্করণ নিয়ে, আমি open-jdk 11আগে ইনস্টল করেছি । পরিষেবাটি শুরু করার সময় সমস্যাটি তৈরি করা। আমি এটি পরিবর্তন করেছি open-jdk 8এবং এটি কাজ শুরু করে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.