تطبيق عميل للتفاعل مع clickhouse-keeper باستخدام بروتوكوله الأصلي.
الخيارات
-q QUERY,--query=QUERY— الاستعلام المراد تنفيذه. إذا لم يتم تمرير هذا المعامل، فسيبدأclickhouse-keeper-clientفي الوضع التفاعلي.-h HOST,--host=HOST— مضيف الخادم. القيمة الافتراضية:localhost.-p N,--port=N— منفذ الخادم. القيمة الافتراضية: 9181-c FILE_PATH,--config-file=FILE_PATH— تعيين مسار ملف الإعدادات للحصول على سلسلة الاتصال. القيمة الافتراضية:config.xml.--password=PASSWORD— كلمة المرور للمصادقة. يمكن أيضًا تعيينها عبر متغير البيئةCLICKHOUSE_KEEPER_PASSWORDأو في ملف إعدادات XML ضمن<zookeeper><password>.--identity=IDENTITY— الهوية لمخطط المصادقةdigest. يمكن أيضًا تعيينها عبر متغير البيئةCLICKHOUSE_KEEPER_IDENTITYأو في ملف إعدادات XML ضمن<zookeeper><identity>.--connection-timeout=TIMEOUT— تعيين مهلة الاتصال بالثواني. القيمة الافتراضية: 10s.--session-timeout=TIMEOUT— تعيين مهلة الجلسة بالثواني. القيمة الافتراضية: 10s.--operation-timeout=TIMEOUT— تعيين مهلة العملية بالثواني. القيمة الافتراضية: 10s.--history-file=FILE_PATH— تعيين مسار ملف المحفوظات. القيمة الافتراضية:~/.keeper-client-history.--log-level=LEVEL— تعيين مستوى التسجيل. القيمة الافتراضية:information.--no-confirmation— عند تعيينه، لن يطلب تأكيدًا لبعض الأوامر. القيمة الافتراضية هيfalseفي الوضع التفاعلي وtrueللاستعلام--help— يعرض رسالة المساعدة.
متغيرات البيئة
CLICKHOUSE_KEEPER_PASSWORD— يُستخدم ككلمة المرور الافتراضية إذا لم يتم تمرير--passwordفي سطر الأوامر.CLICKHOUSE_KEEPER_IDENTITY— يُستخدم كهوية افتراضية إذا لم يتم تمرير--identityفي سطر الأوامر.
المصادقة
عند الاتصال بخادم Keeper يتطلب المصادقة، تُحدَّد كلمة المرور وفق ترتيب الأولوية التالي (تُعتمد أول قيمة مطابقة):
- وسيطة سطر الأوامر
--password - متغير البيئة
CLICKHOUSE_KEEPER_PASSWORD <zookeeper><password>في ملف إعدادات XML المحدد بواسطة--config-file
وينطبق ترتيب الأولوية نفسه على --identity / CLICKHOUSE_KEEPER_IDENTITY / <zookeeper><identity>.
مثال على ملف إعدادات XML يتضمن إعدادات المصادقة:
<clickhouse>
<zookeeper>
<password>secret</password>
<node index="1">
<host>localhost</host>
<port>9181</port>
</node>
</zookeeper>
</clickhouse>مثال
./clickhouse-keeper-client -h localhost -p 9181 --connection-timeout 30 --session-timeout 30 --operation-timeout 30
Connected to ZooKeeper at [::1]:9181 with session_id 137
/ :) ls
keeper foo bar
/ :) cd 'keeper'
/keeper :) ls
api_version
/keeper :) cd 'api_version'
/keeper/api_version :) ls
/keeper/api_version :) cd 'xyz'
Path /keeper/api_version/xyz does not exist
/keeper/api_version :) cd ../../
/ :) ls
keeper foo bar
/ :) get 'keeper/api_version'
2الأوامر
ls '[path]' [watch_id]– يسرد العقد للمسار المحدد (الافتراضي: cwd). ويمكنه اختياريًا تعيين watch على العقد الفرعية معرّف بواسطةwatch_idcd '[path]'– يغيّر مسار العمل (الافتراضي.)cp '<src>' '<dest>'– ينسخ العقدة 'src' إلى المسار 'dest'cpr '<src>' '<dest>'– ينسخ الشجرة الفرعية للعقدة 'src' إلى المسار 'dest'mv '<src>' '<dest>'– ينقل العقدة 'src' إلى المسار 'dest'mvr '<src>' '<dest>'– ينقل الشجرة الفرعية للعقدة 'src' إلى المسار 'dest'exists '<path>' [watch_id]– يعيد1إذا كانت العقدة موجودة، و0خلاف ذلك. ويمكنه اختياريًا تعيين watch معرّف بواسطةwatch_idset '<path>' <value> [version]– يحدّث قيمة العقدة. ولا يحدّثها إلا إذا تطابق الإصدار (الافتراضي: -1)create '<path>' <value> [mode]– ينشئ عقدة جديدة بالقيمة المحددةtouch '<path>'– ينشئ عقدة جديدة بقيمة سلسلة فارغة. ولا يطلق استثناءً إذا كانت العقدة موجودة بالفعلget '<path>' [watch_id]– يعيد قيمة العقدة. ويمكنه اختياريًا تعيين watch للبيانات معرّف بواسطةwatch_idwatch <watch_id> [timeout_seconds]– ينتظر حدث watch المعرّف بواسطةwatch_idويطبع نوع الحدث والمسار. إذا تم تحديدtimeout_seconds، يعيد خطأً بعد انتهاء المهلة المحددةrm '<path>' [version]– يزيل العقدة فقط إذا تطابق الإصدار (الافتراضي: -1)rmr '<path>' [limit]– يحذف المسار تكراريًا إذا كان حجم الشجرة الفرعية أصغر من الحد. التأكيد مطلوب (الحد الافتراضي = 100)flwc <command>– ينفّذ أمر four-letter-wordhelp– يطبع هذه الرسالةget_direct_children_number '[path]'– يحصل على عدد العقد الفرعية المباشرة تحت مسار محددget_all_children_number '[path]'– يحصل على العدد الإجمالي للعقد الفرعية تحت مسار محددget_stat '[path]'– يعيد إحصاءات العقدة (الافتراضي.)find_super_nodes <threshold> '[path]'– يعثر على العقد التي يزيد عدد العقد الفرعية فيها على threshold معيّن للمسار المحدد (الافتراضي.)delete_stale_backups– يحذف عقد ClickHouse المستخدمة للنسخ الاحتياطية والتي أصبحت الآن غير نشطةfind_big_family [path] [n]– يعيد أعلى n من العقد ذات أكبر عائلة في الشجرة الفرعية (المسار الافتراضي =.و n = 10)sync '<path>'– يزامن العقدة بين العمليات وleaderreconfig <add|remove|set> "<arg>" [version]– يعيد تهيئة عنقود Keeper. انظر /docs/en/guides/sre/keeper/clickhouse-keeper#reconfiguration