1. 程式人生 > >logstash報錯:Error: Your application used more memory than the safety cap of 1G

logstash報錯:Error: Your application used more memory than the safety cap of 1G

問題來源
  logstash在資料量少的情況下,是正常抽取資料的,但當多臺伺服器一起啟動logstash去抽取大量資料的時候,logstash就會出現Your application used more memory than the safety cap of 1G的問題,進而抽取程式就停掉了;

問題說明
  從報錯的提示來看,很明顯就是記憶體溢位的問題(logstash的預設服務分配記憶體的1g),資料抽取快取堆積太多,導致原本分配的堆記憶體空間不足,需要擴大服務的記憶體空間以解決記憶體溢位的問題;

解決方法
在logstash5.X版本以前,可以直接修改logstash的配置檔案logstash.lib.sh,它的檔案路徑:/opt/logstash/bin; 
修改內容:

 
LS_HEAP_SIZE=”${LS_HEAP_SIZE:=1g}” 
將其中的1g修改成32g,擴大es處理服務空間,修改之後的檔案如下: 
LS_HEAP_SIZE=”${LS_HEAP_SIZE:=32g}”
在logstash5.X版本之後,修改的方式有所變動,需要修改es的配置檔案,而不是logstash配置檔案; 
修改方式: 
在es的bin目錄下,找到elasticsearch啟動檔案,在頭部新增命令語句:export ES_HEAP_SIZE=32g 
說明: 
ES_HEAP_SIZE的大小可根據生產環境的大小進行修改,一般不超過32g;
新問題出現
  當在elasticsearch設定了32g的分配記憶體之後,啟動的時候發現又報錯了,以下就是報錯的內容: 
  1. Error: encountered environment variables that are no longer supported 
  2. Use jvm.options or ES_JAVA_OPTS to configure the JVM 
  3. ES_HEAP_SIZE=32g: set -Xms32g and -Xmx16g in jvm.options or add “-Xms32g -Xmx32g” to ES_JAVA_OPTS 
  解決方式: 
  從報錯的提示來看,jvm裡面沒有16g的配置,所以提供了兩種方式去修改: 
 1. 修改config目錄下的jvm.options檔案,修改配置:-Xms32g -Xmx32g 
 2. 直接在elasticsearch啟動檔案裡面新增配置:ES_JAVA_OPTS=”-Xms32g -Xmx32g” 
 如果第一種修改方式不起作用,可選擇第二種進行修改;

解決結果
  修改成功上面的配置之後,重新啟動es,然後多臺伺服器一起去執行logstash匯入資料的時候,再也沒有出現那些奇葩的問題了,perfect,希望對有遇到這些問題的程式猿有所幫助~
--------------------- 

原文:https://blog.csdn.net/alan_liuyue/article/details/78976755 
 

相關推薦

logstashError: Your application used more memory than the safety cap of 1G

問題來源   logstash在資料量少的情況下,是正常抽取資料的,但當多臺伺服器一起啟動logstash去抽取大量資料的時候,logstash就會出現Your application used more memory than the safety cap of 1G的問題

git merge error: Your local changes to the following files would be overwritten by m

error log: error: Your local changes to the following files would be overwritten by merge: app/Http/Controllers/User/UserIndexController.php Plea

Maven+spring Error configuring application listener of class org.springframework.web.cont

Maven+spring 報錯:Error configuring application listener of class org.springframework.web.cont   錯誤資訊: SEVERE: Error configuring application

quartus II編譯Error: Current license file does not support the XXX device

環境:    win7 (64位); quartus II 版本:quartus II 11.0    (64位,32位); 使用quartus II測試"Hello World!"的程式,Qsys製作相應的軟核。 剛開始測試的時候使用quartu

kettle連線資料庫Error occured while trying to connect to the datab

1 引言 在用kettle開發時常會出現 Error occured while trying to connect to the database 錯誤,但是仔細觀察日誌,引起這個錯誤的原因不盡相同。這個錯誤看起來很簡單,但是有時候越簡單的錯誤越沒有耐心改,尤其是忙的時候,不小心填錯了某個引數導致這個

【Android】ASConfiguration on demand is not supported by the current version of the Android Gradle

轉載請註明出處,原文連結:https://blog.csdn.net/u013642500/article/details/80218299 【錯誤】 Configuration on demand is not supported by the current version o

Logstash連線kafka輸出Error registering plugin

Error registering plugin {:pipeline_id=>"main", :plugin=>"#<LogStash::OutputDelegator:0x761d397b @namespaced_metric=#<LogStas

mysql5.7.24啟動ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.

報錯原因是:密碼過期。不管你是剛剛修改密碼還是什麼,只要登陸都是有問題的,都是報這樣子的錯誤。 解決方法是: 1、修改/etc/my.cnf檔案,在[mysqld]下加入“skip-grant-tables”。 2、重啟mysql伺服器 3、登陸mysql [[email prote

UNION關鍵字ERROR 1222 (21000): The used SELECT statements have a different number of columns

今天進行總結時,發現這個錯誤,後來,發現這是由於union 造成。 在使用union時,有以下規則。 1.必須由兩條或者兩條以上的select語句組成,語句之間用關鍵字union分隔 2.每

排查sqoopError running child : java.lang.OutOfMemoryError: Java heap space

date 行數 content sin mapper native reader exti 占用 報錯棧: 2017-06-16 19:50:51,002 INFO [main] org.apache.hadoop.mapred.MapTask: Processing

git推送到githuberror: The requested URL returned error: 403 Forbidden while accessing https://github.com

rep 發的 rac adc lob hub sta stat forward 最近使用git命令從github克隆倉庫到版本,然後進行提交到github時報錯如下: [[email protected]/* */ git_test]# git push ori

遠程登陸mysqlERROR 1130 (HY000): Host '10.0.0.8' is not allowed to connect to this MySQL server

image code 再次 light 解決辦法 allow this 解決 ror 問題原因:在數據庫遷移到mysql主機後遠程登陸mysql報錯: ERROR 1130 (HY000): Host ‘10.0.0.8‘ is not allowed to connec

【PHP】 解決Error: php71w-common conflicts with php-common-5.4.16-43.el7_4.x86_64

with gpo pos erro conf 問題 error col 擴展 背景: 手動安裝的PHP7 環境 問題:在安裝擴展的時候。無論輸入 php-* 來安裝任何擴展。都會報錯 Error: php71w-common conflicts with php-c

uiautomatorviewer 查看元素 Error taking device screenshot: null 原因

div class tomat 測試版本 android aso ror cal pos 使用uiautomatorviewer 查看android某些頁面元素,出現錯誤Error obtaining UI hierarchy Reason: Error taking

cactiez使用mysql數據庫出現以下“[ERROR] /usr/sbin/mysqld”

cacti should be repaired 在查看cactiez發現登錄不上去,登錄上去發現磁盤空間不足了,最後發現mysql報錯日誌高達10G,通過日誌發現: [root@HTD-CATIT bin]# tail -f /var/log/mysqld.log 2018-03-02 15:54:

yum install ntp Error: Package: ntp-4.2.6p5-25.el7.centos.2.x86_64 (base)

時報 existing -s pmd cond AC base update ntpdate redhat7 在安裝ntp時報如下錯誤 Error: Package: ntp-4.2.6p5-25.el7.centos.2.x86_64 (base) R

Spring Boot Error creating bean with name 'entityManagerFactory' defined in class path resource

fine 依賴 debug isp jpa java idt .com ima spring boot 寫一個web項目,在使用spring-data-jpa的時候,啟動報如下錯誤: Error starting ApplicationContext. To display

啟動mysqlERROR! The server quit without updating

mysql啟動mysql報錯:ERROR! The server quit without updating PID file (/data/mysql/localhost.localdomain.pid),查看mysql.log發現報錯信息:[ERROR] Fatal error: Can‘t open a

sysctl-perror: "net.bridge.bridge-nf-call-ip6ta

filter cookies default max iptables repos grep -a 錯誤 1、剛配置完sysctl,加載時報錯:[root@itpux1 yum.repos.d]# sysctl -pnet.ipv4.ip_forward = 0net.ip

ideaError running $classname: Command line is too long. Shorten command line for $classname.

9.png rop line too long component 我只 ima bsp 選擇 Command line is too long 打印的變量太長了,超過了限制,這都會報錯...我只想知道idea基於什麽原理會報這個錯... 解決 1.按照提示修改該類的