Riak Cloud Storage. الجزء 3. الدعامة والوكيل وموازنة الحمل ، عميل S3

صورة


في هذه المقالة ، سنكمل تكوين مكونات نظام Riak Cloud Storage.



هذه المقالة هي استكمال لسلسلة من الترجمات المجانية للدليل الرسمي لنظام Riak CS 2.1.1.

الجزء 1. إعداد Riak KV

الجزء 2. إعداد مكون Riak CS



إقامة الدعامة



يجب عليك استخدام عقدة Stanchion واحدة فقط في مجموعتك. يجب تكوين جميع عقد Riak CS في هذه المجموعة للتواصل مع عقدة Stanchion بحيث يمكن للكتلة مراقبة العمليات السببية والتوفيق بينها.



جميع الإعدادات التي تستخدمها العقدة Stanchion موجودة في ملف stanchion.conf ، الموجود في الدليل / etc / stanchion في معظم أنظمة التشغيل.



إذا كنت تقوم بالترقية من إصدار أقدم من Riak CS 2.0.0 - عند تقديم كل من stanchion.conf و riak-cs.conf - فلا يزال بإمكانك استخدام ملف التكوين app.config القديم. الأمثلة أدناه ستكون مكافئة.



STANCHION.CONF



configuration.name = value


APP.CONFIG



{stanchion, [
             %% Configs here
            ]}


تكوين عنوان IP والمنفذ من أجل Stanchion



إذا كان لديك فقط عقدة Riak CS واحدة ، فلن تحتاج إلى تغيير إعدادات Stanchion ، لأن Stanchion يستمع فقط للطلبات من المضيف المحلي. إذا كانت مجموعة Riak CS تحتوي على العديد من العقد ، فيجب عليك تعيين عنوان IP والمنفذ الذي سيستمع Stanchion للطلبات الواردة من العقد الأخرى.



يمكنك تعيين عنوان IP باستخدام معلمة المستمع . استبدل 127.0.0.1 بـ IP المضيف



Stanchion والمنفذ 8080 بمنفذ المضيف: STANCHION.CONF



listener = 127.0.0.1:8080


APP.CONFIG



{stanchion, [
             {host, {"127.0.0.1", 8085}},
             %% Other configs
            ]}


ملاحظة حول مطابقة عناوين



IP يجب أن يتطابق عنوان IP الذي تدخله هنا مع عنوان IP في معلمة stanchion_host في riak.conf لـ Riak و riak-cs.conf لـ Riak CS.


إذا كنت تريد استخدام SSL ، فتأكد من عدم تعليق معلمات ssl.certfile و ssl.keyfile وتهيئتها بشكل صحيح.



STANCHION.CONF



ssl.certfile = "./etc/cert.pem"
ssl.keyfile = "./etc/key.pem"


APP.CONFIG



{stanchion, [
             {ssl, [
                    {certfile, "./etc/cert.pem"},
                    {keyfile, "./etc/key.pem"}
                   ]},
             %% Other configs
            ]}


إنشاء حساب مسؤول



يتم إنشاء المسؤول عند تكوين مكون Riak CS. يجب إضافة نفس الأذونات لكل Stanchion المستخدمة في الكتلة. تم تكوين هذا في stanchion.conf ، الموجود في الدليل / etc / stanchion. أدخل نفس admin.key و admin.secret



STANCHION.CONF



admin.key = OUCXMB6I3HOZ6D0GWO2D
admin.secret = a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag==


APP.CONFIG



{stanchion, [
           %% Admin user credentials
           {admin_key, "OUCXMB6I3HOZ6D0GWO2D"},
           {admin_secret, "a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag=="},
           %% Other configs
          ]}


إعداد معلومات Riak KV



إذا كنت تقوم بتشغيل عقدة واحدة للتجربة ، أو إذا كانت عقدة Riak KV تعمل محليًا وتم تكوينها للاستماع لحركة مرور المخزن المؤقت للبروتوكول عند 0.0.0.0 ، فيجب أن يكون الإعداد الافتراضي جيدًا.



خلاف ذلك ، قم بتحديث عنوان IP والمنفذ لمضيف Riak في ملف تكوين Stanchion.



STANCHION.CONF



riak_host = 127.0.0.1:8087


APP.CONFIG



{stanchion, [
             {riak_host, {"127.0.0.1", 8087}},
             %% Other configs
            ]}


موازنة التحميل والتوكيل لـ Riak CS



صورة




إذا كنت تخطط لاستخدام Riak CS في الاستخدام الصناعي ، فإننا نوصي بشدة بتثبيت موازن تحميل أو وكيل أو برنامج أو جهاز بعد Riak CS. لاحظ أيضًا أنه يجب عدم تعريض Riak CS مباشرةً لفتح واجهات الشبكة.



أبلغ مستخدمو Riak CS عن استخدام Riak CS بنجاح مع موازن تحميل أو وكيل. تشمل الحلول المشتركة موازين تحميل الأجهزة الخاصة ، وخيارات موازن التحميل المستندة إلى السحابة - مثل Elastic Load Balancer من Amazon - وحلول البرامج مفتوحة المصدر مثل HAProxy و Nginx.



يراجع هذا الدليل بإيجاز حل مشاركة الكود المصدري HAProxy و Nginx ويقدم بعض النصائح حول التكوين والتشغيل التي تم جمعها من مستخدمي Riak والمجتمع الهندسي.



HAProxy



HAProxy هو حل سريع وموثوق لموازنة الحمل وإنشاء وكلاء لحركة مرور تطبيقات HTTP و TCP.



أبلغ المستخدمون عن استخدام ناجح لـ HAProxy مع Riak CS في عدد من التكوينات والسيناريوهات. المزيد من المعلومات وأمثلة التكوين لهذا القسم للمستخدمين المتقدمين في مجتمع Riak CS ، بالإضافة إلى تعليقات مهندسي Riak.



مثال التكوين المثال



التالي هو نقطة البداية لتكوين HAProxy كموازن تحميل لتثبيت Riak CS.



ملاحظة حول



حدود الملفات المفتوحة يجب أن تكون حدود الملفات المفتوحة لنظام التشغيل أكبر من 256000 لمثال التكوين التالي. تحقق من الوثائق الخاصة بحدود الملفات المفتوحة للحصول على إعداد مفصل لقيمة أنظمة التشغيل المختلفة.


تكوين



global
    log 127.0.0.1     local0
    log 127.0.0.1     local1 notice
    maxconn           256000
    spread-checks     5
    daemon

defaults
    log               global
    option            dontlognull
    option            redispatch
    option            allbackups
    no option         httpclose
    retries           3
    maxconn           256000
    timeout connect   5000
    timeout client    5000
    timeout server    5000

frontend riak_cs
    bind              10.0.24.100:8080
    # Example bind for SSL termination
    # bind            10.0.24.100:8443 ssl crt /opt/local/haproxy/etc/data.pem
    mode              http
    option            httplog
    capture           request header Host len 64
    acl good_ips      src -f /opt/local/haproxy/etc/gip.lst
    block if          !good_ips
    use_backend       riak_cs_backend if good_ips

backend riak_cs_backend
    mode              http
    balance           roundrobin
    # Ping Riak CS to determine health
    option            httpchk GET /riak-cs/ping
    timeout connect 60s
    timeout http-request 60s
    server riak1 r1s01.example.com:8081 weight 1 maxconn 1024 check
    server riak2 r1s02.example.com:8081 weight 1 maxconn 1024 check
    server riak3 r1s03.example.com:8081 weight 1 maxconn 1024 check
    server riak4 r1s04.example.com:8081 weight 1 maxconn 1024 check
    server riak5 r1s05.example.com:8081 weight 1 maxconn 1024 check


يرجى ملاحظة أن المثال أعلاه يعتبر نقطة انطلاق وهو عمل قيد التقدم.


يجب أن تكون حذرًا عند تطبيق هذا التكوين وتغييره ليناسب بيئتك.

أحد تفاصيل التكوين المحددة الجديرة بالملاحظة من المثال هو خيار التعليق لاستخدام SSL. HAProxy يدعم SSL مباشرة منذ الإصدار 1.5. تأكد من أن مثيل HAProxy الخاص بك مبني على دعم OpenSSL ، يمكنك تمكين SSL عن طريق إلغاء تعليق الخط وتعديله ليناسب بيئتك.



يمكنك العثور على مزيد من المعلومات في وثائق HAProxy .



انتبه أيضًا إلى خيار الفحص الصحي Riak CS عبر نقطة نهاية / riak-cs / ping. هذه المعلمة مطلوبة للتحقق من صحة كل مضيف Riak CS كجزء من طريقة موازنة التحميل round robin.



Nginx



أبلغ العديد من المستخدمين عن استخدام خادم Nginx HTTP بنجاح لطلبات الوكيل لـ Riak CS. تم تضمين مثال يوفر الوصول إلى Riak CS هنا كمرجع.



مثال التكوين



أدناه مثال على التكوين الأولي لـ Nginx للعمل كوكيل أمامي لـ Riak CS.



تكوين



upstream riak_cs_host {
  server  10.0.1.10:8080;
}

server {
  listen   80;
  server_name  _;
  access_log  /var/log/nginx/riak_cs.access.log;

  location / {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_redirect off;

    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout         90;

    proxy_buffer_size          64k;  # If set to a smaller value,
                                     # nginx can complain with a
                                     # "headers too large" error

    proxy_buffers 8  64k;   # Increase from default of (8, 8k).
                            # If left to default with increased
                            # proxy_buffer_size, nginx complains
                            # that proxy_busy_buffers_size is too
                            # large.

    proxy_pass http://riak_cs_host;
  }
}


لاحظ أن التوجيه proxy_set_header Host $ http_host مطلوب لضمان تمرير رأس HTTP Host: إلى Riak CS كما تم استلامه ، وعدم ترجمته إلى اسم المضيف أو عنوان خادم الواجهة الخلفية Riak CS.



من المهم أيضًا ملاحظة أن proxy_pass لا يجب أن ينتهي بشرطة مائلة ، لأن هذا يمكن أن يؤدي إلى مشاكل مختلفة.



إعداد عميل S3



صورة




يوضح لك هذا البرنامج التعليمي كيفية استخدام s3cmd كعميل S3. على الرغم من أنه لن يغطي جميع وظائف العميل ، إلا أنه سيوضح لك كيفية إنشاء تكوين وتشغيل بعض الأوامر الأساسية.

ملاحظة: إصدار التوقيع s3cmd



إذا كنت تستخدم الإصدار 1.5.0 من s3cmd أو أعلى ، فأنت بحاجة إلى إضافة علامة --signature-v2 لكل أمر يستهدف مجموعة Riak CS بحيث يستخدم s3cmd الإصدار 2 من AWS وليس AWS 3 الافتراضي.

الإعداد الأولي



لاستخدام s3cmd مع Riak CS ، يجب عليك تكوين الأداة المساعدة للتفاعل مع نظام Riak CS الخاص بك. إحدى الطرق هي إنشاء ملف .s3cfg وحفظه في الدليل الرئيسي الخاص بك. عند تشغيل أي أمر يتعلق بـ s3cmd ، ستتم قراءة محتويات الملف افتراضيًا. بدلاً من ذلك ، يمكنك تحديد ملف تكوين باستخدام العلامة -c . مثال:



شل



s3cmd -c /PATH/TO/CONFIG/FILE <command>


هناك طريقة بديلة لتهيئة s3cmd وهي تشغيل s3cmd --configure ، والتي ستطلق أداة تفاعلية وتبني ملف تهيئة بناءً على ما تدخله.



في القسم التالي ، ستجد مثالًا صغيرًا لملفات .s3cfg التي يمكن استخدامها لتكوين الاتصال مع Riak CS.



نموذج لملف التكوين s3cmd للاستخدام المحلي



استخدم هذا المثال ملف التكوين .s3cfg للتواصل مع Riak CS محليًا على المنفذ 8080 مع s3cmd (تذكر تضمين معلومات خاصة بتثبيت Riak CS إذا لزم الأمر).



تكوين



[default]
access_key = 8QON4KC7BMAYYBCEX5J+
bucket_location = US
cloudfront_host = cloudfront.amazonaws.com
cloudfront_resource = /2010-07-15/distribution
default_mime_type = binary/octet-stream
delete_removed = False
dry_run = False
enable_multipart = False
encoding = UTF-8
encrypt = False
follow_symlinks = False
force = False
get_continue = False
gpg_command = /usr/local/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase = password
guess_mime_type = True
host_base = s3.amazonaws.com
host_bucket = %(bucket)s.s3.amazonaws.com
human_readable_sizes = False
list_md5 = False
log_target_prefix =
preserve_attrs = True
progress_meter = True
proxy_host = localhost
proxy_port = 8080
recursive = False
recv_chunk = 4096
reduced_redundancy = False
secret_key = rGyDLBi7clBuvrdrkFA6mAJkwJ3ApUVr4Pr9Aw==
send_chunk = 4096
simpledb_host = sdb.amazonaws.com
skip_existing = False
socket_timeout = 300
urlencoding_mode = normal
use_https = False
verbosity = WARNING
signature_v2 = True


نموذج ملف تكوين s3cmd للاستخدام في الإنتاج



استخدم هذا المثال ملف التكوين .s3cfg للتفاعل مع Riak CS عبر s3cmd على نظام إنتاج.



تكوين



[default]
access_key = EJ8IUJX9X0F2P9HAMIB0
bucket_location = US
cloudfront_host = cloudfront.amazonaws.com
cloudfront_resource = /2010-07-15/distribution
default_mime_type = binary/octet-stream
delete_removed = False
dry_run = False
enable_multipart = False
encoding = UTF-8
encrypt = False
follow_symlinks = False
force = False
get_continue = False
gpg_command = /usr/local/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase = password
guess_mime_type = True
host_base = <YOUR DOMAIN HERE>
host_bucket = %(bucket)s.<YOUR DOMAIN HERE>
human_readable_sizes = False
list_md5 = False
log_target_prefix =
preserve_attrs = True
progress_meter = True
proxy_host =
proxy_port = 0
recursive = False
recv_chunk = 4096
reduced_redundancy = False
secret_key = XOY/9IFKVEDUl6Allrkj7oyH9XW+CANnFLEVuw==
send_chunk = 4096
simpledb_host = sdb.amazonaws.com
skip_existing = False
socket_timeout = 300
urlencoding_mode = normal
use_https = True
verbosity = WARNING
signature_v2 = True


لتكوين عميل s3cmd لمستخدم ، يجب عليك تغيير access_key و secret_key.



تكوين موقع التخزين



بشكل افتراضي ، يستخدم ملف .3cfg خدمة Amazon S3 كخلفية للتخزين. بالنسبة لنظام Riak CS ، قم بتغيير الإعدادات التالية للإشارة إلى نظام التخزين الخاص بك.



  • host_base - أدخل اسم نطاق أو مسارًا لمخزن البيانات ، على سبيل المثال data.example.com
  • host_bucket - حدد موقع الحاوية ، على سبيل المثال my_cs_bucket.data.example.com


استخدام SSL في العميل



إذا كنت تستخدم SSL ، فقم بتعيين المعلمة use_https على True .



الروابط



Riak Cloud Storage. الجزء 1. تكوين Riak KV

Riak Cloud Storage. الجزء 2. تكوين مكون Riak CS

Riak Cloud Storage. الجزء 3. الدعامة والوكيل وموازنة الحمل ، الدليل الأصلي لعميل S3

.



All Articles