রেডিস ডেটাস্টোর সার্ভার শুরু করতে ব্যর্থ হয়েছে (উবুন্টু 16.04.1 এলটিএস)


10

আমি সবেমাত্র redis ইনস্টল করেছি এবং কমান্ড দিয়ে পরিষেবা শুরু করার চেষ্টা করার সময় এটি কার্যকরভাবে কাজ করে না:

sudo service redis-server start

এটি এর ফলাফল journalctl -xe:

Subject: Unit redis-server.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit redis-server.service has finished shutting down.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Start request repeated too quickly.
Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.

এবং এটি এর ফলাফল systemctl status redis-server.service:

 redis-server.service - Redis Datastore Server
 Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
 Active: inactive (dead) (Result: resources) since Kam 2017-03-02 13:22:46 WIB; 5min ago
 Process: 12120 ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)

Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.
Mar 02 13:22:46 aaaaa-notebook systemd[1]: redis-server.service: Unit entered failed state.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Failed with result 'resources'.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
Mar 02 13:22:46 aaa-notebook systemd[1]: Stopped Redis Datastore Server.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Start request repeated too quickly.
Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.

উত্তর:


14

আমার একই সমস্যা ছিল এবং কোথাও কোনও কাজের সমাধান খুঁজে পেলাম না। কিছু অনুসন্ধানের পরে, নিম্নলিখিত ফিক্সটি আমার পক্ষে কাজ করেছে (উবুন্টু 16.04)

ইন /etc/systemd/system/redis.service অধীনে নিম্নলিখিত যোগ [Service]অধ্যায়।

Type=forking

1
আমারও, ধন্যবাদ! আপনি এটি যুক্ত করতে কীভাবে আবিষ্কার করলেন? এটা আসলে কী কাজ করে?
fpghost

4

যে কোনও সম্পাদক ব্যবহার করে আপনার পরিষেবাটি খুলুন।

vim /etc/systemd/system/redis.service

আমার আপনার [Service]বিভাগটি দেখুন ExecStart:

ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf

কি ত্রুটি ঘটছে তা দেখতে এই কমান্ডটি চালান। আমার সাথে এর প্রতিক্রিয়া:

 Fatal error, can't open config file '/etc/redis/redis.conf'

সুতরাং আমি এই লাইনটি কেবলমাত্র এখানে আপডেট করেছি (যেখানে আমার আসল কনফিগারেশন ফাইলটি ছিল)

ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf

রেডিস কুইকস্টার্ট এটিকে ডিফল্টরূপে স্থাপন করে ... :)


2

আমি একই ত্রুটির মুখোমুখি হয়েছি। তবে আমার জন্য কারণটি সম্পূর্ণ আলাদা ছিল: এটি আমার redis.confফাইলে টাইপোর কারণে ছিল । এটি সংশোধন করে এবং sudo systemctl restart redis-serverতাত্ক্ষণিকভাবে পুনরায় শুরু করা doing এটি বিভ্রান্তিকর যে এই ক্ষেত্রেও একই ত্রুটি নিক্ষেপ করা হচ্ছে।


2

আমার ক্ষেত্রে, লগ ডিরেক্টরি ( /var/log/redis) যা আমি /etc/redis/redis.confফাইলটিতে উল্লেখ করি তা উপস্থিত ছিল না

আমি কীভাবে ত্রুটিটি খুঁজে পাই

চেষ্টা

/usr/local/bin/redis-server /etc/redis/redis.conf

এটি আমার /etc/systemd/system/redis.serviceফাইলে উপস্থিত একই কমান্ড

ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf

সমাধান

1) লগ ডিরেক্টরি তৈরি করুন

sudo mkdir -p /var/log/redis

2) লগ তৈরি এবং লিখতে যথাযথ অ্যাক্সেস দিন

sudo chown redis:redis /var/log/redis

পরিষেবাটি আবার শুরু করার চেষ্টা করুন

sudo service redis-server start 

অথবা

sudo service redis start

1

redis.service ফাইলটি "/ etc / systemd / system /" ডিরেক্টরিতে অনুপস্থিত

sudo ন্যানো /etc/systemd/system/redis.service

তারপরে এই লাইনগুলি অনুলিপি করুন এবং আটকান

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

এই ফাইলটি সংরক্ষণ এবং বন্ধ করুন

পরবর্তী ডিরেক্টরি অনুমতিগুলি পরিবর্তন করুন

$ sudo adduser --system --group --no-create-home redis
$ sudo chown redis:redis /var/lib/redis
$ sudo chmod 770 /var/lib/redis

এরপরে redis সার্ভারটি শুরু করুন

do sudo systemctl আবার শুরু হয়

এটি এখন চলছে কিনা তা পরীক্ষা করে দেখুন

do sudo systemctl স্থিতি পুনরায়

রেফারেন্স: https://www.digitalocean.com/commune/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04


0

আপনার পরীক্ষা করুন redis.log। আপনার এমন কিছু দেখা উচিত:

41393:M 07 Jun 17:02:19.034 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
41393:M 07 Jun 17:02:19.034 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
41393:M 07 Jun 17:02:19.034 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
41393:M 07 Jun 17:02:19.034 # Can't open the append-only file: Read-only file system

সুতরাং আপনার সিস্টেমের সীমাটি এবং আপনার redisএওএফ ( /var/lib/redis/*) এর ফাইল ফাইলের অনুমতি পরীক্ষা করুন । সিস্টেম সীমাবদ্ধতার জন্য, এখানে একটি ভাল গাইড


0

আমার একটি / var / lib / redis ফোল্ডার এবং একটি redis ব্যবহারকারী এবং গোষ্ঠী উভয়েরই দরকার।

আমি আমার সমস্যাগুলি অনুসন্ধানের জন্য কেভিন আপ্টনের https://askubuntu.com/a/981641/451682 পরামর্শ ব্যবহার করেছি: vim /etc/systemd/system/redis.serviceআমাকে /usr/local/bin/redis-server /etc/redis/redis.confযে প্রতিক্রিয়ার সাথে Can't chdir to '/var/lib/redis': No such file or directoryআমি তৈরি করেছি তাতে প্রতিক্রিয়া জানাল sudo mkdir /var/lib/redis

তারপরে, আমারও theষিক রোহানের https://askubuntu.com/a/918408/451682 অনুসরণ করে / red / lib / redis dir তে redis ব্যবহারকারী এবং গোষ্ঠী তৈরি এবং প্লপ করা দরকার :

sudo adduser --system --group --no-create-home redis
sudo chown redis:redis /var/lib/redis
sudo chmod 770 /var/lib/redis

দুজনকে ধন্যবাদ!


0

সমস্ত বিভ্রান্ত করার পরে এই কমান্ড চেষ্টা

sudo systemctl daemon-reload

sudo chown redis:redis /var/lib/redis

sudo chmod 770 /var/lib/redis

এবং তারপর

sudo systemctl start redis

0

এই সমস্যাটি সমাধানের পদক্ষেপগুলি: - + ============== + এ 56 566 নম্বর লাইনে redis.conf এ মেমরি সীমা নির্ধারণ করুন

566 ম্যাক্সেমোমরি 256mb 567 ম্যাক্সেমোমরি-পলিসি অ্যালকেজ-লু

বি। লিনাক্স কার্নেল ওভারকমিট মেমরি সেটিং 1 এ সেট করুন:

$ sudo sysctl vm.overcommit_memory = 1

বা /etc/sysctl.conf এটিকে 1 এ পরিবর্তন করুন।

সি এখন redis সার্ভার পুনরায় আরম্ভ করুন।

$ systemctl পুনরায় চালু করুন is

দয়া করে এখনই পুনরায় অবস্থা দেখুন।

এবং যদি এখনও সমস্যাটি স্থির থাকে তবে যান এবং সম্পাদনা করুন এবং পরিষেবা ফাইলটি redis করুন।

========= vi /etc/systemd/system/redis.service

আপনি এই মত দেখতে পাবেন: -

[ইউনিট] বিবরণ = ইন = মেমোরি ডেটা স্টোরের পরে = নেটওয়ার্ক.তারগেট is

[পরিষেবা] ব্যবহারকারী = রুট গোষ্ঠী = রুট এক্সিকিস্টার্ট = / ইউএসআর / স্থানীয় / বিন / রেডিস-সার্ভার /etc/redis/redis.conf এক্সিকিস্টপ = / usr / স্থানীয় / বিন / রেডিস-ক্লাইট শাটডাউন পুনরায় চালু করুন = সর্বদা

টাইপ করুন = forking

[ইনস্টল] WantedBy = বহু- ব্যবহারকারীর.আরগেট

এটি পরিবর্তন করুন এক্সিকিস্টার্ট = / usr / স্থানীয় / বিন / redis- সার্ভার /etc/redis/redis.conf

প্রতি

এক্সেকস্টার্ট = / usr / স্থানীয় / বিন / redis- সার্ভার /etc/redis.conf

এখন, redis পরিষেবা শুরু করুন

ct systemctl শুরু redis

এখন রেডিস কোনও ত্রুটি না দিয়েই শুরু হবে।

+ + ============== + +

রেডিস পরীক্ষা করা: -

[রুট @ সার্ভার] # redis-cli 127.0.0.1:6379> পিং একটি নির্দিষ্ট স্ট্রিং প্রতিধ্বনি করতে ইকো কমান্ডটি ব্যবহার করুন: 127.0.0.1:6379> প্রতিধ্বনি "টেকমিন্ট রেডিস পরীক্ষা করছে" আপনি সেট কমান্ডটি ব্যবহার করে একটি মূল মানও সেট করতে পারেন এটির মতো: 127.0.0.1:6379> সেট মাইকি "রেডিস পরীক্ষা করছে" এখন মাইকের মান দেখুন: 127.0.0.1:6379> মাইকি পান "রেডিস পরীক্ষা করছে" 127.0.0.1:6379> প্রস্থান [রুট @ সার্ভার] #

এখন redis সফলভাবে শুরু এবং চলমান।

+ + ================== + +

ধন্যবাদ & শুভেচ্ছা

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