alibaba / cobar

a proxy for sharding databases and tables
Apache License 2.0
3.21k stars 1.22k forks source link

cobar 启动报错 "Protocol not available (Error setting socket option)" #94

Closed b19g3r closed 2 years ago

b19g3r commented 4 years ago

cobar 启动报错:

06:53:13,316 INFO  ===============================================
06:53:13,317 INFO  Cobar is ready to startup ...
06:53:13,317 INFO  Startup processors ...
06:53:13,526 INFO  Startup connector ...
06:53:13,529 INFO  Initialize dataNodes ...
06:53:13,536 WARN  dnTest3:0 init error.
java.net.SocketException: Protocol not available (Error setting socket option)
        at java.net.PlainSocketImpl.socketSetOption0(Native Method)
        at java.net.PlainSocketImpl.socketSetOption(PlainSocketImpl.java:88)
        at java.net.AbstractPlainSocketImpl.setOption(AbstractPlainSocketImpl.java:275)
        at java.net.Socket.setTrafficClass(Socket.java:1382)
        at com.alibaba.cobar.mysql.bio.MySQLChannel.connect(MySQLChannel.java:167)
        at com.alibaba.cobar.mysql.MySQLDataSource.getChannel(MySQLDataSource.java:159)
        at com.alibaba.cobar.mysql.MySQLDataNode.initSource(MySQLDataNode.java:357)
        at com.alibaba.cobar.mysql.MySQLDataNode.init(MySQLDataNode.java:78)
        at com.alibaba.cobar.CobarServer.startup(CobarServer.java:124)
        at com.alibaba.cobar.CobarStartup.main(CobarStartup.java:36)
06:53:13,540 ERROR #!Cobar#dnTest3 init failure
06:53:13,541 WARN  dnTest2:0 init error.
java.net.SocketException: Protocol not available (Error setting socket option)
        at java.net.PlainSocketImpl.socketSetOption0(Native Method)
        at java.net.PlainSocketImpl.socketSetOption(PlainSocketImpl.java:88)
        at java.net.AbstractPlainSocketImpl.setOption(AbstractPlainSocketImpl.java:275)
        at java.net.Socket.setTrafficClass(Socket.java:1382)
        at com.alibaba.cobar.mysql.bio.MySQLChannel.connect(MySQLChannel.java:167)
        at com.alibaba.cobar.mysql.MySQLDataSource.getChannel(MySQLDataSource.java:159)
        at com.alibaba.cobar.mysql.MySQLDataNode.initSource(MySQLDataNode.java:357)
        at com.alibaba.cobar.mysql.MySQLDataNode.init(MySQLDataNode.java:78)
        at com.alibaba.cobar.CobarServer.startup(CobarServer.java:124)
        at com.alibaba.cobar.CobarStartup.main(CobarStartup.java:36)
06:53:13,541 ERROR #!Cobar#dnTest2 init failure
06:53:13,542 WARN  dnTest1:0 init error.
java.net.SocketException: Protocol not available (Error setting socket option)
        at java.net.PlainSocketImpl.socketSetOption0(Native Method)
        at java.net.PlainSocketImpl.socketSetOption(PlainSocketImpl.java:88)
        at java.net.AbstractPlainSocketImpl.setOption(AbstractPlainSocketImpl.java:275)
        at java.net.Socket.setTrafficClass(Socket.java:1382)
        at com.alibaba.cobar.mysql.bio.MySQLChannel.connect(MySQLChannel.java:167)
        at com.alibaba.cobar.mysql.MySQLDataSource.getChannel(MySQLDataSource.java:159)
        at com.alibaba.cobar.mysql.MySQLDataNode.initSource(MySQLDataNode.java:357)
        at com.alibaba.cobar.mysql.MySQLDataNode.init(MySQLDataNode.java:78)
        at com.alibaba.cobar.CobarServer.startup(CobarServer.java:124)
        at com.alibaba.cobar.CobarStartup.main(CobarStartup.java:36)
06:53:13,542 ERROR #!Cobar#dnTest1 init failure
06:53:13,557 INFO  CobarManager is started and listening on 9066
06:53:13,560 INFO  CobarServer is started and listening on 8066
06:53:13,560 INFO  ===============================================
  <!-- 数据源定义,数据源是一个具体的后端数据连接的表示。-->
  <dataSource name="dsTest" type="mysql">
    <property name="location">
      <location>192.168.77.139:3306/dbtest1</location>
      <location>192.168.77.139:3306/dbtest2</location>
      <location>192.168.77.139:3306/dbtest3</location>
    </property>
    <property name="user">root</property>
    <property name="password">123456</property>
    <property name="sqlMode">STRICT_TRANS_TABLES</property>
  </dataSource>

但是在同一环境上是可以登录成功的 : 2019-10-09_15-04-11

请各位大佬多多指教

hexianmao commented 4 years ago

是什么操作系统?TCP层有什么特殊设置吗?错误是发生在连接后端MySQL时,设置TCP的高性能和低延时选项时发生错误

b19g3r commented 4 years ago

感谢

hexianmao commented 4 years ago

可能和win 10 vmware 下的 archlinux 虚拟机的虚拟网络环境有关,建议最好有真实的linux环境

b19g3r commented 4 years ago

可能和win 10 vmware 下的 archlinux 虚拟机的虚拟网络环境有关,建议最好有真实的linux环境

感谢 我再继续研究下