Hi Shoggi,

In addition to Nick's and Casey's comments, I noticed your global.json does
not specify a profiler period. Try adding the following:
"profiler.client.period.duration" : "15",
"profiler.client.period.duration.units" : "MINUTES"

This period duration should match the duration you've specified in the
profiler.properties file:
profiler.period.duration=15
profiler.period.duration.units=MINUTES

If you want to use a different period duration, you should change the value
to match in *both* locations.

Best,
Mike


On Sun, Mar 5, 2017 at 6:09 PM, Nick Allen <n...@nickallen.org> wrote:

> What version of Metron are you using?  Based on what I am seeing in the
> stack trace it seems to be a few versions ago.  Any chance you'd be willing
> to try something newer like 0.3.1 RC5? It would be easier to help
> troubleshoot that way.
>
> On Sun, Mar 5, 2017 at 5:48 PM, shoggi <sho...@gmail.com> wrote:
>
>> The quorum and kafka config was ok, the host is actually called node1
>> (same system). The variables were set like that because I wanted to see if
>> I can set it to another value. Anyway, changed everything back and did
>> another of this:
>>   - killed the topology
>>   - created an empty profiler config
>>   - restarted system
>>   - added profiler configuration again (started with just one profile)
>>   - data gets added to hbase, I get the error as shown previously, every
>> couple of flush cycles
>>   - still no luck querying hbase out from stellar or via the enrichment
>> parser. No errors anywhere but the profiler NPE's
>>
>> you mentioned tick time.. is that something I can tune?
>>
>>
>> 2017-03-05 23:25:06.583 o.a.m.p.b.ProfileBuilderBolt [INFO] Flushing
>> profile: profile=url-length, entity=google.ch
>> 2017-03-05 23:25:06.584 o.a.m.p.b.ProfileBuilderBolt [ERROR] Unexpected
>> failure: message='null', tuple='source: __system:-1, stream: __tick, id:
>> {}, [60]'
>> java.lang.NullPointerException
>> at org.apache.metron.profiler.stellar.DefaultStellarExecutor.ex
>> ecute(DefaultStellarExecutor.java:117) ~[stormjar.jar:?]
>> at org.apache.metron.profiler.bolt.ProfileBuilderBolt.executeRe
>> sult(ProfileBuilderBolt.java:316) ~[stormjar.jar:?]
>> at org.apache.metron.profiler.bolt.ProfileBuilderBolt.lambda$
>> flush$4(ProfileBuilderBolt.java:245) ~[stormjar.jar:?]
>> at java.util.concurrent.ConcurrentMap.forEach(ConcurrentMap.java:114)
>> ~[?:1.8.0_77]
>> at 
>> org.apache.metron.profiler.bolt.ProfileBuilderBolt.flush(ProfileBuilderBolt.java:237)
>> ~[stormjar.jar:?]
>> at 
>> org.apache.metron.profiler.bolt.ProfileBuilderBolt.doExecute(ProfileBuilderBolt.java:164)
>> ~[stormjar.jar:?]
>> at 
>> org.apache.metron.profiler.bolt.ProfileBuilderBolt.execute(ProfileBuilderBolt.java:144)
>> [stormjar.jar:?]
>> at 
>> org.apache.storm.daemon.executor$fn__6571$tuple_action_fn__6573.invoke(executor.clj:734)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.daemon.executor$mk_task_receiver$fn__6492.invoke(executor.clj:469)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.disruptor$clojure_handler$reify__6005.onEvent(disruptor.clj:40)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:451)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:430)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:73)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.daemon.executor$fn__6571$fn__6584$fn__6637.invoke(executor.clj:853)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at org.apache.storm.util$async_loop$fn__554.invoke(util.clj:484)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
>> at java.lang.Thread.run(Thread.java:745) [?:1.8.0_77]
>> 2017-03-05 23:25:06.585 o.a.s.d.executor [ERROR]
>> java.lang.NullPointerException
>> at org.apache.metron.profiler.stellar.DefaultStellarExecutor.ex
>> ecute(DefaultStellarExecutor.java:117) ~[stormjar.jar:?]
>> at org.apache.metron.profiler.bolt.ProfileBuilderBolt.executeRe
>> sult(ProfileBuilderBolt.java:316) ~[stormjar.jar:?]
>> at org.apache.metron.profiler.bolt.ProfileBuilderBolt.lambda$
>> flush$4(ProfileBuilderBolt.java:245) ~[stormjar.jar:?]
>> at java.util.concurrent.ConcurrentMap.forEach(ConcurrentMap.java:114)
>> ~[?:1.8.0_77]
>> at 
>> org.apache.metron.profiler.bolt.ProfileBuilderBolt.flush(ProfileBuilderBolt.java:237)
>> ~[stormjar.jar:?]
>> at 
>> org.apache.metron.profiler.bolt.ProfileBuilderBolt.doExecute(ProfileBuilderBolt.java:164)
>> ~[stormjar.jar:?]
>> at 
>> org.apache.metron.profiler.bolt.ProfileBuilderBolt.execute(ProfileBuilderBolt.java:144)
>> [stormjar.jar:?]
>> at 
>> org.apache.storm.daemon.executor$fn__6571$tuple_action_fn__6573.invoke(executor.clj:734)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.daemon.executor$mk_task_receiver$fn__6492.invoke(executor.clj:469)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.disruptor$clojure_handler$reify__6005.onEvent(disruptor.clj:40)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:451)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:430)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:73)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at 
>> org.apache.storm.daemon.executor$fn__6571$fn__6584$fn__6637.invoke(executor.clj:853)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at org.apache.storm.util$async_loop$fn__554.invoke(util.clj:484)
>> [storm-core-1.0.1.2.5.0.0-1245.jar:1.0.1.2.5.0.0-1245]
>> at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
>> at java.lang.Thread.run(Thread.java:745) [?:1.8.0_77]
>> 2017-03-05 23:25:08.628 o.a.s.k.ZkCoordinator [INFO] Task [1/1]
>> Refreshing partition manager connections
>>
>> On Sun, Mar 5, 2017 at 6:24 PM, Casey Stella <ceste...@gmail.com> wrote:
>>
>>> Ok, so a couple of things I see here that you might try:
>>>
>>>
>>>    - You should set kafka.zk and kafka.broker in profiler.properties to
>>>    your real zookeeper quorum and kafka broker respectively
>>>
>>> In your profiler.json, instead of:
>>>  {
>>>       "profile": "url-bytes",
>>>       "foreach": "if exists(domain_without_subdomains) then
>>> domain_without_subdomains else 'n/a'",
>>>       "onlyif": "exists(domain_without_subdomains) && source.type ==
>>> 'squid'",
>>>       "update": { "n": "STATS_ADD(m, bytes)" },
>>>       "result": "n"
>>>     },
>>> {
>>>       "profile": "content-type",
>>>       "foreach": "if exists(domain_content) then domain_content else
>>> 'n/a'",
>>>       "onlyif": "exists(domain_content) && source.type == 'squid'",
>>>       "update": { "o": "STATS_ADD(m, bytes)" },
>>>       "result": "o"
>>>     }
>>> You might want (note the change on the update statements)
>>>  {
>>>       "profile": "url-bytes",
>>>       "foreach": "if exists(domain_without_subdomains) then
>>> domain_without_subdomains else 'n/a'",
>>>       "onlyif": "exists(domain_without_subdomains) && source.type ==
>>> 'squid'",
>>>       "update": { "n": "STATS_ADD(n, bytes)" },
>>>       "result": "n"
>>>     },
>>> {
>>>       "profile": "content-type",
>>>       "foreach": "if exists(domain_content) then domain_content else
>>> 'n/a'",
>>>       "onlyif": "exists(domain_content) && source.type == 'squid'",
>>>       "update": { "o": "STATS_ADD(o, bytes)" },
>>>       "result": "o"
>>>     }
>>>
>>> Try restarting the profiler topology and if you could look at the storm
>>> logs and see if you see any issues show up in the logs for the profiler.
>>>
>>> On Sun, Mar 5, 2017 at 7:11 AM, shoggi <sho...@gmail.com> wrote:
>>>
>>>> Here is my config:
>>>>
>>>> # global config
>>>> {
>>>> "es.clustername": "metron",
>>>> "es.ip": "172.16.16.2",
>>>> "es.port": "9300",
>>>> "es.date.format": "yyyy.MM.dd.HH"
>>>> }
>>>>
>>>> # profiler config
>>>> {
>>>>   "profiles": [
>>>>     {
>>>>       "profile": "url-length",
>>>>       "foreach": "if exists(domain_without_subdomains) then
>>>> domain_without_subdomains else 'n/a'",
>>>>       "onlyif": "exists(domain_without_subdomains) && source.type ==
>>>> 'squid'",
>>>>       "update": { "m": "STATS_ADD(m, LENGTH(url))" },
>>>>       "result": "m"
>>>>     },
>>>>     {
>>>>       "profile": "url-bytes",
>>>>       "foreach": "if exists(domain_without_subdomains) then
>>>> domain_without_subdomains else 'n/a'",
>>>>       "onlyif": "exists(domain_without_subdomains) && source.type ==
>>>> 'squid'",
>>>>       "update": { "n": "STATS_ADD(m, bytes)" },
>>>>       "result": "n"
>>>>     },
>>>>     {
>>>>       "profile": "content-type",
>>>>       "foreach": "if exists(domain_content) then domain_content else
>>>> 'n/a'",
>>>>       "onlyif": "exists(domain_content) && source.type == 'squid'",
>>>>       "update": { "o": "STATS_ADD(m, bytes)" },
>>>>       "result": "o"
>>>>     }
>>>>   ]
>>>> }
>>>>
>>>> # profiler properties
>>>> ##### Storm #####
>>>>
>>>> profiler.workers=1
>>>> profiler.executors=0
>>>> profiler.input.topic=indexing
>>>> profiler.period.duration=15
>>>> profiler.period.duration.units=MINUTES
>>>> profiler.ttl=30
>>>> profiler.ttl.units=MINUTES
>>>> profiler.hbase.salt.divisor=1000
>>>> profiler.hbase.table=profiler
>>>> profiler.hbase.column.family=P
>>>> profiler.hbase.batch=10
>>>> profiler.hbase.flush.interval.seconds=30
>>>>
>>>> ##### Kafka #####
>>>>
>>>> kafka.zk=node1:2181
>>>> kafka.broker=node1:6667
>>>> kafka.start=WHERE_I_LEFT_OFF
>>>>
>>>> On Sun, Mar 5, 2017 at 2:37 AM, Casey Stella <ceste...@gmail.com>
>>>> wrote:
>>>>
>>>>> Sorry you are having issues! :(. Sometimes this is due to a mismatch
>>>>> in the tick time in the profiler between write and read.
>>>>>
>>>>> What's in your global config (METRON_HOME/config/zookeeper/global.json),
>>>>> profiler config (METRON_HOME/config/zookeeper/profiler.json) and
>>>>> profiler topology properties (METRON_HOME/config/profiler.properties)?
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Mar 4, 2017 at 17:38 shoggi <sho...@gmail.com> wrote:
>>>>>
>>>>>> Hey all
>>>>>>
>>>>>> Very strange, I had a few profilers working and wanted to show
>>>>>> someone (left system alone for a few days) & now can't query data 
>>>>>> anymore.
>>>>>> I went so far to reboot the system, deleted the profiler table in hbase 
>>>>>> and
>>>>>> loaded new data.
>>>>>>
>>>>>> I see the data in base but stellar does not let me query it anymore.
>>>>>> The queries return empty as if data does not exist but it's definitely
>>>>>> there. The timeframe can not be an issue, tired to use a very wide 
>>>>>> stellar
>>>>>> query and as mentioned, loaded fresh data.
>>>>>>
>>>>>> Any troubleshooting hints? This bugs me, as I have not touched the
>>>>>> system & even restarted it to get rid of any possible stale connections.
>>>>>>
>>>>>> [Stellar]>>> PROFILE_GET( "url-bytes","google.com",60,"MINUTES")
>>>>>> []
>>>>>>
>>>>>> [Stellar]>>> PROFILE_GET( "url-bytes","google.com",60,"HOURS")
>>>>>> []
>>>>>>
>>>>>> Base data is there:
>>>>>>
>>>>>> \xFF\xFF\xFFkurl-bytesgoogle.com\x00\x00\x00\x00\x0 column=P:value,
>>>>>> timestamp=1488664729500, value=\x01\x00org.apache.metro
>>>>>> n.statistics.OnlineStatisticsProvide\xF2\x01\x00\x00\x00\x1C
>>>>>> \x00\x00\x00\x01@b\x
>>>>>>  1z\x96F
>>>>>> C0\x00\x00\x00\x00\x00\x00\x00\x00\x01@\x82H\x00\x00\x00\x00
>>>>>> \x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01@\x82H\x
>>>>>> 00\x00\x00\x00\x00A\x14\xE3D\x0
>>>>>>                                                      0\x00\x00\x00@
>>>>>> \x19|\x87\xD0\xEA\xAA\xFB@\x82H\x00\x00\x00\x00\x00@
>>>>>> \x82H\x00\x00\x00\x00\x00@\x82H\x00\x00\x00\x00\x00\x
>>>>>> 00\x00\x00\x00\x00\x00\x00\x00\x
>>>>>>
>>>>>>  00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
>>>>>>
>>>>>> Thanks
>>>>>> shoggi
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to