ইলাস্টিকসার্ক খুব বেশি ডিস্ক স্পেস ব্যবহার করছে


12

আমার একটি সেন্টোস 6.5 সার্ভার রয়েছে যার উপর আমি ইলাস্টিকসার্ক 1.3.2 ইনস্টল করেছি ।

আমার elasticsearch.ymlকনফিগারেশন ফাইলটি ডিফল্ট হিসাবে ইলাস্টিক অনুসন্ধানের সাথে একটি শিপিংয়ের একটি সর্বনিম্ন পরিবর্তন mod সমস্ত মন্তব্য করা লাইন একবার ছিনিয়ে নেওয়া, দেখে মনে হচ্ছে:

cluster.name: xxx-kibana

node:
    name: "xxx"
    master: true
    data: true

index.number_of_shards: 5

index.number_of_replicas: 1

path:
    logs: /log/elasticsearch/log
    data: /log/elasticsearch/data


transport.tcp.port: 9300

http.port: 9200

discovery.zen.ping.multicast.enabled: false

Elasticsearch থাকা উচিত কম্প্রেশন অন ডিফল্টরূপে , এবং আমি 95% হিসাবে হিসাবে উচ্চ কম হিসাবে হিসাবে 50% থেকে কম্প্রেশন অনুপাত নির্বাণ বিভিন্ন benchmarks পড়ুন। দুর্ভাগ্যক্রমে, আমার ক্ষেত্রে সংকোচনের অনুপাত -400%, বা অন্য কথায়: ES- র সাথে সঞ্চিত ডেটা একই সামগ্রীযুক্ত পাঠ্য ফাইলের চেয়ে 4 বার ডিস্কের বেশি জায়গা নেয় । দেখা:

12K     logstash-2014.10.07/2/translog
16K     logstash-2014.10.07/2/_state
116M    logstash-2014.10.07/2/index
116M    logstash-2014.10.07/2
12K     logstash-2014.10.07/4/translog
16K     logstash-2014.10.07/4/_state
127M    logstash-2014.10.07/4/index
127M    logstash-2014.10.07/4
12K     logstash-2014.10.07/0/translog
16K     logstash-2014.10.07/0/_state
109M    logstash-2014.10.07/0/index
109M    logstash-2014.10.07/0
16K     logstash-2014.10.07/_state
12K     logstash-2014.10.07/1/translog
16K     logstash-2014.10.07/1/_state
153M    logstash-2014.10.07/1/index
153M    logstash-2014.10.07/1
12K     logstash-2014.10.07/3/translog
16K     logstash-2014.10.07/3/_state
119M    logstash-2014.10.07/3/index
119M    logstash-2014.10.07/3
622M    logstash-2014.10.07/  # <-- This is the total!

বনাম:

6,3M    /var/log/td-agent/legacy_api.20141007_0.log
8,0M    /var/log/td-agent/legacy_api.20141007_10.log
7,6M    /var/log/td-agent/legacy_api.20141007_11.log
6,7M    /var/log/td-agent/legacy_api.20141007_12.log
8,0M    /var/log/td-agent/legacy_api.20141007_13.log
7,6M    /var/log/td-agent/legacy_api.20141007_14.log
7,6M    /var/log/td-agent/legacy_api.20141007_15.log
7,7M    /var/log/td-agent/legacy_api.20141007_16.log
5,6M    /var/log/td-agent/legacy_api.20141007_17.log
7,9M    /var/log/td-agent/legacy_api.20141007_18.log
6,3M    /var/log/td-agent/legacy_api.20141007_19.log
7,8M    /var/log/td-agent/legacy_api.20141007_1.log
7,1M    /var/log/td-agent/legacy_api.20141007_20.log
8,0M    /var/log/td-agent/legacy_api.20141007_21.log
7,2M    /var/log/td-agent/legacy_api.20141007_22.log
3,8M    /var/log/td-agent/legacy_api.20141007_23.log
7,5M    /var/log/td-agent/legacy_api.20141007_2.log
7,3M    /var/log/td-agent/legacy_api.20141007_3.log
8,0M    /var/log/td-agent/legacy_api.20141007_4.log
7,5M    /var/log/td-agent/legacy_api.20141007_5.log
7,5M    /var/log/td-agent/legacy_api.20141007_6.log
7,8M    /var/log/td-agent/legacy_api.20141007_7.log
7,8M    /var/log/td-agent/legacy_api.20141007_8.log
7,2M    /var/log/td-agent/legacy_api.20141007_9.log
173M    total

আমি কি ভুল করছি? ডেটা সংকুচিত হচ্ছে না কেন?

আমি অস্থায়ীভাবে index.store.compress.stored: 1আমার কনফিগারেশন ফাইলে যুক্ত করেছি, যেমন আমি elasticsearch 0.19.5প্রকাশের নোটগুলিতে (যখন storeকম্প্রেশনটি প্রথম প্রকাশিত হয়েছিল) তে খুঁজে পেয়েছি, তবে এটি এখনও কোনও পার্থক্য করছে কিনা তা আমি এখনও বলতে পারছি না, এবং কোনওভাবেই সংক্ষেপণটি চালু হওয়া উচিত ডিফল্ট, আজকাল ...


আপনি কি ডেটা সঞ্চয় এবং সূচী করতে লাগে যে ওভারহেডটি কখনও বিবেচনা করেছেন? পার্থক্যটি এখান থেকেই আসে।
মেলকিউ

@ মেলেক - এএফাইক, ইলাস্টিক ডেটা এবং সূচক উভয়কেই সংকুচিত করে এবং আপনার পাঠ্যের লগের তুলনায় আপনার ডিস্কে স্থানের ব্যবহার হ্রাস লক্ষ্য করা উচিত । আমি ধরে নিয়েছি মাইলেজ লগ স্ট্রাকচার অনুসারে পরিবর্তিত হতে পারে তবে লগগুলি সাধারণত প্রকৃতির খুব পুনরাবৃত্ত হয় তাই সূচিকরণটি অপারেশনগুলির সর্বাধিক স্থান গ্রহণকারী হওয়া উচিত নয়। ... নাকি আমি এই ভুল করছি?
ম্যাক

লগগুলি সত্যই পুনরাবৃত্তি হয় না। ব্যবহারকারী এ সময়ে লগ ইন করে 1. ব্যবহারকারী বি সময়ে লগ ইন করে 2. পুনরাবৃত্তিটি কী? উভয় টিপলকে আলাদা করে সূচক এবং সংরক্ষণ করতে হবে। নিজে লগ এন্ট্রি ছাড়াও।
mailq

1
এই সুপারিশ চেষ্টা করুন। github.com/jordansissel/experiments/tree/master/elasticsearch/…
মেলকিউ

@ মেলেক - সুপারকুল মালিক, আপনাকে একটি টন ধন্যবাদ। যদি আপনি আপনার মন্তব্যে প্রসারিত হন এবং সঠিক উত্তরটি লিখেন তবে আমি এটি গ্রহণযোগ্য হিসাবে চিহ্নিত করে খুশি হব (নইলে আমি পরে এটি করব, তবে আপনার বজ্র চুরি করতে চাই না!)।
ম্যাক

উত্তর:


17

স্থিতিস্থাপক অনুসন্ধান স্বয়ংক্রিয়ভাবে আপনার ডেটা সঙ্কুচিত করে না। এটি কোনও ডাটাবেসের ক্ষেত্রে সত্য। কাঁচা ডেটা সংরক্ষণ করার পাশাপাশি, প্রতিটি ডাটাবেসের সাথে মেটাডেটা সংরক্ষণ করতে হবে। সাধারণ ডাটাবেসগুলি ডিবি-অ্যাডমিন অগ্রণীমুখী কলামগুলির জন্য কেবল একটি সূচক (দ্রুত অনুসন্ধানের জন্য) সঞ্চয় করে। ইলাস্টিক অনুসন্ধান আলাদা হয় কারণ এটি প্রতিটি কলামকে ডিফল্ট অনুসারে সূচি দেয় । সুতরাং সূচকটি অত্যন্ত বড় করে তোলে, তবে অন্যদিকে ডেটা পুনরুদ্ধার করার সময় নিখুঁত কর্মক্ষমতা দেয়।

সাধারণ কনফিগারেশনে আপনি ইনডেক্সের পরে কাঁচা তথ্যের 4 থেকে 6 গুণ বৃদ্ধি পান। যদিও এটি প্রচুর পরিমাণে আসল উপাত্তের উপর নির্ভর করে। তবে এটি আসলে উদ্দেশ্যমূলক আচরণ intended

ডাটাবেসের আকার হ্রাস করতে, আপনাকে আরডিবিএম-এর মতো অন্য পথে যেতে হবে: কলামগুলি সূচিবদ্ধ বা সংরক্ষণ করা থেকে বাদ দিন যে আপনাকে সূচীকরণের দরকার নেই।

অতিরিক্ত হিসাবে আপনি সংক্ষেপণ চালু করতে পারে, তবে এটি তখনই উন্নত হবে যখন আপনার "নথি" বড় হবে, যা সম্ভবত লগ ফাইল এন্ট্রিগুলির ক্ষেত্রে সত্য নয়।

এখানে কিছু তুলনা এবং দরকারী টিপস রয়েছে: https://github.com/jordansissel/experiments/tree/master/elasticsearch/disk

তবে মনে রাখবেন: অনুসন্ধান ব্যয় সহ আসে। মূল্য দিতে হবে ডিস্কের স্থান space তবে আপনি নমনীয়তা অর্জন করুন। যদি আপনার স্টোরেজের আকারটি অতিক্রম করে, তবে অনুভূমিকভাবে বৃদ্ধি করুন! ইলাস্টিক অনুসন্ধান এখানেই জিতেছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.