亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

redis中Could not get a resource from the pool異常及解決方案

 更新時(shí)間:2022年12月12日 09:45:00   作者:yujkss  
這篇文章主要介紹了redis中Could not get a resource from the pool異常及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

描述

這個(gè)錯(cuò)誤產(chǎn)生的前提是這樣的,將數(shù)據(jù)存入redis(新安裝的)中,在通過(guò)連接池獲取jedis實(shí)例時(shí),產(chǎn)生如下錯(cuò)誤( Could not get a resource from the pool)。

分析

由于是新安裝的redis,配置文件沒(méi)有更改,低級(jí)的錯(cuò)誤浪費(fèi)不少時(shí)間,寫一篇文章,讓同樣犯這種錯(cuò)誤的朋友別再浪費(fèi)時(shí)間。

解決

更改配置文件 redis.conf 中兩處

1.將 bind 127.0.0.1 注釋掉

2.將 protected-mode 改為 no

bind 127.0.0.1protected-mode
默認(rèn)情況bind=127.0.0.1只能接受本機(jī)的訪問(wèn)請(qǐng)求不寫的情況下,無(wú)限制接受任何ip地址的訪問(wèn)如果開啟了protected-mode,那么在沒(méi)有設(shè)定bind ip且沒(méi)有設(shè)密碼的情況下,Redis只允許接受本機(jī)的相應(yīng)

運(yùn)行代碼

//創(chuàng)建jedis配置文件對(duì)象
val jedisPoolConfig = new JedisPoolConfig()
//添加配置信息
jedisPoolConfig.setMaxTotal(100)
jedisPoolConfig.setMaxIdle(20)
jedisPoolConfig.setMinIdle(0)
jedisPoolConfig.setBlockWhenExhausted(true)
jedisPoolConfig.setMaxWaitMillis(500)
jedisPoolConfig.setTestOnBorrow(true)
//創(chuàng)建連接池對(duì)象
var jedisPool:JedisPool = new JedisPool(jedisPoolConfig,"linux1",6379)
//獲取實(shí)例
jedisPool.getResource

報(bào)錯(cuò)內(nèi)容

ERROR --- [           Executor task launch worker for task 15]  org.apache.spark.executor.Executor                                              (line:   91)  :  Exception in task 7.0 in stage 2.0 (TID 15)
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
    at redis.clients.util.Pool.getResource(Pool.java:53)
    at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226)
    at com.atguigu.bigdata.sparkmall.common.RedisUtil$.getJedisClient(RedisUtil.scala:26)
    at com.atguigu.bigdata.sparkmall.realtime.Req7TimeAdvertClickTrendApplication$$anonfun$main$1$$anonfun$apply$2.apply(Req7TimeAdvertClickTrendApplication.scala:54)
    at com.atguigu.bigdata.sparkmall.realtime.Req7TimeAdvertClickTrendApplication$$anonfun$main$1$$anonfun$apply$2.apply(Req7TimeAdvertClickTrendApplication.scala:53)
    at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:926)
    at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:926)
    at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1951)
    at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1951)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
    at org.apache.spark.scheduler.Task.run(Task.scala:99)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:322)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect
    at redis.clients.jedis.Connection.connect(Connection.java:207)
    at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93)
    at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1767)
    at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:106)
    at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868)
    at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
    at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
    at redis.clients.util.Pool.getResource(Pool.java:49)
    ... 14 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at redis.clients.jedis.Connection.connect(Connection.java:184)
    ... 21 more

其他原因

1.最大鏈接數(shù)量超標(biāo),資源未回收jedis.close();//釋放資源

2.壓根redis服務(wù)沒(méi)有起 (很多人是這種)

3.可能是linux防火墻問(wèn)題造成的 檢查網(wǎng)絡(luò)是否暢通

4.檢查IP地址或端口是否錯(cuò)誤

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • redisson中RRateLimiter分布式限流器的使用

    redisson中RRateLimiter分布式限流器的使用

    Redisson Ratelimiter是Redisson框架中的一種限流算法,用于限制對(duì)資源的訪問(wèn)頻率,本文主要介紹了redisson中RRateLimiter分布式限流器的使用,感興趣的可以了解一下
    2024-06-06
  • 基于Redis6.2.6版本部署Redis?Cluster集群的問(wèn)題

    基于Redis6.2.6版本部署Redis?Cluster集群的問(wèn)題

    這篇文章主要介紹了基于Redis6.2.6版本部署Redis?Cluster集群,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Redis如何在項(xiàng)目中合理使用經(jīng)驗(yàn)分享

    Redis如何在項(xiàng)目中合理使用經(jīng)驗(yàn)分享

    這篇文章主要給大家介紹了關(guān)于Redis如何在項(xiàng)目中合理使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Redis底層類型之json命令使用

    Redis底層類型之json命令使用

    這篇文章主要為大家介紹了Redis底層類型之json命令使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 關(guān)于Redis單線程的正確理解

    關(guān)于Redis單線程的正確理解

    很多同學(xué)對(duì)Redis的單線程和I/O多路復(fù)用技術(shù)并不是很了解,所以我用簡(jiǎn)單易懂的語(yǔ)言讓大家了解下Redis單線程和I/O多路復(fù)用技術(shù)的原理,對(duì)學(xué)好和運(yùn)用好Redis打下基礎(chǔ),感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • redis如何實(shí)現(xiàn)保存對(duì)象

    redis如何實(shí)現(xiàn)保存對(duì)象

    這篇文章主要介紹了redis如何實(shí)現(xiàn)保存對(duì)象,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 使用rpm包安裝redis的方法

    使用rpm包安裝redis的方法

    Redis是一款高性能的Key-Value數(shù)據(jù)庫(kù),其開源免費(fèi)且具有高可用性等,本文主要介紹了使用rpm包安裝redis的方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Springboot/Springcloud項(xiàng)目集成redis進(jìn)行存取的過(guò)程解析

    Springboot/Springcloud項(xiàng)目集成redis進(jìn)行存取的過(guò)程解析

    大家都知道Redis支持五種數(shù)據(jù)類型:string(字符串),hash(哈希),list(列表),set(集合),zset(sorted set:有序集合),本文重點(diǎn)給大家介紹Springboot/Springcloud項(xiàng)目集成redis進(jìn)行存取的過(guò)程,需要的朋友參考下吧
    2021-12-12
  • Redis教程(十):持久化詳解

    Redis教程(十):持久化詳解

    這篇文章主要介紹了Redis教程(十):持久化詳解,本文講解了Redis提供了哪些持久化機(jī)制、RDB機(jī)制的優(yōu)勢(shì)和劣勢(shì)、AOF機(jī)制的優(yōu)勢(shì)和劣勢(shì)、其它等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • 緩存替換策略及應(yīng)用(以Redis、InnoDB為例)

    緩存替換策略及應(yīng)用(以Redis、InnoDB為例)

    本文以Redis、InnoDB為例給大家講解緩存替換策略及應(yīng)用,本文給大家提到五種置換策略,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-07-07

最新評(píng)論