إدارة تكوين Trino

هام

هذه الميزة في وضع المعاينة حاليًا. تتضمن شروط الاستخدام التكميلية لمعاينات Microsoft Azure المزيد من الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي أو قيد المعاينة أو التي لم يتم إصدارها بعد في التوفر العام. للحصول على معلومات حول هذه المعاينة المحددة، راجع معلومات معاينة Azure HDInsight على AKS. للأسئلة أو اقتراحات الميزات، يرجى إرسال طلب على AskHDInsight مع التفاصيل ومتابعتنا لمزيد من التحديثات على مجتمع Azure HDInsight.

يأتي نظام مجموعة Trino مع HDInsight على AKS مع معظم التكوينات الافتراضية ل Trino مفتوحة المصدر. توضح هذه المقالة كيفية تحديث ملفات التكوين، وتضيف ملفات التكوين التكميلية الخاصة بك إلى نظام المجموعة.

يمكنك إضافة/تحديث التكوينات بطريقتين:

إشعار

يفرض Trino مع HDInsight على AKS تكوينات معينة ويحظر تعديل بعض الملفات و/أو الخصائص. ويتم ذلك لضمان الأمان/الاتصال المناسب عبر التكوين. يتضمن مثال الملفات/الخصائص المحظورة، على سبيل المثال لا الحصر:

  • ملف jvm.config باستثناء إعدادات حجم كومة الذاكرة المؤقتة.
  • Node.properties: node.id وnode.data-dir وlog.path وما إلى ذلك.
  • Config.properties: http-server.authentication.*, http-server.https.* etc.

استخدام مدخل Microsoft Azure

في مدخل Microsoft Azure، يمكنك تعديل ثلاث مجموعات من تكوينات Trino القياسية:

  • log.properties
  • config.properties
  • node.properties

اتبع الخطوات لتعديل التكوينات:

  1. تسجيل الدخول إلى مدخل Azure.

  2. في شريط البحث في مدخل Microsoft Azure، اكتب "HDInsight on AKS cluster" وحدد "Azure HDInsight on AKS clusters" من القائمة المنسدلة.

    لقطة شاشة تعرض خيار البحث لبدء استخدام HDInsight على نظام مجموعة AKS.

  3. حدد اسم نظام المجموعة من صفحة القائمة.

    لقطة شاشة تظهر تحديد HDInsight على نظام مجموعة AKS الذي تحتاجه من القائمة.

  4. انتقل إلى شفرة "Configuration Management".

    لقطة شاشة تعرض إدارة تكوين مدخل Azure.

  5. أضف أزواج قيم المفاتيح الموجودة أو حدثها للتكوينات التي تريد تعديلها. على سبيل المثال، config.properties -> التكوينات المخصصة -> انقر فوق "إضافة" لإضافة إعداد تكوين جديد ثم انقر فوق موافق.

    لقطة شاشة تعرض التكوين المخصص.

  6. انقر فوق "حفظ" لحفظ التكوينات.

    لقطة شاشة توضح كيفية حفظ التكوين.

استخدام قالب ARM

المتطلبات الأساسية

إدارة نظام المجموعة Cluster management

يمكن تحديد جميع تكوينات Trino في serviceConfigsProfiles.serviceName[“trino”] ضمن properties.clusterProfile.

يركز المثال التالي على coordinator/worker/miscfiles. للحصول على الكتالوجات، راجع إضافة كتالوجات إلى مجموعة موجودة:

"serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "catalogs",
                "files": [<file-spec>,…]
            },
            {
                "component": "coordinator",
                "files": [<file-spec>,…]
            },
            {
                "component": "worker",
                "files": [<file-spec>,…]
            },
            {
                "component": " miscfiles",
                "files": [<file-spec>,…]
            },
        ]
    }
]

هناك العديد من المكونات التي تتحكم في جوانب التكوين المختلفة:

اسم المكون الخصائص المطلوبة/المسموح بها لكل مواصفات ملف ‏‏الوصف
عام filename, values يحتوي على ملفات تكوين لكل من المنسق والعامل.
المنسق filename, values يحتوي على ملفات تكوين للمنسق فقط، ويتجاوز الشائعة إذا كانت موجودة.
العامل filename, values يحتوي على ملفات تكوين للعمال فقط، ويتجاوز الشائعة إذا كانت موجودة.
miscfiles filename, content يحتوي على ملفات تكوين متنوعة يوفرها المستخدم للمجموعة بأكملها.
الكتالوجات filename، إما المحتوى أو القيم يحتوي على ملفات الكتالوج للمجموعة بأكملها.

يوضح المثال التالي:

  • تجاوز node.environment الافتراضي لنظام المجموعة (معروض في Trino UI).
  • تجاوز قيم config.properties الافتراضية للمنسق والعامل.
  • أضف نموذج مجموعات الموارد json وقم بتكوين المنسق لاستخدامه.
"serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "common",
                "files": [
                    {
                        "fileName": "node.properties",
                        "values": {
                            "node.environment": "preview"
                        }
                    },
                    {
                        "fileName": "config.properties",
                        "values": {
                            "join-distribution-type": "AUTOMATIC",
                            "query.max-execution-time": "5d",
                            "shutdown.grace-period": "5m"
                        }
                    }
                ]                
            },
            {
                "component": "coordinator",
                "files": [
                    {
                        "fileName": "resource-groups.properties",
                        "values": {
                            "resource-groups.configuration-manager": "file",
                            "resource-groups.config-file": "${MISC:resource-groups}"
                        }                                            
                    }
                ]
            },
            {
                "component": "miscfiles",
                "files": [
                    {
                        "fileName": "resource-groups",
                        "path": "/customDir/resource-groups.json",
                        "content": "{\"rootGroups\":[{\"name\":\"global\",\"softMemoryLimit\":\"80%\",\"hardConcurrencyLimit\":100,\"maxQueued\":1000,\"schedulingPolicy\":\"weighted\",\"jmxExport\":true,\"subGroups\":[{\"name\":\"data_definition\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":5,\"maxQueued\":100,\"schedulingWeight\":1},{\"name\":\"adhoc\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":50,\"maxQueued\":1,\"schedulingWeight\":10,\"subGroups\":[{\"name\":\"other\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":2,\"maxQueued\":1,\"schedulingWeight\":10,\"schedulingPolicy\":\"weighted_fair\",\"subGroups\":[{\"name\":\"${USER}\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":1,\"maxQueued\":100}]}]}]},{\"name\":\"admin\",\"softMemoryLimit\":\"100%\",\"hardConcurrencyLimit\":50,\"maxQueued\":100,\"schedulingPolicy\":\"query_priority\",\"jmxExport\":true}],\"selectors\":[{\"group\":\"global.adhoc.other.${USER}\"}],\"cpuQuotaPeriod\":\"1h\"}"
                    }
                ]
            }
        ]
    }

انشر قالب ARM المحدث ليعكس التغييرات في نظام المجموعة. تعرف على كيفية نشر قالب ARM.