Hey Shekar,

The SLF4J stuff is saying that you don't have an slf4j binding on your
classpath. Try adding slf4j-log4j as a runtime dependency on your project.

Cheers,
Chris

On 9/2/14 3:24 PM, "Shekar Tippur" <[email protected]> wrote:

>Chris ,
>
>In the current state, I just want Samza to connect to 127.0.0.1.
>
>I have set YARN_HOME to
>
>$ echo $YARN_HOME
>
>/home/ctippur/hello-samza/deploy/yarn
>
>I still dont see anything on hadoop console.
>
> Also, I see this during startup
>
>
>SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
>
>SLF4J: Defaulting to no-operation (NOP) logger implementation
>
>SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further
>details.
>
>SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
>
>SLF4J: Defaulting to no-operation (NOP) logger implementation
>
>SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further
>details.
>
>- Shekar
>
>
>On Tue, Sep 2, 2014 at 2:20 PM, Chris Riccomini <
>[email protected]> wrote:
>
>> Hey Shekar,
>>
>> Ah ha. In that case, do you expect your SamzaContainer to try to connect
>> to the RM at 127.0.0.1, or do you expect it to try to connect to some
>> remote RM? If you expect it to try and connect to a remote RM, it's not
>> doing that. Perhaps because YARN_HOME isn't set.
>>
>> If you go to your RM's web interface, how many active nodes do you see
>> listed?
>>
>> Cheers,
>> Chris
>>
>> On 9/2/14 2:17 PM, "Shekar Tippur" <[email protected]> wrote:
>>
>> >Chris ..
>> >
>> >I am using a rhel server to host all the components (Yarn, kafka,
>>samza).
>> >I
>> >dont have ACLs open to wikipedia.
>> >I am following ..
>> >
>> 
>>http://samza.incubator.apache.org/learn/tutorials/latest/run-hello-samza-
>>w
>> >ithout-internet.html
>> >
>> >- Shekar
>> >
>> >
>> >
>> >On Tue, Sep 2, 2014 at 2:13 PM, Chris Riccomini <
>> >[email protected]> wrote:
>> >
>> >> Hey Shekar,
>> >>
>> >> Can you try changing that to:
>> >>
>> >>   http://127.0.0.1:8088/cluster
>> >>
>> >>
>> >> And see if you can connect?
>> >>
>> >> Cheers,
>> >> Chris
>> >>
>> >> On 9/2/14 1:21 PM, "Shekar Tippur" <[email protected]> wrote:
>> >>
>> >> >Other observation is ..
>> >> >
>> >> >http://10.132.62.185:8088/cluster shows that no applications are
>> >>running.
>> >> >
>> >> >- Shekar
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >On Tue, Sep 2, 2014 at 1:15 PM, Shekar Tippur <[email protected]>
>> >>wrote:
>> >> >
>> >> >> Yarn seem to be running ..
>> >> >>
>> >> >> yarn      5462  0.0  2.0 1641296 161404 ?      Sl   Jun20  95:26
>> >> >> /usr/java/jdk1.6.0_31/bin/java -Dproc_resourcemanager -Xmx1000m
>> >> >> -Dhadoop.log.dir=/var/log/hadoop-yarn
>> >> >>-Dyarn.log.dir=/var/log/hadoop-yarn
>> >> >> -Dhadoop.log.file=yarn-yarn-resourcemanager-pppdc9prd2y2.log
>> >> >> -Dyarn.log.file=yarn-yarn-resourcemanager-pppdc9prd2y2.log
>> >> >> -Dyarn.home.dir=/usr/lib/hadoop-yarn
>> >> >>-Dhadoop.home.dir=/usr/lib/hadoop-yarn
>> >> >> -Dhadoop.root.logger=INFO,RFA -Dyarn.root.logger=INFO,RFA
>> >> >> -Djava.library.path=/usr/lib/hadoop/lib/native -classpath
>> >> >>
>> >>
>> 
>>>>>>/etc/hadoop/conf:/etc/hadoop/conf:/etc/hadoop/conf:/usr/lib/hadoop/li
>>>>>>b/
>> >>>>*:
>> >>
>> 
>>>>>>/usr/lib/hadoop/.//*:/usr/lib/hadoop-hdfs/./:/usr/lib/hadoop-hdfs/lib
>>>>>>/*
>> >>>>:/
>> >>
>> 
>>>>>>usr/lib/hadoop-hdfs/.//*:/usr/lib/hadoop-yarn/lib/*:/usr/lib/hadoop-y
>>>>>>ar
>> >>>>n/
>> >>
>> 
>>>>>>.//*:/usr/lib/hadoop-mapreduce/lib/*:/usr/lib/hadoop-mapreduce/.//*:/
>>>>>>us
>> >>>>r/
>> >>
>> 
>>>>>>lib/hadoop-yarn/.//*:/usr/lib/hadoop-yarn/lib/*:/etc/hadoop/conf/rm-c
>>>>>>on
>> >>>>fi
>> >> >>g/log4j.properties
>> >> >> org.apache.hadoop.yarn.server.resourcemanager.ResourceManager
>> >> >>
>> >> >> I can tail kafka topic as well ..
>> >> >>
>> >> >> deploy/kafka/bin/kafka-console-consumer.sh  --zookeeper
>> >>localhost:2181
>> >> >>--topic wikipedia-raw
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> On Tue, Sep 2, 2014 at 1:04 PM, Chris Riccomini <
>> >> >> [email protected]> wrote:
>> >> >>
>> >> >>> Hey Shekar,
>> >> >>>
>> >> >>> It looks like your job is hanging trying to connect to the RM on
>> >>your
>> >> >>> localhost. I thought that you said that your job was running in
>> >>local
>> >> >>> mode. If so, it should be using the LocalJobFactory. If not, and
>>you
>> >> >>> intend to run on YARN, is your YARN RM up and running on
>>localhost?
>> >> >>>
>> >> >>> Cheers,
>> >> >>> Chris
>> >> >>>
>> >> >>> On 9/2/14 12:22 PM, "Shekar Tippur" <[email protected]> wrote:
>> >> >>>
>> >> >>> >Chris ..
>> >> >>> >
>> >> >>> >$ cat ./deploy/samza/undefined-samza-container-name.log
>> >> >>> >
>> >> >>> >2014-09-02 11:17:58 JobRunner [INFO] job factory:
>> >> >>> >org.apache.samza.job.yarn.YarnJobFactory
>> >> >>> >
>> >> >>> >2014-09-02 11:17:59 ClientHelper [INFO] trying to connect to RM
>> >> >>> >127.0.0.1:8032
>> >> >>> >
>> >> >>> >2014-09-02 11:17:59 NativeCodeLoader [WARN] Unable to load
>> >> >>>native-hadoop
>> >> >>> >library for your platform... using builtin-java classes where
>> >> >>>applicable
>> >> >>> >
>> >> >>> >2014-09-02 11:17:59 RMProxy [INFO] Connecting to ResourceManager
>> >>at /
>> >> >>> >127.0.0.1:8032
>> >> >>> >
>> >> >>> >
>> >> >>> >and Log4j ..
>> >> >>> >
>> >> >>> ><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
>> >> >>> >
>> >> >>> ><log4j:configuration
>> >>xmlns:log4j="http://jakarta.apache.org/log4j/";>
>> >> >>> >
>> >> >>> >  <appender name="RollingAppender"
>> >> >>> >class="org.apache.log4j.DailyRollingFileAppender">
>> >> >>> >
>> >> >>> >     <param name="File"
>> >> >>> >value="${samza.log.dir}/${samza.container.name}.log"
>> >> >>> >/>
>> >> >>> >
>> >> >>> >     <param name="DatePattern" value="'.'yyyy-MM-dd" />
>> >> >>> >
>> >> >>> >     <layout class="org.apache.log4j.PatternLayout">
>> >> >>> >
>> >> >>> >      <param name="ConversionPattern" value="%d{yyyy-MM-dd
>> >>HH:mm:ss}
>> >> >>> %c{1}
>> >> >>> >[%p] %m%n" />
>> >> >>> >
>> >> >>> >     </layout>
>> >> >>> >
>> >> >>> >  </appender>
>> >> >>> >
>> >> >>> >  <root>
>> >> >>> >
>> >> >>> >    <priority value="info" />
>> >> >>> >
>> >> >>> >    <appender-ref ref="RollingAppender"/>
>> >> >>> >
>> >> >>> >  </root>
>> >> >>> >
>> >> >>> ></log4j:configuration>
>> >> >>> >
>> >> >>> >
>> >> >>> >On Tue, Sep 2, 2014 at 12:02 PM, Chris Riccomini <
>> >> >>> >[email protected]> wrote:
>> >> >>> >
>> >> >>> >> Hey Shekar,
>> >> >>> >>
>> >> >>> >> Can you attach your log files? I'm wondering if it's a
>> >> >>>mis-configured
>> >> >>> >> log4j.xml (or missing slf4j-log4j jar), which is leading to
>> >>nearly
>> >> >>> empty
>> >> >>> >> log files. Also, I'm wondering if the job starts fully.
>>Anything
>> >>you
>> >> >>> can
>> >> >>> >> attach would be helpful.
>> >> >>> >>
>> >> >>> >> Cheers,
>> >> >>> >> Chris
>> >> >>> >>
>> >> >>> >> On 9/2/14 11:43 AM, "Shekar Tippur" <[email protected]> wrote:
>> >> >>> >>
>> >> >>> >> >I am running in local mode.
>> >> >>> >> >
>> >> >>> >> >S
>> >> >>> >> >On Sep 2, 2014 11:42 AM, "Yan Fang" <[email protected]>
>> >>wrote:
>> >> >>> >> >
>> >> >>> >> >> Hi Shekar.
>> >> >>> >> >>
>> >> >>> >> >> Are you running job in local mode or yarn mode? If yarn
>>mode,
>> >>the
>> >> >>> log
>> >> >>> >> >>is in
>> >> >>> >> >> the yarn's container log.
>> >> >>> >> >>
>> >> >>> >> >> Thanks,
>> >> >>> >> >>
>> >> >>> >> >> Fang, Yan
>> >> >>> >> >> [email protected]
>> >> >>> >> >> +1 (206) 849-4108
>> >> >>> >> >>
>> >> >>> >> >>
>> >> >>> >> >> On Tue, Sep 2, 2014 at 11:36 AM, Shekar Tippur
>> >> >>><[email protected]>
>> >> >>> >> >>wrote:
>> >> >>> >> >>
>> >> >>> >> >> > Chris,
>> >> >>> >> >> >
>> >> >>> >> >> > Got some time to play around a bit more.
>> >> >>> >> >> > I tried to edit
>> >> >>> >> >> >
>> >> >>> >> >> >
>> >> >>> >> >>
>> >> >>> >>
>> >> >>>
>> >> >>>
>> >>
>> 
>>>>>>>>>>>samza-wikipedia/src/main/java/samza/examples/wikipedia/task/Wiki
>>>>>>>>>>>pe
>> >>>>>>>>>di
>> >> >>>>>>>aFe
>> >> >>> >>>>ed
>> >> >>> >> >>StreamTask.java
>> >> >>> >> >> > to add a logger info statement to tap the incoming
>>message.
>> >>I
>> >> >>>dont
>> >> >>> >>see
>> >> >>> >> >> the
>> >> >>> >> >> > messages being printed to the log file.
>> >> >>> >> >> >
>> >> >>> >> >> > Is this the right place to start?
>> >> >>> >> >> >
>> >> >>> >> >> > public class WikipediaFeedStreamTask implements
>>StreamTask {
>> >> >>> >> >> >
>> >> >>> >> >> >   private static final SystemStream OUTPUT_STREAM = new
>> >> >>> >> >> > SystemStream("kafka",
>> >> >>> >> >> > "wikipedia-raw");
>> >> >>> >> >> >
>> >> >>> >> >> >   private static final Logger log =
>>LoggerFactory.getLogger
>> >> >>> >> >> > (WikipediaFeedStreamTask.class);
>> >> >>> >> >> >
>> >> >>> >> >> >   @Override
>> >> >>> >> >> >
>> >> >>> >> >> >   public void process(IncomingMessageEnvelope envelope,
>> >> >>> >> >>MessageCollector
>> >> >>> >> >> > collector, TaskCoordinator coordinator) {
>> >> >>> >> >> >
>> >> >>> >> >> >     Map<String, Object> outgoingMap =
>> >> >>> >> >> > WikipediaFeedEvent.toMap((WikipediaFeedEvent)
>> >> >>> >>envelope.getMessage());
>> >> >>> >> >> >
>> >> >>> >> >> >     log.info(envelope.getMessage().toString());
>> >> >>> >> >> >
>> >> >>> >> >> >     collector.send(new
>> >>OutgoingMessageEnvelope(OUTPUT_STREAM,
>> >> >>> >> >> > outgoingMap));
>> >> >>> >> >> >
>> >> >>> >> >> >   }
>> >> >>> >> >> >
>> >> >>> >> >> > }
>> >> >>> >> >> >
>> >> >>> >> >> >
>> >> >>> >> >> > On Mon, Aug 25, 2014 at 9:01 AM, Chris Riccomini <
>> >> >>> >> >> > [email protected]> wrote:
>> >> >>> >> >> >
>> >> >>> >> >> > > Hey Shekar,
>> >> >>> >> >> > >
>> >> >>> >> >> > > Your thought process is on the right track. It's
>>probably
>> >> >>>best
>> >> >>> to
>> >> >>> >> >>start
>> >> >>> >> >> > > with hello-samza, and modify it to get what you want.
>>To
>> >> >>>start
>> >> >>> >>with,
>> >> >>> >> >> > > you'll want to:
>> >> >>> >> >> > >
>> >> >>> >> >> > > 1. Write a simple StreamTask that just does something
>> >>silly
>> >> >>>like
>> >> >>> >> >>just
>> >> >>> >> >> > > print messages that it receives.
>> >> >>> >> >> > > 2. Write a configuration for the job that consumes from
>> >>just
>> >> >>>the
>> >> >>> >> >>stream
>> >> >>> >> >> > > (alerts from different sources).
>> >> >>> >> >> > > 3. Run this to make sure you've got it working.
>> >> >>> >> >> > > 4. Now add your table join. This can be either a
>> >>change-data
>> >> >>> >>capture
>> >> >>> >> >> > (CDC)
>> >> >>> >> >> > > stream, or via a remote DB call.
>> >> >>> >> >> > >
>> >> >>> >> >> > > That should get you to a point where you've got your
>>job
>> >>up
>> >> >>>and
>> >> >>> >> >> running.
>> >> >>> >> >> > > From there, you could create your own Maven project,
>>and
>> >> >>>migrate
>> >> >>> >> >>your
>> >> >>> >> >> > code
>> >> >>> >> >> > > over accordingly.
>> >> >>> >> >> > >
>> >> >>> >> >> > > Cheers,
>> >> >>> >> >> > > Chris
>> >> >>> >> >> > >
>> >> >>> >> >> > > On 8/24/14 1:42 AM, "Shekar Tippur" <[email protected]>
>> >> >>>wrote:
>> >> >>> >> >> > >
>> >> >>> >> >> > > >Chris,
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >I have gone thro the documentation and decided that
>>the
>> >> >>>option
>> >> >>> >> >>that is
>> >> >>> >> >> > > >most
>> >> >>> >> >> > > >suitable for me is stream-table.
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >I see the following things:
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >1. Point samza to a table (database)
>> >> >>> >> >> > > >2. Point Samza to a stream - Alert stream from
>>different
>> >> >>> sources
>> >> >>> >> >> > > >3. Join key like a hostname
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >I have Hello Samza working. To extend that to do what
>>my
>> >> >>>needs
>> >> >>> >> >>are, I
>> >> >>> >> >> am
>> >> >>> >> >> > > >not sure where to start (Needs more code change OR
>> >> >>> configuration
>> >> >>> >> >> changes
>> >> >>> >> >> > > >OR
>> >> >>> >> >> > > >both)?
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >I have gone thro
>> >> >>> >> >> > > >
>> >> >>> >> >> >
>> >> >>> >> >>
>> >> >>> >> >>
>> >> >>> >>
>> >> >>> >>
>> >> >>>
>> >> >>>
>> >>
>> http://samza.incubator.apache.org/learn/documentation/latest/api/overvie
>> >> >>>w
>> >> >>> >> >> > > .
>> >> >>> >> >> > > >html
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >Is my thought process on the right track? Can you
>>please
>> >> >>>point
>> >> >>> >>me
>> >> >>> >> >>to
>> >> >>> >> >> the
>> >> >>> >> >> > > >right direction?
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >- Shekar
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >On Thu, Aug 21, 2014 at 1:08 PM, Shekar Tippur
>> >> >>> >><[email protected]>
>> >> >>> >> >> > wrote:
>> >> >>> >> >> > > >
>> >> >>> >> >> > > >> Chris,
>> >> >>> >> >> > > >>
>> >> >>> >> >> > > >> This is perfectly good answer. I will start poking
>>more
>> >> >>>into
>> >> >>> >> >>option
>> >> >>> >> >> > #4.
>> >> >>> >> >> > > >>
>> >> >>> >> >> > > >> - Shekar
>> >> >>> >> >> > > >>
>> >> >>> >> >> > > >>
>> >> >>> >> >> > > >> On Thu, Aug 21, 2014 at 1:05 PM, Chris Riccomini <
>> >> >>> >> >> > > >> [email protected]> wrote:
>> >> >>> >> >> > > >>
>> >> >>> >> >> > > >>> Hey Shekar,
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>> Your two options are really (3) or (4), then. You
>>can
>> >> >>>either
>> >> >>> >>run
>> >> >>> >> >> some
>> >> >>> >> >> > > >>> external DB that holds the data set, and you can
>> >>query it
>> >> >>> >>from a
>> >> >>> >> >> > > >>> StreamTask, or you can use Samza's state store
>> >>feature to
>> >> >>> >>push
>> >> >>> >> >>data
>> >> >>> >> >> > > >>>into a
>> >> >>> >> >> > > >>> stream that you can then store in a partitioned
>> >>key-value
>> >> >>> >>store
>> >> >>> >> >> along
>> >> >>> >> >> > > >>>with
>> >> >>> >> >> > > >>> your StreamTasks. There is some documentation here
>> >>about
>> >> >>>the
>> >> >>> >> >>state
>> >> >>> >> >> > > >>>store
>> >> >>> >> >> > > >>> approach:
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > >
>> >> >>> >> >>
>> >> >>> >>
>> >> >>>
>> >> >>>
>> >>
>> http://samza.incubator.apache.org/learn/documentation/0.7.0/container/st
>> >> >>> >> >> > > >>>ate
>> >> >>> >> >> > > >>> -management.html
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>><
>> >> >>> >> >> > >
>> >> >>> >> >>
>> >> >>>
>> >> >>>>>
>> >> 
>>http://samza.incubator.apache.org/learn/documentation/0.7.0/container/
>> >> >>>>>s
>> >> >>> >> >> > > >>>tate-management.html>
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>> (4) is going to require more up front effort from
>>you,
>> >> >>>since
>> >> >>> >> >>you'll
>> >> >>> >> >> > > >>>have
>> >> >>> >> >> > > >>> to understand how Kafka's partitioning model works,
>> >>and
>> >> >>> setup
>> >> >>> >> >>some
>> >> >>> >> >> > > >>> pipeline to push the updates for your state. In the
>> >>long
>> >> >>> >>run, I
>> >> >>> >> >> > believe
>> >> >>> >> >> > > >>> it's the better approach, though. Local lookups on
>>a
>> >> >>> >>key-value
>> >> >>> >> >> store
>> >> >>> >> >> > > >>> should be faster than doing remote RPC calls to a
>>DB
>> >>for
>> >> >>> >>every
>> >> >>> >> >> > message.
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>> I'm sorry I can't give you a more definitive
>>answer.
>> >>It's
>> >> >>> >>really
>> >> >>> >> >> > about
>> >> >>> >> >> > > >>> trade-offs.
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>> Cheers,
>> >> >>> >> >> > > >>> Chris
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>> On 8/21/14 12:22 PM, "Shekar Tippur"
>> >><[email protected]>
>> >> >>> >>wrote:
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>> >Chris,
>> >> >>> >> >> > > >>> >
>> >> >>> >> >> > > >>> >A big thanks for a swift response. The data set is
>> >>huge
>> >> >>>and
>> >> >>> >>the
>> >> >>> >> >> > > >>>frequency
>> >> >>> >> >> > > >>> >is in burst.
>> >> >>> >> >> > > >>> >What do you suggest?
>> >> >>> >> >> > > >>> >
>> >> >>> >> >> > > >>> >- Shekar
>> >> >>> >> >> > > >>> >
>> >> >>> >> >> > > >>> >
>> >> >>> >> >> > > >>> >On Thu, Aug 21, 2014 at 11:05 AM, Chris Riccomini
>><
>> >> >>> >> >> > > >>> >[email protected]> wrote:
>> >> >>> >> >> > > >>> >
>> >> >>> >> >> > > >>> >> Hey Shekar,
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >> This is feasible, and you are on the right
>>thought
>> >> >>> >>process.
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >> For the sake of discussion, I'm going to pretend
>> >>that
>> >> >>>you
>> >> >>> >> >>have a
>> >> >>> >> >> > > >>>Kafka
>> >> >>> >> >> > > >>> >> topic called "PageViewEvent", which has just
>>the IP
>> >> >>> >>address
>> >> >>> >> >>that
>> >> >>> >> >> > was
>> >> >>> >> >> > > >>> >>used
>> >> >>> >> >> > > >>> >> to view a page. These messages will be logged
>>every
>> >> >>>time
>> >> >>> a
>> >> >>> >> >>page
>> >> >>> >> >> > view
>> >> >>> >> >> > > >>> >> happens. I'm also going to pretend that you have
>> >>some
>> >> >>> >>state
>> >> >>> >> >> called
>> >> >>> >> >> > > >>> >>"IPGeo"
>> >> >>> >> >> > > >>> >> (e.g. The maxmind data set). In this example,
>>we'll
>> >> >>>want
>> >> >>> >>to
>> >> >>> >> >>join
>> >> >>> >> >> > the
>> >> >>> >> >> > > >>> >> long/lat geo information from IPGeo to the
>> >> >>>PageViewEvent,
>> >> >>> >>and
>> >> >>> >> >> send
>> >> >>> >> >> > > >>>it
>> >> >>> >> >> > > >>> >>to a
>> >> >>> >> >> > > >>> >> new topic: PageViewEventsWithGeo.
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >> You have several options on how to implement
>>this
>> >> >>> example.
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >> 1. If your joining data set (IPGeo) is
>>relatively
>> >> >>>small
>> >> >>> >>and
>> >> >>> >> >> > changes
>> >> >>> >> >> > > >>> >> infrequently, you can just pack it up in your
>>jar
>> >>or
>> >> >>>.tgz
>> >> >>> >> >>file,
>> >> >>> >> >> > and
>> >> >>> >> >> > > >>> open
>> >> >>> >> >> > > >>> >> it open in every StreamTask.
>> >> >>> >> >> > > >>> >> 2. If your data set is small, but changes
>>somewhat
>> >> >>> >> >>frequently,
>> >> >>> >> >> you
>> >> >>> >> >> > > >>>can
>> >> >>> >> >> > > >>> >> throw the data set on some HTTP/HDFS/S3 server
>> >> >>>somewhere,
>> >> >>> >>and
>> >> >>> >> >> have
>> >> >>> >> >> > > >>>your
>> >> >>> >> >> > > >>> >> StreamTask refresh it periodically by
>> >>re-downloading
>> >> >>>it.
>> >> >>> >> >> > > >>> >> 3. You can do remote RPC calls for the IPGeo
>>data
>> >>on
>> >> >>> every
>> >> >>> >> >>page
>> >> >>> >> >> > view
>> >> >>> >> >> > > >>> >>event
>> >> >>> >> >> > > >>> >> by query some remote service or DB (e.g.
>> >>Cassandra).
>> >> >>> >> >> > > >>> >> 4. You can use Samza's state feature to set your
>> >>IPGeo
>> >> >>> >>data
>> >> >>> >> >>as a
>> >> >>> >> >> > > >>>series
>> >> >>> >> >> > > >>> >>of
>> >> >>> >> >> > > >>> >> messages to a log-compacted Kafka topic
>> >> >>> >> >> > > >>> >> (
>> >> >>> >> >>
>> >>https://cwiki.apache.org/confluence/display/KAFKA/Log+Compaction
>> >> >>> >> >> > ),
>> >> >>> >> >> > > >>> and
>> >> >>> >> >> > > >>> >> configure your Samza job to read this topic as a
>> >> >>> bootstrap
>> >> >>> >> >> stream
>> >> >>> >> >> > > >>> >> (
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > >
>> >> >>> >> >>
>> >> >>> >>
>> >> >>>
>> >> >>>
>> >>
>> http://samza.incubator.apache.org/learn/documentation/0.7.0/container/st
>> >> >>> >> >> > > >>>r
>> >> >>> >> >> > > >>> >>e
>> >> >>> >> >> > > >>> >> ams.html).
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >> For (4), you'd have to partition the IPGeo state
>> >>topic
>> >> >>> >> >>according
>> >> >>> >> >> > to
>> >> >>> >> >> > > >>>the
>> >> >>> >> >> > > >>> >> same key as PageViewEvent. If PageViewEvent were
>> >> >>> >>partitioned
>> >> >>> >> >>by,
>> >> >>> >> >> > > >>>say,
>> >> >>> >> >> > > >>> >> member ID, but you want your IPGeo state topic
>>to
>> >>be
>> >> >>> >> >>partitioned
>> >> >>> >> >> > by
>> >> >>> >> >> > > >>>IP
>> >> >>> >> >> > > >>> >> address, then you'd have to have an upstream job
>> >>that
>> >> >>> >> >> > re-partitioned
>> >> >>> >> >> > > >>> >> PageViewEvent into some new topic by IP address.
>> >>This
>> >> >>>new
>> >> >>> >> >>topic
>> >> >>> >> >> > will
>> >> >>> >> >> > > >>> >>have
>> >> >>> >> >> > > >>> >> to have the same number of partitions as the
>>IPGeo
>> >> >>>state
>> >> >>> >> >>topic
>> >> >>> >> >> (if
>> >> >>> >> >> > > >>> IPGeo
>> >> >>> >> >> > > >>> >> has 8 partitions, then the new
>> >> >>>PageViewEventRepartitioned
>> >> >>> >> >>topic
>> >> >>> >> >> > > >>>needs 8
>> >> >>> >> >> > > >>> >>as
>> >> >>> >> >> > > >>> >> well). This will cause your
>> >>PageViewEventRepartitioned
>> >> >>> >>topic
>> >> >>> >> >>and
>> >> >>> >> >> > > >>>your
>> >> >>> >> >> > > >>> >> IPGeo state topic to be aligned such that the
>> >> >>>StreamTask
>> >> >>> >>that
>> >> >>> >> >> gets
>> >> >>> >> >> > > >>>page
>> >> >>> >> >> > > >>> >> views for IP address X will also have the IPGeo
>> >> >>> >>information
>> >> >>> >> >>for
>> >> >>> >> >> IP
>> >> >>> >> >> > > >>> >>address
>> >> >>> >> >> > > >>> >> X.
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >> Which strategy you pick is really up to you. :)
>> >>(4) is
>> >> >>> the
>> >> >>> >> >>most
>> >> >>> >> >> > > >>> >> complicated, but also the most flexible, and
>>most
>> >> >>> >> >>operationally
>> >> >>> >> >> > > >>>sound.
>> >> >>> >> >> > > >>> >>(1)
>> >> >>> >> >> > > >>> >> is the easiest if it fits your needs.
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >> Cheers,
>> >> >>> >> >> > > >>> >> Chris
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >> On 8/21/14 10:15 AM, "Shekar Tippur"
>> >> >>><[email protected]>
>> >> >>> >> >>wrote:
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >> >Hello,
>> >> >>> >> >> > > >>> >> >
>> >> >>> >> >> > > >>> >> >I am new to Samza. I have just installed Hello
>> >>Samza
>> >> >>>and
>> >> >>> >> >>got it
>> >> >>> >> >> > > >>> >>working.
>> >> >>> >> >> > > >>> >> >
>> >> >>> >> >> > > >>> >> >Here is the use case for which I am trying to
>>use
>> >> >>>Samza:
>> >> >>> >> >> > > >>> >> >
>> >> >>> >> >> > > >>> >> >
>> >> >>> >> >> > > >>> >> >1. Cache the contextual information which
>>contains
>> >> >>>more
>> >> >>> >> >> > information
>> >> >>> >> >> > > >>> >>about
>> >> >>> >> >> > > >>> >> >the hostname or IP address using
>>Samza/Yarn/Kafka
>> >> >>> >> >> > > >>> >> >2. Collect alert and metric events which
>>contain
>> >> >>>either
>> >> >>> >> >> hostname
>> >> >>> >> >> > > >>>or IP
>> >> >>> >> >> > > >>> >> >address
>> >> >>> >> >> > > >>> >> >3. Append contextual information to the alert
>>and
>> >> >>>metric
>> >> >>> >>and
>> >> >>> >> >> > > >>>insert to
>> >> >>> >> >> > > >>> >>a
>> >> >>> >> >> > > >>> >> >Kafka queue from which other subscribers read
>>off
>> >>of.
>> >> >>> >> >> > > >>> >> >
>> >> >>> >> >> > > >>> >> >Can you please shed some light on
>> >> >>> >> >> > > >>> >> >
>> >> >>> >> >> > > >>> >> >1. Is this feasible?
>> >> >>> >> >> > > >>> >> >2. Am I on the right thought process
>> >> >>> >> >> > > >>> >> >3. How do I start
>> >> >>> >> >> > > >>> >> >
>> >> >>> >> >> > > >>> >> >I now have 1 & 2 of them working disparately. I
>> >>need
>> >> >>>to
>> >> >>> >> >> integrate
>> >> >>> >> >> > > >>> them.
>> >> >>> >> >> > > >>> >> >
>> >> >>> >> >> > > >>> >> >Appreciate any input.
>> >> >>> >> >> > > >>> >> >
>> >> >>> >> >> > > >>> >> >- Shekar
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>> >>
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>>
>> >> >>> >> >> > > >>
>> >> >>> >> >> > >
>> >> >>> >> >> > >
>> >> >>> >> >> >
>> >> >>> >> >>
>> >> >>> >>
>> >> >>> >>
>> >> >>>
>> >> >>>
>> >> >>
>> >>
>> >>
>>
>>

Reply via email to