تکالیف نگهداری Apache Cassandra

این بخش وظایف نگهداری دوره‌ای Cassandra را شرح می‌دهد.

تعمیر و نگهداری ضدآنتروپی

گره‌های حلقه Apache Cassandra برای اطمینان از سازگاری در همه گره‌ها به تعمیر و نگهداری دوره‌ای نیاز دارند. برای انجام این نگهداری، از فرمان زیر استفاده کنید:

apigee-service apigee-cassandra apigee_repair -pr

‫Apigee هنگام اجرای این فرمان موارد زیر را توصیه می‌کند:

  • روی هر گره Cassandra (در همه مناطق یا مراکز داده) اجرا شود.
  • در هر زمان روی یک گره اجرا می‌شود تا از یکپارچگی در همه گره‌های حلقه اطمینان حاصل شود. اجرای هم‌زمان کارهای تعمیر روی چندین گره می‌تواند سلامت Cassandra را مختل کند.

    برای بررسی اینکه کار تعمیر در یک گره باموفقیت تکمیل شده است یا نه، در فایل system.log گره به‌دنبال ورودی با شناسه UUID آخرین جلسه تعمیر و عبارت «جلسه باموفقیت تکمیل شد» بگردید. در اینجا نمونه‌ای از ورودی گزارش آورده شده است:

    INFO [AntiEntropySessions:1] 2015-03-01 10:02:56,245 RepairSession.java (line 282) [repair #2e7009b0-c03d-11e4-9012-99a64119c9d8] session completed successfully"
    Ref: https://support.datastax.com/hc/en-us/articles/204226329-How-to-check-if-a-scheduled-nodetool-repair-ran-successfully
  • در دوره‌هایی که حجم کاری نسبتاً کم است اجرا شود (این ابزار بار قابل‌توجهی بر سیستم تحمیل می‌کند).
  • حداقل هر هفت روز یک‌بار اجرا کنید تا مشکلات مربوط به «حذف‌های فراموش‌شده» Cassandra برطرف شود.
  • آن را در روزهای مختلف روی گره‌های مختلف اجرا کنید، یا آن را طوری زمان‌بندی کنید که بین اجرای آن روی هر گره چند ساعت فاصله باشد.
  • از گزینه -pr (محدوده تقسیم‌کننده) برای مشخص کردن محدوده تقسیم‌کننده اصلی فقط گره استفاده کنید.

اگر اصالت‌سنجی JMX را برای Cassandra فعال کرده‌اید، باید نام کاربری و گذرواژه را هنگام فراخوانی nodetool اضافه کنید. برای مثال:

apigee-service apigee-cassandra apigee_repair -u username -pw password -pr

همچنین می‌توانید فرمان زیر را برای بررسی گزینه‌های پشتیبانی‌شده apigee_repair: اجرا کنید

apigee-service apigee-cassandra apigee_repair -h

توجه: apigee_repair یک پوشش برای تعمیر nodetool در Cassandra است، که قبل‌از انجام تعمیر Cassandra، بررسی‌های بیشتری انجام می‌دهد.

برای اطلاعات بیشتر، منابع زیر را ببینید:

نگهداری فایل گزارش

گزارش‌های Cassandra در دایرکتوری /opt/apigee/var/log/apigee-cassandra در هر گره ذخیره می‌شوند. به‌طور پیش‌فرض، حداکثر ۵۰ فایل گزارش، هرکدام با حداکثر اندازه ۲۰ مگابایت، می‌تواند ایجاد شود؛ وقتی به این حد برسید، گزارش‌های قدیمی‌تر با ایجاد گزارش‌های جدیدتر حذف می‌شوند.

اگر متوجه شدید که فایل‌های گزارش Cassandra فضای زیادی را اشغال می‌کنند، می‌توانید با ویرایش تنظیمات log4j، مقدار فضای اختصاص‌داده‌شده به فایل‌های گزارش را تغییر دهید.

  1. /opt/apigee/customer/application/cassandra.properties را ویرایش کنید تا ویژگی‌های زیر را تنظیم کنید. اگر آن فایل وجود ندارد، آن را ایجاد کنید:
    conf_logback_maxfilesize=20MB
    # max file size
    conf_logback_maxbackupindex=50 # max open files
  2. Cassandra را بااستفاده از فرمان زیر بازراه‌اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

نگهداری فضای دیسک

باید به‌طور منظم از میزان استفاده از دیسک Cassandra نظارت کنید تا مطمئن شوید حداقل ۵۰ درصد از هر دیسک آزاد است. اگر استفاده از دیسک به بالای ۵۰ درصد رسید، توصیه می‌کنیم فضای دیسک بیشتری اضافه کنید تا درصد استفاده کاهش یابد.

«کاساندرا» به‌طور خودکار عملیات زیر را برای کاهش استفاده از دیسک خود انجام می‌دهد:

  • حذف کد اصالت‌سنجی هنگام منقضی شدن کدها. بااین‌حال، بسته به پیکربندی شما، ممکن است چند هفته طول بکشد تا فضای دیسکی که این توکن‌ها استفاده می‌کردند آزاد شود. اگر حذف خودکار برای حفظ فضای دیسک کافی نیست، با پشتیبانی تماس بگیرید تا درباره حذف دستی توکن‌ها برای بازیابی فضا اطلاعات کسب کنید.
  • فشرده‌سازی داده‌ها: از Edge for Private Cloud نسخه ۴.۵۱.۰۰ به‌بعد، نصب‌های جدید Apigee Cassandra فضاهای کلید را با Leveled Compaction Strategy ایجاد می‌کنند.

    نصب نسخه‌های قدیمی‌تر Edge for Private Cloud که به Edge for Private Cloud 4.54.00 ارتقا یافته‌اند، استراتژی فشرده‌سازی قبلی را حفظ می‌کنند. اگر استراتژی فشرده‌سازی موجود SizeTieredCompactionStrategy است، Apigee توصیه می‌کند آن را به LeveledCompactionStrategy تغییر دهید، که استفاده بهتر از دیسک را فراهم می‌کند. برای دریافت دستورالعمل، به تغییر دادن راهبرد فشرده‌سازی Cassandra مراجعه کنید.

توجه: وقتی Cassandra فشرده‌سازی داده‌ها را انجام می‌دهد، ممکن است مقدار قابل‌توجهی از چرخه‌های واحد پردازش مرکزی و حافظه را مصرف کند. اما پس‌از تکمیل فشرده‌سازی، استفاده از منابع باید به حالت عادی برگردد. می‌توانید فرمان 'Nodetool compactionstats' را در هر گره اجرا کنید تا ببینید آیا فشرده‌سازی درحال اجرا است یا نه. برونداد compactionstats به شما اطلاع می‌دهد که آیا فشرده‌سازی معلقی برای اجرا وجود دارد یا نه و زمان تخمینی تکمیل آن چقدر است.