在我目前的项目中,我一直在使用apache nifi进行一些实验.当我第一次配置时.nifi运行得很完美(当我输入时,我能够在Google Chrome上看到画布,工具栏http://localhost:8080/nifi/).但是,重新启动计算机一次后,我无法运行它.
当我键入nifi.0.7.0\bin\run-nifi.bat命令时,我在控制台上看到以下消息.
2016-07-27 10:19:39,246 INFO [main] org.apache.nifi.bootstrap.Command Starting A
pache NiFi...
2016-07-27 10:19:39,246 INFO [main] org.apache.nifi.bootstrap.Command Working Di
rectory: C:\NIFI-0~1.0
2016-07-27 10:19:39,246 INFO [main] org.apache.nifi.bootstrap.Command Command: C
:\Program Files\Java\jdk1.8.0_102\bin\java.exe -classpath C:\NIFI-0~1.0\.\conf;C
:\NIFI-0~1.0\.\lib\jcl-over-slf4j-1.7.12.jar;C:\NIFI-0~1.0\.\lib\jul-to-slf4j-1.
7.12.jar;C:\NIFI-0~1.0\.\lib\log4j-over-slf4j-1.7.12.jar;C:\NIFI-0~1.0\.\lib\log
back-classic-1.1.3.jar;C:\NIFI-0~1.0\.\lib\logback-core-1.1.3.jar;C:\NIFI-0~1.0\
.\lib\nifi-api-0.7.0.jar;C:\NIFI-0~1.0\.\lib\nifi-documentation-0.7.0.jar;C:\NIF
I-0~1.0\.\lib\nifi-nar-utils-0.7.0.jar;C:\NIFI-0~1.0\.\lib\nifi-properties-0.7.0
.jar;C:\NIFI-0~1.0\.\lib\nifi-runtime-0.7.0.jar;C:\NIFI-0~1.0\.\lib\slf4j-api-1.
7.12.jar -Dorg.apache.jasper.compiler.disablejsr199=true -Xmx512m -Xms512m -Dsun
.net.http.allowRestrictedHeaders=true -Djava.net.preferIPv4Stack=true -Djava.awt
.headless=true -Djava.protocol.handler.pkgs=sun.net.www.protocol -Dnifi.properti
es.file.path=C:\NIFI-0~1.0\.\conf\nifi.properties -Dnifi.bootstrap.listen.port=4
9823 -Dapp=NiFi -Dorg.apache.nifi.bootstrap.config.log.dir=C:\NIFI-0~1.0\bin\..\
\logs org.apache.nifi.NiFi
Run Code Online (Sandbox Code Playgroud)
你能告诉我什么问题吗?我该如何解决这个问题?
更多信息,内容nifi-app.log如下:
2016-07-31 17:47:52,531 INFO [main] org.apache.nifi.NiFi Launching NiFi...
2016-07-31 17:47:52,687 INFO [main] org.apache.nifi.BootstrapListener Started Bootstrap Listener, …Run Code Online (Sandbox Code Playgroud) 我在eclipse的Scala版本中创建了一个.scala文件,它有一个main和object.我想以某种方式将这可能编译成一个jar文件,所以我可以从终端运行它?
任何信息将不胜感激.
谢谢,里斯
我打算用NoSQL开始项目进行数据存储.我试图在谷歌中找到关于Cassandra的信息,但我发现了非常基本的信息.任何人都知道我在哪里可以找到关于Cassandra的良好知识来源(规划数据结构,处理数据(可能从mysql迁移?)等)?
我有一台 16 核和 32G 内存的服务器。对于像 那样的进程apache,它为每个新连接产生一个新线程,以下哪个替代方案更好,为什么?在应用程序的情况下也会发生什么cassandra。如果 cassandra 有大量的内存写入,这意味着在同一台机器上有两个“节点”会有什么好处?
同一应用程序的多个(例如,两个)实例在同一台机器上运行并在两个不同的端口上提供服务。(可能是本机前面不同机器上的LB)。
我很困惑操作系统将如何处理多线程应用程序的两个实例。这两个进程都会在所有内核上运行线程吗?在什么情况下会发生上下文切换(在进程和线程之间)以及它将如何影响性能?
在一个端口上服务的多线程应用程序的单个实例。
对于像 cassandra 这样的应用程序,其中线程将拥有共享内存以供写入,线程之间何时会发生上下文切换?
我正在尝试在OS X macbook上设置apache cassandra.我正在尝试测试NoSql数据库,我已经设置了memcached和redis.但是使用cassandra我正在使用oracle的jdk 1.7.0_09我遵循了安装说明,但是当我尝试启动服务器时,我从控制台得到了这个问题:
MacBook-Air-Urij:bin urijvoskresenskij$ ./cassandra -f
xss = -ea -javaagent:./../lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms1024M -Xmx1024M -Xmn200M -XX:+HeapDumpOnOutOfMemoryError
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /var/log/cassandra/system.log (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
at java.io.FileOutputStream.<init>(FileOutputStream.java:136)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:809)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:395)
at org.apache.log4j.PropertyWatchdog.doOnChange(PropertyConfigurator.java:922)
at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:89)
at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:58)
at org.apache.log4j.PropertyWatchdog.<init>(PropertyConfigurator.java:914)
at org.apache.log4j.PropertyConfigurator.configureAndWatch(PropertyConfigurator.java:461)
at org.apache.cassandra.service.AbstractCassandraDaemon.initLog4j(AbstractCassandraDaemon.java:100)
at org.apache.cassandra.thrift.CassandraDaemon.<clinit>(CassandraDaemon.java:61)
INFO 17:40:17,717 Logging initialized
INFO 17:40:17,720 JVM vendor/version: Java HotSpot(TM) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用"PutSQL"处理器来做到这一点.
我修改流文件使用"ReplaceText"并创建一个INSERT语句.我已经在MySQL数据库中测试了该语句,并且该语句有效.
这是声明:
INSERT INTO monitor.security_nifi (RemoteIPAddress, Timestamp,RequestUrl, Status, Instance)
VALUES ('10.129.2.35', '2016-09-2016:44:16,347','/secure/Dashboard.jspa', 'PASSED', '35');
Run Code Online (Sandbox Code Playgroud)
当它通过处理器时,我不断收到此错误:
由于java.lang.IndexOutOfBoundsException导致会话失败:索引:1,大小:1:java.lang.IndexOutOfBoundsException:索引:1,大小:1
这是堆栈跟踪:
2016-09-21 10:41:24,658 WARN [Timer-Driven Process Thread-1] oanctContinuallyRunProcessorTask java.lang.IndexOutOfBoundsException:Index:1,size:1 at java.util.ArrayList.rangeCheck(ArrayList.java:653)~ [na:1.8.0_101] at java.util.ArrayList.get(ArrayList.java:429)〜[na:1.8.0_101] at org.apache.nifi.processors.standard.PutSQL.onTrigger(PutSQL.java:304 )〜[na:na] atg.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)〜[nifi-api-1.0.0.jar:1.0.0] org.apache.nifi.controller .standardProcessorNode.onTrigger(StandardProcessorNode.java:1064)~ [nifi-framework-core-1.0.0.jar:1.0.0] atg.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136) [nifi-framework-core-1.0.0.jar:1.0.0]在org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)[nifi-framework-core-1.0.0.jar :1.0.0] org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent $ 1.run(TimerDrivenSchedulingAgent.java:132)[nifi-framework-core-1.0.0.jar:1.0.0] at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)[na:1.8.0_101] at java. util.concurrent.FutureTask.runAndReset(FutureTask.java:308)[na:1.8.0_101] at java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 301(ScheduledThreadPoolExecutor.java:180)[na:1.8.0_101] at java .util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)[na:1.8.0_101] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[na:1.8.0_101] at java .util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)[na:1.8.0_101] at java.lang.Thread.run(Thread.java:745)[na:1.8.0_101]
我在Spark中使用S3时遇到了一些描述问题的问题:
许多专门描述Parquet文件的问题:
以及一些涉及Spark - S3 - Parquet组合的其他问题的外部资源.这让我觉得S3与Spark或这个完整的组合可能不是最好的选择.
我在这里做点什么吗?任何人都可以提供权威的答案解释:
我想尝试一个逻辑匹配标准,如:
(("Foo" OR "Foo Bar" OR FooBar) AND ("test" OR "testA" OR "TestB")) OR TestZ
Run Code Online (Sandbox Code Playgroud)
并将其作为匹配猪使用的文件
result = filter inputfields by text matches (some regex expression here));
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何将上面的逻辑表达式转换为匹配方法的正则表达式.
我摆弄各种各样的东西,我最接近的是这样的:
((?=.*?\bFoo\b | \bFoo Bar\b))(?=.*?\bTestZ\b)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?如果可能的话,我还需要尝试以编程方式进行此转换.
一些例子:
a - 快速的棕色Foo跳过了懒惰测试(这应该通过,因为它包含foo和测试)
b - TestZ中发生的事情(这也包含了testZ)
c - 快速的棕色Foo跳过懒狗(这应该失败,因为它包含Foo但不测试,testA或TestB)
谢谢
运行apache-cassandra 3.3时,我意外关闭了Mac OS X. 在新的引导加载中重新启动cassandra时,出现以下错误:
INFO 15:25:15 Replaying /Users/eswenson/opt/apache-cassandra-3.5/bin/../data/commitlog/CommitLog-6-1461717351786.log, /Users/eswenson/opt/apache-cassandra-3.5/bin/../data/commitlog/CommitLog-6-1461717351787.log, /Users/eswenson/opt/apache-cassandra-3.5/bin/../data/commitlog/CommitLog-6-1461942807785.log, /Users/eswenson/opt/apache-cassandra-3.5/bin/../data/commitlog/CommitLog-6-1461943004975.log
ERROR 15:25:15 Exiting due to error while processing commit log during initialization.
org.apache.cassandra.db.commitlog.CommitLogReplayer$CommitLogReplayException: Encountered bad header at position 542295 of commit log /Users/eswenson/opt/apache-cassandra-3.5/bin/../data/commitlog/CommitLog-6-1461717351786.log, with bad position but valid CRC
at org.apache.cassandra.db.commitlog.CommitLogReplayer.handleReplayError(CommitLogReplayer.java:611) [apache-cassandra-3.5.jar:3.5]
at org.apache.cassandra.db.commitlog.SegmentReader$SegmentIterator.computeNext(SegmentReader.java:105) [apache-cassandra-3.5.jar:3.5]
at org.apache.cassandra.db.commitlog.SegmentReader$SegmentIterator.computeNext(SegmentReader.java:78) [apache-cassandra-3.5.jar:3.5]
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) [guava-18.0.jar:na]
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) [guava-18.0.jar:na]
at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:399) [apache-cassandra-3.5.jar:3.5]
at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:236) [apache-cassandra-3.5.jar:3.5]
at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:192) [apache-cassandra-3.5.jar:3.5]
at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:172) [apache-cassandra-3.5.jar:3.5]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:283) [apache-cassandra-3.5.jar:3.5]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:551) [apache-cassandra-3.5.jar:3.5]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:680) [apache-cassandra-3.5.jar:3.5]
Run Code Online (Sandbox Code Playgroud)
我搜索堆栈溢出和谷歌,并没有找到相同问题的帖子.我找到了问题https://issues.apache.org/jira/browse/CASSANDRA-9749,这是相关的,但是这个问题被标记为已解决,并且与检测到问题后继续执行有关,而不是因为异常而失败. …