इस दस्तावेज़ में, Cassandra 4.0.X के कॉन्फ़िगरेशन के बारे में बताया गया है. यह Apigee Edge for Private Cloud के 4.53.00 या इसके बाद के वर्शन में शामिल है. यहां बताए गए कॉन्फ़िगरेशन करने के बारे में ज़्यादा जानने के लिए, ऐपेंडिक्स सेक्शन देखें.
गारबेज कलेक्टर का कॉन्फ़िगरेशन
कॉन्टेंट मैनेजमेंट सिस्टम का इस्तेमाल करना
Apigee, डिफ़ॉल्ट रूप से Cassandra को G1 Garbage Collector के साथ शिप करता है. इसका सुझाव Cassandra 4.X के लिए दिया जाता है. हालांकि, अलग-अलग इस्तेमाल के उदाहरणों और अपने इंफ़्रास्ट्रक्चर के लिए, Edge for Private Cloud की तरह, सीएमएस गै़रबेज कलेक्टर पर स्विच किया जा सकता है. Apigee का सुझाव है कि 8 जीबी से ज़्यादा हेप साइज़ के लिए, G1GC का इस्तेमाल करें.
सीएमएस गै़रबेज कलेक्टर का इस्तेमाल करने के लिए, यह कॉन्फ़िगरेशन सेट करें:
conf_jvm_options_gc_type=cms
G1 कचरा कलेक्टर का इस्तेमाल करने के लिए, इस कॉन्फ़िगरेशन को हटाएं.
कॉन्टेंट मैनेजमेंट सिस्टम के गै़रबेज कलेक्टर की सेटिंग में बदलाव करना
Apigee, सीएमएस कचरा कलेक्टर के लिए डिफ़ॉल्ट पैरामीटर उपलब्ध कराता है. ये पैरामीटर तब लागू होते हैं, जब Cassandra सीएमएस का इस्तेमाल करता है. इन पैरामीटर को बदलने के लिए, config conf_jvm_options_cms_gc_setting_lines
का इस्तेमाल करें. सीएमएस जीसी के लिए सभी काम के JVM पैरामीटर को एक लाइन में सेट करें और उन्हें “\n” से अलग करें.
उदाहरण:
conf_jvm_options_cms_gc_setting_lines=-XX:+UseParNewGC\n-XX:+UseConcMarkSweepGC\n-XX:+CMSParallelRemarkEnabled\n-XX:SurvivorRatio=8\n-XX:MaxTenuringThreshold=1\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:CMSWaitDuration=10000\n-XX:+CMSParallelInitialMarkEnabled\n-XX:+CMSEdenChunksRecordAlways\n-XX:+CMSClassUnloadingEnabled
G1GC कचरा कलेक्टर की सेटिंग में बदलाव करना
Apigee, G1 कचरा कलेक्टर के लिए डिफ़ॉल्ट पैरामीटर उपलब्ध कराता है. ये पैरामीटर तब लागू होते हैं, जब डिफ़ॉल्ट G1GC चालू होता है. सीएमएस पर स्विच करने पर, ये सेटिंग लागू नहीं होतीं. G1GC पैरामीटर बदलने के लिए, config conf_jvm_options_g1_gc_setting_lines
का इस्तेमाल करें. G1 GC के लिए सभी ज़रूरी JVM पैरामीटर को एक लाइन में सेट करें और उन्हें “\n” से अलग करें.
उदाहरण:
conf_jvm_options_g1_gc_setting_lines=-XX:+UseG1GC\n-XX:G1RSetUpdatingPauseTimePercent=5\n-XX:MaxGCPauseMillis=500\n-XX:InitiatingHeapOccupancyPercent=50\n-XX:ParallelGCThreads=8\n-XX:ConcGCThreads=8\n-XX:+ParallelRefProcEnabled\n-XX:MaxTenuringThreshold=1\n-XX:G1HeapRegionSize=32m\n-XX:G1ReservePercent=15
अपनी GC सेटिंग का इस्तेमाल करना
G1GC और CMS, दोनों के लिए Apigee के सभी प्रीसेट को अनदेखा करने के लिए, ये कॉन्फ़िगरेशन सेट करें:
conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings
में JVM के लिए सभी GC सेटिंग बताएं. साथ ही, हर सेटिंग को “\n” से अलग करें.
उदाहरण:
conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19
हीप साइज़ कॉन्फ़िगर करना
Apigee का सुझाव है कि Cassandra को 8 जीबी से ज़्यादा हेप स्पेस के साथ इस्तेमाल न करें. $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
में, हेप के साइज़ को आठ जीबी तक सीमित करने के लिए जांच की जाती है.
जांच को मैन्युअल तरीके से बंद किए बिना, अपने हिसाब से हेप साइज़ तय करने के लिए, कॉन्फ़िगरेशन conf_jvm_options_custom_settings
का इस्तेमाल करें. हर सेटिंग को “\n” से अलग करें.
उदाहरण:
conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G
JVM की सामान्य सेटिंग कॉन्फ़िगर करना
Cassandra में JVM पैरामीटर जोड़ने के लिए, कॉन्फ़िगरेशन conf_jvm_options_custom_settings
के लिए सभी JVM कॉन्फ़िगरेशन को एक लाइन में डालें और उन्हें “\n” से अलग करें.
उदाहरण:
conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures
अन्य जानकारी
Cassandra का कोई भी कॉन्फ़िगरेशन सेट करने का तरीका
- Cassandra कॉन्फ़िगरेशन की बदलाव करने वाली फ़ाइल बनाएं या उसमें बदलाव करें:
vi $APIGEE_ROOT/customer/application/cassandra.properties
- ज़रूरत के हिसाब से कॉन्फ़िगरेशन लाइन जोड़ें, हटाएं या उसमें बदलाव करें.
- फ़ाइल सेव करें और पक्का करें कि “apigee” उपयोगकर्ता के पास इसका मालिकाना हक हो और वह इसे पढ़ सके:
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- नोड पर Cassandra सेवा को रीस्टार्ट करें:
apigee-service apigee-cassandra restart
- हर Cassandra नोड पर, यह तरीका एक-एक करके दोहराएं.
अलग-अलग तरह के कॉन्फ़िगरेशन
कॉन्फ़िगरेशन conf_jvm_options_custom_settings
, Cassandra JVM को अलग-अलग पैरामीटर पास कर सकता है. अलग-अलग Java पैरामीटर को एक ही कॉन्फ़िगरेशन में जोड़ें और उन्हें “\n” से अलग करें.
उदाहरण:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G