s

ngrinder3.3控制台验证脚本报错

http://ngrinder.642.n7.nabble.com/ngrinder3-3-td1301.html

目前发现3.3版本在控制台校验脚本报错,无法执行,但执行测试分发到压力机上可以正常执行。 
已下是错误日志:

 Failed to instantiate [ch.qos.logback.classic.LoggerContext]
Reported exception:
sun.misc.ServiceConfigurationError: sun.net.spi.nameservice.NameServiceDescriptor: Provider org.ngrinder.dns.LocalManagedDnsDescriptor could not be instantiated: java.lang.ExceptionInInitializerError
at sun.misc.Service.fail(Service.java:120)
at sun.misc.Service.access$200(Service.java:111)
at sun.misc.Service$LazyIterator.next(Service.java:284)
at java.net.InetAddress$2.run(InetAddress.java:895)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.InetAddress.<clinit>(InetAddress.java:889)
at ch.qos.logback.core.util.ContextUtil.getLocalHostName(ContextUtil.java:32)
at ch.qos.logback.core.util.ContextUtil.addHostNameAsProperty(ContextUtil.java:41)
at ch.qos.logback.classic.joran.action.ConfigurationAction.begin(ConfigurationAction.java:48)
at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:276)
at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:148)
at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:130)
at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:147)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:133)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:96)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:55)
at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:148)
at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:54)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252)
at net.grinder.engine.process.WorkerProcessEntryPoint.run(WorkerProcessEntryPoint.java:73)
at net.grinder.engine.process.WorkerProcessEntryPoint.main(WorkerProcessEntryPoint.java:60)
Caused by: java.lang.ExceptionInInitializerError
at org.ngrinder.dns.LocalManagedDnsImpl.<init>(LocalManagedDnsImpl.java:33)
at org.ngrinder.dns.LocalManagedDnsProxy.<init>(LocalManagedDnsProxy.java:30)
at org.ngrinder.dns.LocalManagedDnsDescriptor.<clinit>(LocalManagedDnsDescriptor.java:29)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:357)
at java.lang.Class.newInstance(Class.java:310)
at sun.misc.Service$LazyIterator.next(Service.java:282)
... 24 more
Caused by: java.lang.NullPointerException
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1229)
at java.net.InetAddress.getAllByName0(InetAddress.java:1180)
at java.net.InetAddress.getAllByName(InetAddress.java:1110)
at java.net.InetAddress.getAllByName(InetAddress.java:1046)
at java.net.InetAddress.getByName(InetAddress.java:996)
at org.xbill.DNS.SimpleResolver.<init>(SimpleResolver.java:56)
at org.xbill.DNS.SimpleResolver.<init>(SimpleResolver.java:68)
at org.xbill.DNS.ExtendedResolver.<init>(ExtendedResolver.java:266)
at org.xbill.DNS.Lookup.refreshDefault(Lookup.java:86)
at org.xbill.DNS.Lookup.<clinit>(Lookup.java:97)
... 34 more
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class java.net.InetAddress
at ch.qos.logback.core.util.ContextUtil.getLocalHostName(ContextUtil.java:32)
at ch.qos.logback.core.util.ContextUtil.addHostNameAsProperty(ContextUtil.java:41)
at ch.qos.logback.classic.joran.action.ConfigurationAction.begin(ConfigurationAction.java:48)
at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:276)
at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:148)
at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:130)
at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:147)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:133)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:96)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:55)
at net.grinder.engine.process.GrinderProcess.configureLogging(GrinderProcess.java:257)
at net.grinder.engine.process.GrinderProcess.<init>(GrinderProcess.java:141)
at net.grinder.engine.process.WorkerProcessEntryPoint.run(WorkerProcessEntryPoint.java:78)
at net.grinder.engine.process.WorkerProcessEntryPoint.main(WorkerProcessEntryPoint.java:60)

控制台的hosts文件如下: 
[new@controller-01 logs]$ getent hosts 
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4 
127.0.0.1       localhost localhost.localdomain localhost6 localhost6.localdomain6 
192.168.1.210   controller-01 
192.168.1.211   agent-01 
192.168.1.212   agent-02

问题分析:

此性能平台环境必须经过DNS解析过一遍,即使解析不到也需要个假DNS Server,它优先走DNS,不本地/etc/hosts解析,这样才能进一步,使用压测平台的脚本验证按钮等。

解决方案:

新增DNS解析: /etc/reslove.conf

nameserver 192.168.131.17

nameserver 192.168.131.18

end

nGrinder TestRunner DNS / sun.net.spi.nameservice.NameServiceDescriptor的更多相关文章

  1. nGrinder TestRunner http post json

    s nGrinder学习笔记 — post请求 https://blog.csdn.net/meyoung01/article/details/50435881 import HTTPClient.H ...

  2. nGrinder TestRunner XFF / X-Forwarded-For

    s 我们在压测请求报文里面带了这个"x-forward-for":"10.24.51.132"这个字段,所以我们所有的压测请求穿透到应用系统的时候,应用系统上采 ...

  3. Java DNS查询内部实现

    源码分析 在Java中,DNS相关的操作都是通过通过InetAddress提供的API实现的.比如查询域名对应的IP地址: String dottedQuadIpAddress = InetAddre ...

  4. Jdk8 DNS解析

    注:JDK7和JDK8关于DNS解析的实现有差异,该问题在JDK7下可能不存在: Java中的DNS解析一般是通过调用下面的方法: public static InetAddress getByNam ...

  5. Java内部DNS查询实现和参数设置

    一.Java内部DNS查询 Java使用域名查询时,用的自己内部的域名实现机制,最后都是交给InetAddress去做DNS解析. 源码分析参考:http://blog.arganzheng.me/p ...

  6. Java动态替换InetAddress中DNS的做法简单分析1

    在java.net包描述中, 简要说明了一些关键的接口. 其中负责networking identifiers的是Addresses. 这个类的具体实现类是InetAddress, 底层封装了Inet ...

  7. Java动态替换InetAddress中DNS的做法简单分析2

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...

  8. ClassLoad的加载过程及分析

    -Xbootclasspath:bootclasspath 让jvm从指定路径(可以是分号分隔的目录.jar.或者zip)中加载bootclass,用来替换jdk的rt.jar:若非必要,一般不会用到 ...

  9. java基础-day27

    第04天 java基础加强 今日内容介绍 u Xml的综合案例 u 注解 u 类的加载 u 动态代理 第1章   注解 1.1  注解概述 l  什么是注解:Annotation注解,是一种代码级别的 ...

随机推荐

  1. Spring 使用介绍(四)—— SpEL

    一.SpEL介绍 Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,可在运行时构建复杂表达式 使用步骤: 1)创建解析器:ExpressionP ...

  2. 性能测试工具 Locust

    https://docs.locust.io/en/latest/quickstart.html

  3. BZOJ5037[Jsoi2014]电信网络——最大权闭合子图

    题目描述 JYY创建的电信公司,垄断着整个JSOI王国的电信网络.JYY在JSOI王国里建造了很多的通信基站.目前所有的基站 都是使用2G网络系统的.而现在3G时代已经到来了,JYY在思考,要不要把一 ...

  4. Codeforces Round #475 Div. 1

    B:当n是偶数时无解,因为此时树中有奇数条边,而我们每次都只能删除偶数条.当n是奇数时一定有解,因为此时不可能所有点度数都为奇数,只要找到一个度数为偶数的点,满足将它删掉后,各连通块大小都为奇数就可以 ...

  5. 第二十一天,pickle json xml shelve configparser模块

    今日内容 1.pcikle 专用于python语言的序列化 2.json 是一种跨平台的数据格式 也属于序列化的一种方式 3.xml 可拓展标记语言 一种编写文档的语法 也支持跨平台 比较json而言 ...

  6. bzoj 4196 [Noi2015]软件包管理器 (树链剖分+线段树)

    4196: [Noi2015]软件包管理器 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 2852  Solved: 1668[Submit][Sta ...

  7. ⌈洛谷4735⌋⌈BZOJ3261⌋最大异或和【可持久化01Trie】

    题目链接 [BZOJ传送门] [洛谷传送门] 题解 终于学会了可持久化trie树了.感觉并不是特别的难. 因为可持久化,那么我们就考虑动态开点的trie树. 都知道异或操作是有传递性的,那么我们就维护 ...

  8. ⌈洛谷1312⌋⌈NOIP提高组2011⌋Mayan游戏【搜索】

    感想 真的,感觉这道题目好坑爹,我这个蒟蒻调了好几个世纪才调出来. 重构代码千万遍,依旧只有-1输出. 正解 非常明显的一道搜索题目. 每一次记录上一级的状态,这样实现比较不容易出错. 然后考虑剪枝: ...

  9. rt-thread之 for (fn_ptr = &__rt_init_rti_board_start; fn_ptr < &__rt_init_rti_board_end; fn_ptr++) 理解

    @2019-01-30 [小记] 利用宏 INIT_EXPORT() --- __attribute__() 将函数重新放置在自定义段,执行时去该段获取函数地址 RT-Thread 的 INIT_BO ...

  10. VSIX 插件右键菜单(2)

    编译项目然后发布 // 获取当前右击的活动项目 EnvDTE.Project activeProj = ProjectHelpers.GetActiveProject(); // 获取 编译选项 Re ...