আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
উপসর্গ
ZooKeeper প্রক্রিয়া শুরু করতে অক্ষম৷
ত্রুটি বার্তা
আপনি যখন ZooKeeper প্রক্রিয়া শুরু করার চেষ্টা করেন, তখন নিম্নলিখিত ত্রুটি বার্তাটি ফিরে আসে যা নির্দেশ করে যে ZooKeeper শুরু করা যায়নি:
+ apigee-service apigee-zookeeper status apigee-service: apigee-zookeeper: Not running (DEAD) apigee-all: Error: status failed on [apigee-zookeeper]
সম্ভাব্য কারণ
নিম্নলিখিত সারণী এই সমস্যার সম্ভাব্য কারণগুলি তালিকাভুক্ত করে:
কারণ | জন্য |
---|---|
ভুল কনফিগার করা ZooKeeper myid | এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা |
ZooKeeper পোর্ট ব্যবহার করা হচ্ছে | এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা |
apigee-zookeeper.pid ফাইলে ভুল প্রক্রিয়া আইডি | এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা |
ZooKeeper নেতা নির্বাচন ব্যর্থ | এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা |
সেই কারণের সম্ভাব্য রেজোলিউশন দেখতে টেবিলের একটি লিঙ্কে ক্লিক করুন।
ভুল কনফিগার করা ZooKeeper myid
নিম্নলিখিত বিভাগগুলি myid ফাইলের একটি ওভারভিউ প্রদান করে এবং কীভাবে ভুল কনফিগারেশন সমস্যাগুলি নির্ণয় এবং সমাধান করতে হয় তা বর্ণনা করে।
myid ফাইলের ওভারভিউ
প্রতিটি ZooKeeper নোডে, দুটি ফাইল আছে:
-
/opt/apigee/apigee-zookeeper/conf/zoo.cfg
ফাইলটিতে ক্লাস্টারের সমস্ত ZooKeeper নোডের জন্য IP-এর একটি তালিকা রয়েছে।উদাহরণস্বরূপ, যদি
/opt/apigee/apigee-zookeeper/conf/zoo.cfg
এ ক্লাস্টারের 3টি ZooKeeper নোডের আইপি থাকে নিম্নরূপ:server.1=11.11.11.11:2888:3888 server.2=22.22.22.22:2888:3888 server.3=33.33.33.33:2888:3888
-
/opt/apigee/data/apigee-zookeeper/data/myid
ফাইলটিতে পাঠ্যের একটি লাইন রয়েছে যা সেই নির্দিষ্ট ZooKeeper নোডের সার্ভার নম্বরের সাথে মিলে যায়। সার্ভার 1-এর myid-এ "1" লেখা থাকবে এবং অন্য কিছু থাকবে না। আইডিটি অবশ্যই সংযুক্তির মধ্যে অনন্য হতে হবে এবং 1 থেকে 255 এর মধ্যে একটি মান থাকতে হবে৷উদাহরণস্বরূপ, ZooKeeper সার্ভার.1-এ,
/opt/apigee/data/apigee-zookeeper/data/myid
ফাইলে শুধু টেক্সট 1 থাকতে হবে যেমনটি নীচে দেখানো হয়েছে:$ cat myid 1
রোগ নির্ণয়
- ত্রুটির জন্য ZooKeeper লগ
/opt/apigee/var/log/apigee-zookeeper/zookeeper.log
পরীক্ষা করুন৷ - আপনি যদি নীচের চিত্রে দেখানো “আইডি #, আমার আইডি = # এর জন্য সংযোগ বিচ্ছিন্ন হয়ে গেছে”-এর মতো সতর্ক বার্তা দেখতে পান, তাহলে এই সমস্যার সম্ভাব্য কারণ হতে পারে যে myid ফাইলের সার্ভার # ভুল কনফিগার করা হয়েছে বা দূষিত।
[myid:2] - WARN [RecvWorker:2:QuorumCnxManager$RecvWorker@762] - Connection broken for id 2, my id = 2, error = java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:375) at org.apache.zookeeper.server.quorum.QuorumCnxManager$RecvWorker. run(QuorumCnxManager.java:747)
/opt/apigee/apigee-zookeeper/conf/zoo.cfg
ফাইলটি পরীক্ষা করুন এবং বর্তমান ZooKeeper নোডের জন্য সার্ভারটি নোট করুন।-
/opt/apigee/data/apigee-zookeeper/data/myid
ফাইলটি পরীক্ষা করুন এবং দেখুন এই ফাইলের পাঠ্যটি সার্ভারের সাথে মেলে কিনা।# ধাপ #2 এ উল্লেখ করা হয়েছে। - যদি কোনো মিল না থাকে, তাহলে আপনি ZooKeeper শুরু করতে ব্যর্থ হওয়ার কারণ চিহ্নিত করেছেন।
রেজোলিউশন
যদি myid ফাইলটি ভুলভাবে কনফিগার করা হয়, তাহলে myid ফাইলটি সম্পাদনা করুন এবং সার্ভারের প্রতিনিধিত্বকারী একটি সঠিক টেক্সটে মান প্রতিস্থাপন করুন। zoo.cfg এ # প্যারামিটার।
ZooKeeper পোর্ট ব্যবহার করা হচ্ছে
রোগ নির্ণয়
- ত্রুটির জন্য ZooKeeper log
/opt/apigee/var/log/apigee-zookeeper/zookeeper.log
পরীক্ষা করুন৷ - আপনি যদি ব্যতিক্রমটি লক্ষ্য করেন
java.net.BindException: Address already in use
, যেমনটি নীচের চিত্রে দেখানো হয়েছে, এটি নির্দেশ করে যে ZooKeeper পোর্ট 2181 অন্য একটি প্রক্রিয়া দ্বারা ব্যবহৃত হচ্ছে। তাই, চিড়িয়াখানা চালু করা যায়নি।2017-04-26 07:00:10,420 [myid:3] - INFO [main:NIOServerCnxnFactory@94] - binding to port 0.0.0.0/0.0.0.0:2181 2017-04-26 07:00:10,421 [myid:3] - ERROR [main:QuorumPeerMain@89] - Unexpected exception, exiting abnormally java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:433) at sun.nio.ch.Net.bind(Net.java:425) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67) at org.apache.zookeeper.server.NIOServerCnxnFactory.configure(NIOServerCnxnFactory.java:95) at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:130) at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111) at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
- ZooKeeper পোর্ট 2181 প্রকৃতপক্ষে অন্য প্রক্রিয়া দ্বারা ব্যবহৃত হচ্ছে তা নিশ্চিত করতে নীচের netstat কমান্ডটি ব্যবহার করুন:
netstat -an | grep 2181
রেজোলিউশন
যদি ZooKeeper পোর্ট 2181 এখনও ব্যবহার করা হয়, তাহলে এই সমস্যাটি সমাধান করতে নীচের পদক্ষেপগুলি অনুসরণ করুন:
- 2181 পোর্টে থাকা প্রক্রিয়াটি খুঁজে পেতে
netstat
কমান্ডটি ব্যবহার করুন। ZooKeeper পোর্ট 2181 ব্যবহার করা প্রক্রিয়াটিকে মেরে ফেলুন:$ netstat -antp | grep 2181 tcp 0 0 0.0.0.0:2181 0.0.0.0:* LISTEN 28016/java <defunct> $ kill -9 28016
- পিড পরিষ্কার করুন এবং ফাইলগুলি বিদ্যমান থাকলে লক করুন:
/opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid /opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.lock
- ZooKeeper পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
apigee-zookeeper.pid ফাইলে ভুল প্রক্রিয়া আইডি
আপনি যখন ZooKeeper বন্ধ/পুনঃসূচনা করার চেষ্টা করেন, তখন এটি ব্যর্থ হতে পারে কারণ apigee-zookeeper.pid
ফাইলে পুরানো/ভুল পিড রয়েছে এবং বর্তমানে চলমান ZooKeeper প্রক্রিয়াটির নয়। এটি ঘটতে পারে যদি ZooKeeper প্রক্রিয়াটি কোনো কারণে অপ্রত্যাশিতভাবে বা আকস্মিকভাবে বন্ধ হয়ে যায় এবং apigee-zookeeper.pid
ফাইলটি মুছে ফেলা না হয়।
রোগ নির্ণয়
-
ps
কমান্ডটি চালিয়ে বর্তমানে চলমান ZooKeeper প্রক্রিয়াটির প্রক্রিয়া আইডি পান:ps -ef | grep zookeeper
-
/opt/apigee/var/run/apigee-ZooKeeper/apigee-zookeeper.pid
ফাইলটি বিদ্যমান কিনা তা পরীক্ষা করুন। যদি এটি বিদ্যমান থাকে, তাহলে এই ফাইলটিতে লেখা প্রসেস আইডিটি নোট করুন। - ধাপ # 1 এবং # 2 থেকে নেওয়া প্রক্রিয়া আইডি তুলনা করুন। যদি তারা ভিন্ন হয়, তাহলে এই সমস্যার কারণ হল
apigee-zookeeper.pid file.
রেজোলিউশন
- apigee-zookeeper.pid ফাইলটি সম্পাদনা করুন এবং ps কমান্ড থেকে প্রাপ্ত সঠিক প্রক্রিয়া আইডি দিয়ে ভুল প্রক্রিয়া আইডি প্রতিস্থাপন করুন (উপরে ধাপ #1)।
- ZooKeeper পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
ZooKeeper নেতা নির্বাচন ব্যর্থ
রোগ নির্ণয়
নির্ণয় করতে:
- ত্রুটির জন্য ZooKeeper লগ
/opt/apigee/var/log/apigee-zookeeper/zookeeper.log
পরীক্ষা করুন৷ - কোন কনফিগারেশন পরিবর্তন হয়েছে কিনা চেক করুন যা নেতার ZooKeeper নির্বাচন ব্যর্থ হতে পারে।
-
/opt/apigee/apigee-zookeeper/conf/zoo.cfg
চেক করুন এবং নিশ্চিত করুন যে ক্লাস্টারের সমস্ত ZooKeepers সার্ভারের জন্য সঠিক নম্বর এবং IP ঠিকানা আছে।# প্যারামিটার। এছাড়াও মনে রাখবেন যে নেতা নির্বাচন সফল করার জন্য ন্যূনতম 3 জন ভোটার থাকতে হবে এবং ভোটারদের সংখ্যা বিজোড় সংখ্যায় হতে হবে। যদি খুব কম ভোটার থাকে, মাত্র 2 ভোটারের মতো, তবে শুধুমাত্র 2 ভোটারের মধ্যে একজন নেতা নির্ধারণের জন্য এটি কোরামে আসতে পারে না।
রেজোলিউশন
সাধারণত, ZooKeeper নির্বাচন ব্যর্থতা একটি ভুল কনফিগার করা myid দ্বারা সৃষ্ট হয়৷ নির্বাচনের ব্যর্থতা মোকাবেলায় ভুল কনফিগার করা ZooKeeper myid- এ রেজোলিউশন ব্যবহার করুন।
যদি সমস্যাটি অব্যাহত থাকে এবং আরও নির্ণয়ের প্রয়োজন হয়, Apigee Edge সাপোর্টের সাথে যোগাযোগ করুন।