如果我在我的机器上安装了RabbitMQ,是否有办法从命令行创建消息队列并将其绑定到某个交换而不使用客户端?
我认为这是不可能的,但我想确定.
这是我们使用apache spark和hadoop等大数据的第一步.
我们安装了Cloudera CDH 5.3.从cloudera经理我们选择安装spark.Spark在集群中的一个节点中启动并运行良好.
从我的机器上我做了一个连接的小应用程序来读取存储在hadoop HDFS上的文本文件.
我试图从Eclipse运行应用程序,它显示这些消息
15/02/11 14:44:01 INFO client.AppClient$ClientActor: Connecting to master spark://10.62.82.21:7077...
15/02/11 14:44:02 WARN client.AppClient$ClientActor: Could not connect to akka.tcp://sparkMaster@10.62.82.21:7077: akka.remote.InvalidAssociation: Invalid address: akka.tcp://sparkMaster@10.62.82.21:7077
15/02/11 14:44:02 WARN Remoting: Tried to associate with unreachable remote address [akka.tcp://sparkMaster@10.62.82.21:7077]. Address is now gated for 5000 ms, all messages to this address will be delivered to dead letters. Reason: Connection refused: no further information: /10.62.82.21:7077
应用程序有一个类使用以下行创建上下文
JavaSparkContext sc = new JavaSparkContext(new SparkConf().setAppName("Spark Count").setMaster("spark://10.62.82.21:7077"));
这个IP是机器火花工作的IP.
然后我尝试使用以下行从HDFS读取文件
sc.textFile("hdfs://10.62.82.21/tmp/words.txt")
当我运行应用程序时,我得到了
我正在为我的服务器开发自定义监控系统.
该应用程序是使用python和Django开发的.
服务器正在运行java Web应用程序,我需要监视运行应用程序服务器的JVM,因此我启动了JMX启动应用程序.
现在我需要将我的python应用程序连接到JVM JMX代理程序.
有没有办法得到它?
我已经阅读了HtmlAdapterServer,它允许从特定URL管理JMX MBean但我不知道如何使用它?
在此先感谢您的问候
我们有以下字符串,它是写入HDFS上文件的有效JSON.
{
"id":"tag:search.twitter.com,2005:564407444843950080",
"objectType":"activity",
"actor":{
"objectType":"person",
"id":"id:twitter.com:2302910022",
"link":"http%3A%2F%2Fwww.twitter.com%2Fme7me4610012",
"displayName":"",
"postedTime":"2014-01-21T11:06:06.000Z",
"image":"https%3A%2F%2Fpbs.twimg.com%2Fprofile_images%2F563125491159162881%2FfypkHK3M_normal.jpeg",
"summary":"???????????????????? ????????????? ??????????????? ???? ???????????????? ?????? ????? ??????????? lloooo_20",
"links":[
{
"href":null,
"rel":"me"
}
],
"friendsCount":10503,
"followersCount":10325,
"listedCount":12,
"statusesCount":84957,
"twitterTimeZone":null,
"verified":false,
"utcOffset":null,
"preferredUsername":"me7me4610012",
"languages":[
"ar"
],
"favoritesCount":17
},
"verb":"share",
"postedTime":"2015-02-08T12:56:35.000Z",
"generator":{
"displayName":"Twitter for Android",
"link":"http%3A%2F%2Ftwitter.com%2Fdownload%2Fandroid"
},
"provider":{
"objectType":"service",
"displayName":"Twitter",
"link":"http%3A%2F%2Fwww.twitter.com"
},
"link":"http%3A%2F%2Ftwitter.com%2Fme7me4610012%2Fstatuses%2F564407444843950080",
"body":"RT @sckud1: ?????: ???? ???? ???? ?????? ??? ??? ???? ??? ???? ?? ????? ???? ????? ?????: ????? http%3A%2F%2Ft.co%2FC55SaQKmUV http%3A%2F%2Ft.co%2Ft5TjIln…",
"object":{
"id":"tag:search.twitter.com,2005:564407126526013440",
"objectType":"activity",
"actor":{
"objectType":"person",
"id":"id:twitter.com:462268717",
"link":"http%3A%2F%2Fwww.twitter.com/sckud1", …Run Code Online (Sandbox Code Playgroud) 我们有一个由6个节点组成的Kafka集群.6个节点中有5个拥有zookeeper.
火花流工作正在从流服务器读取,进行一些处理,并将结果发送到Kafka.
火花作业不时被卡住,没有数据被发送到Kafka,并且作业重新启动.
作业一直停滞并重新启动,直到我们手动重启Kafka集群.重启Kafka后一切顺利.
检查Kafka日志,我们发现此异常被抛出几次
2017-03-10 05:12:14,177 ERROR state.change.logger: Controller 133 epoch 616 initiated state change for partition [live_stream_2,52] from OfflinePartition to OnlinePartition failed
kafka.common.NoReplicaOnlineException: No broker in ISR for partition [gnip_live_stream_2,52] is alive. Live brokers are: [Set(133, 137, 134, 135, 143)], ISR brokers are: [142]
at kafka.controller.OfflinePartitionLeaderSelector.selectLeader(PartitionLeaderSelector.scala:66)
at kafka.controller.PartitionStateMachine.electLeaderForPartition(PartitionStateMachine.scala:345)
at kafka.controller.PartitionStateMachine.kafka$controller$PartitionStateMachine$$handleStateChange(PartitionStateMachine.scala:205)
at kafka.controller.PartitionStateMachine$$anonfun$triggerOnlinePartitionStateChange$3.apply(PartitionStateMachine.scala:120)
at kafka.controller.PartitionStateMachine$$anonfun$triggerOnlinePartitionStateChange$3.apply(PartitionStateMachine.scala:117)
at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:778)
at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)
at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)
at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:230)
at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40)
at scala.collection.mutable.HashMap.foreach(HashMap.scala:99)
at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:777)
at kafka.controller.PartitionStateMachine.triggerOnlinePartitionStateChange(PartitionStateMachine.scala:117)
at kafka.controller.PartitionStateMachine.startup(PartitionStateMachine.scala:70)
at kafka.controller.KafkaController.onControllerFailover(KafkaController.scala:333)
at kafka.controller.KafkaController$$anonfun$1.apply$mcV$sp(KafkaController.scala:164)
at kafka.server.ZookeeperLeaderElector.elect(ZookeeperLeaderElector.scala:84) …Run Code Online (Sandbox Code Playgroud) 我认为这是一个简单的问题,虽然我不知道如何解决它.
在spring/Hibernate应用程序中,我需要显示标准执行的查询.
我知道我可以使用show_sql属性并使用log4j或任何其他日志框架记录查询,但我需要的是更高级别的日志记录.
我有这样的方法
public void searchIntegrationClient(IntegrationClientSearchCommand integrationClientSearchCommand,PartialList<IntegrationClient> partialList) {
Session session = getSession();
Criteria pageCriteria=session.createCriteria(IntegrationClient.class);
if(StringUtil.isNotEmpty(integrationClientSearchCommand.getNameCmd())){
pageCriteria.add(Restrictions.like("name", integrationClientSearchCommand.getNameCmd(), MatchMode.START));
}
//adding ordering alphabetically
pageCriteria.addOrder(Order.asc("name"));
pageCriteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
List<IntegrationClient> list = (List<IntegrationClient>)pageCriteria.list();
partialList.setPartialResultList(list);
Criteria countCriteria=session.createCriteria(IntegrationClient.class);
if(StringUtil.isNotEmpty(integrationClientSearchCommand.getNameCmd())){
countCriteria.add(Restrictions.like("name", integrationClientSearchCommand.getNameCmd(), MatchMode.START));
}
countCriteria.setProjection(Projections.rowCount());
partialList.setTotalNumberOfRecords(((Integer)countCriteria.uniqueResult()).intValue());
releaseSession(session);
}
Run Code Online (Sandbox Code Playgroud)
我需要在执行criteria.list之前显示将要执行的查询?
条件api中是否有任何实用程序类来显示查询,就像我想要的一样?
Thnx提前
我在实例化HSSFWorkbokk对象时遇到了这个异常,我真的不明白是什么问题.
无论如何我都不理解异常消息
代码很简单.
private HSSFWorkbook getXLWorkbook(MultipartFile file) throws IOException{
InputStream inputStream = file.getInputStream();
HSSFWorkbook xlWorkbook = new HSSFWorkbook(inputStream);
return xlWorkbook;
}
Run Code Online (Sandbox Code Playgroud)
而例外是
java.lang.IllegalArgumentException: No more than 3 rules may be specified
at org.apache.poi.hssf.record.aggregates.CFRecordsAggregate.<init>(CFRecordsAggregate.java:58)
at org.apache.poi.hssf.record.aggregates.CFRecordsAggregate.createCFAggregate(CFRecordsAggregate.java:96)
at org.apache.poi.hssf.record.aggregates.ConditionalFormattingTable.<init>(ConditionalFormattingTable.java:49)
at org.apache.poi.hssf.model.Sheet.<init>(Sheet.java:176)
at org.apache.poi.hssf.model.Sheet.createSheet(Sheet.java:161)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:282)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:196)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:312)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:293)
at net.mis.financialstatement.service.FinancialStatementServiceImpl.getXLWorkbook(FinancialStatementServiceImpl.java:186)
at net.mis.financialstatement.service.FinancialStatementServiceImpl.updateXlsSheetKeys(FinancialStatementServiceImpl.java:386)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy158.updateXlsSheetKeys(Unknown …Run Code Online (Sandbox Code Playgroud) 我有一个像下面的字符串
("???????" OR "?????????" OR "?????????" OR "?????????" OR "????????" OR "????????" OR "???????" OR "????????" OR "??????????" OR "??????????" OR "?????????" OR "??????????" OR "??????????" OR "??????????" OR "??????????" OR "??????????" OR "??????????" OR "?????????" OR "??????????" OR "???????" OR "???????" OR "?????????" OR "?????????" OR "?????????" OR "?????????" OR "?????????" OR "?????????") (("???? ??????" OR "???? ??????" OR "?????? ??????" OR "?????? ??????") OR ("??????????????" OR "??????????????" OR "??????????????" OR "??????????????" OR "??????????????" OR "??????????????")("?????? ????????" OR "?????? …
如果我有一个包含很多文件的目录(大约1000个文件).其中一些文件名为.processed而其他文件没有.
如何仅列出10个未处理的文件.
我正在使用此代码来过滤处理过的文件.
File[] inputFileList = inputDirectory.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return !pathname.getName().endsWith(".processed");
}
});
Run Code Online (Sandbox Code Playgroud)
但是,如果未处理的文件数量很大,这可能会导致内存错误.所以我每次运行应用程序时都需要读取有限数量的文件.
我有一个.gz文件,我需要使用python获取其中的文件名。
这个问题是一样的这一个
唯一的区别是我的文件.gz不是,.tar.gz所以tarfile库在这里没有帮助我
我正在使用requests库来请求URL。响应是一个压缩文件。
这是我用来下载文件的代码
response = requests.get(line.rstrip(), stream=True)
if response.status_code == 200:
with open(str(base_output_dir)+"/"+str(current_dir)+"/"+str(count)+".gz", 'wb') as out_file:
shutil.copyfileobj(response.raw, out_file)
del response
Run Code Online (Sandbox Code Playgroud)
例如,此代码以名称下载文件1.gz。现在,如果我使用存档管理器打开文件,则该文件将包含以下内容my_latest_data.json
我需要提取文件,输出为my_latest_data.json。
这是我用来提取文件的代码
inF = gzip.open(f, 'rb')
outfilename = f.split(".")[0]
outF = open(outfilename, 'wb')
outF.write(inF.read())
inF.close()
outF.close()
Run Code Online (Sandbox Code Playgroud)
该outputfilename变量是我在脚本中提供的字符串,但是我需要真实的文件名(my_latest_data.json)
我elasticsearch-exporter用来从中导出数据Elasticsearch.
该工具最初是一个nodejs应用程序.
当我尝试使用以下命令node exporter.js使工具列表中的所有可用选项时,它会崩溃并出现以下异常
/home/me/storage/Elasticsearch-Exporter/log.js:54
exports.error = (...args) => !capture("ERROR", args) && console.log(timestamp() + util.format(...args).red);
^^^
SyntaxError: Unexpected token ...
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/home/anas/storage/Elasticsearch-Exporter/exporter.js:9:11)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
Run Code Online (Sandbox Code Playgroud)
这是抛出异常的行
exports.error = (...args) => !capture("ERROR", args) && console.log(timestamp() + util.format(...args).red);
Run Code Online (Sandbox Code Playgroud)
我认为错误与nodejs的不同版本有关,但我不确定.
这是node --version命令的输出v4.2.6
这是npm --version命令的输出3.10.6
我有一个 Spring Boot 应用程序,我需要在其中安排一项作业以从特定目录读取文件并将数据存储到数据库中。
由于文件数量非常大,我使用 Spring Batch 来处理文件部分。
该应用程序有一个名为 的组件,PraserStarer该组件有一个名为 的方法startParsing。这个方法是用@scheduledannotation来注释的。
@scheduled(fixedDelay = 60 * 1000)
public startParsing(){
// start spring batch job
}
Run Code Online (Sandbox Code Playgroud)
我有一个存储库接口NewsRepositry注入到 Spring Batch 第一步的编写器中。
该应用程序有一个简单的控制器来手动调用该startParsing方法。从控制器调用 startParsing 方法时,一切正常。spring批处理作业正常启动,读取文件,将数据写入DB,并对文件进行归档。
当从调度框架调用该方法时startParsing,Spring Batch作业正常启动,并读取文件,但数据库中没有存储任何内容。
我怀疑这里的问题是有两种不同的上下文,一种用于调度部分,另一种用于应用程序的其余部分。
由于某种原因,调度上下文中没有事务管理器,这导致没有任何内容进入数据库。
1-我的怀疑正确吗?
2-如果是,我如何强制事务管理器加载到其他上下文?
解析器起始类的代码如下
@Component
public class ParserStarter {
@Autowired
JobLauncher jobLauncher;
@Value("${app.data_directory}")
private String dataDir;
@Autowired
private ParserJobListener jobListener;
@Autowired
private JobBuilderFactory jobBuilderFactory;
public Resource[] getResources() throws IOException {
// return array …Run Code Online (Sandbox Code Playgroud) java ×7
python ×3
cloudera ×2
apache-kafka ×1
apache-poi ×1
apache-spark ×1
compression ×1
criteria-api ×1
django ×1
extraction ×1
gzip ×1
hadoop ×1
hibernate ×1
jackson ×1
java-io ×1
jmx ×1
node.js ×1
npm ×1
rabbitmq ×1
spring ×1
spring-batch ×1
spring-boot ×1
spring-mvc ×1
string ×1