Support Questions

Find answers, ask questions, and share your expertise

Trucking IOT Scala compile error - not found: value Logger

New Contributor

When attempting to run ./scripts/setup.sh to setup trucking-iot-demo-2, I receive the following exception and failure:

[info] Compiling 9 Scala sources to /root/trucking-iot-demo-2/trucking-storm-topology/target/scala-2.11/classes...                                                  
[error] /root/trucking-iot-demo-2/trucking-storm-topology/src/main/scala/com/orendainx/hortonworks/trucking/storm/bolts/DataWindowingBolt.scala:21: not found: value
 Logger                                                                                                                                                             
[error]   private lazy val log = Logger(this.getClass)
[error]                          ^
[error] /root/trucking-iot-demo-2/trucking-storm-topology/src/main/scala/com/orendainx/hortonworks/trucking/storm/bolts/ObjectToCSVStringBolt.scala:16: not found: v
alue Logger                                                                                                                                                         
[error]   private lazy val log = Logger(this.getClass)
[error]                          ^
[error] /root/trucking-iot-demo-2/trucking-storm-topology/src/main/scala/com/orendainx/hortonworks/trucking/storm/bolts/TruckAndTrafficJoinBolt.scala:24: not found:
 value Logger                                                                                                                                                       
[error]   private lazy val log = Logger(this.getClass)
[error]                          ^
[warn] Resolving package/object name conflict in favor of package org.apache.storm.daemon.supervisor.  The object will be inaccessible.
[warn] one warning found
[error] three errors found
[error] (stormTopology/compile:compileIncremental) Compilation failed
[error] Total time: 3 s, completed Mar 8, 2018 4:48:28 PM
7 REPLIES 7

@Brendan Lyon Thanks for reporting this! I'll get an update out asap. Hang in there - I'll reply again soon!

@Brendan Lyon Alrighty, the github repo was updated. Kindly "git pull" once cd'd in the directory and then try the script again. In case you were also hitting a couple of other errors, I found a fixed a few other things while in there. Good luck!

New Contributor

@Edgar Orendain - Thanks! That fixed the Logger error and I was able to proceed to ./scripts/run-simulator.sh. Once that completed I moved to the next step, ./scripts/deploy-topology.sh but encountered the following missing file exception:

[root@sandbox-hdf trucking-iot-demo-2]# ./scripts/deploy-topology.sh                                                                                                
Running: /usr/java/default/bin/java -server -Ddaemon.name= -Dstorm.options= -Dstorm.home=/usr/hdf/3.1.0.0-564/storm -Dstorm.log.dir=/var/log/storm -Djava.library.pa
th=/usr/local/lib:/opt/local/lib:/usr/lib -Dstorm.conf.file= -cp /usr/hdf/3.1.0.0-564/storm/*:/usr/hdf/3.1.0.0-564/storm/lib/*:/usr/hdf/3.1.0.0-564/storm/extlib/* o
rg.apache.storm.daemon.ClientJarTransformerRunner org.apache.storm.hack.StormShadeTransformer /root/trucking-iot-demo-2/trucking-storm-topology/target/trucking-stor
m-topology-0.3.2.jar /tmp/51236f16262311e8afef0242ac110002.jar                                                                                                      
Exception in thread "main" java.io.FileNotFoundException: /root/trucking-iot-demo-2/trucking-storm-topology/target/trucking-storm-topology-0.3.2.jar (No such file o
r directory)                                                                                                                                                        
        at java.io.FileInputStream.open0(Native Method)                                                                                                             
        at java.io.FileInputStream.open(FileInputStream.java:195)                                                                                                   
        at java.io.FileInputStream.<init>(FileInputStream.java:138)                                                                                                 
        at java.io.FileInputStream.<init>(FileInputStream.java:93)                                                                                                  
        at org.apache.storm.daemon.ClientJarTransformerRunner.main(ClientJarTransformerRunner.java:35)                                                              
Running: /usr/java/default/bin/java -Ddaemon.name= -Dstorm.options= -Dstorm.home=/usr/hdf/3.1.0.0-564/storm -Dstorm.log.dir=/var/log/storm -Djava.library.path=/usr/
local/lib:/opt/local/lib:/usr/lib:/usr/hdf/current/storm-client/lib -Dstorm.conf.file= -cp /usr/hdf/3.1.0.0-564/storm/*:/usr/hdf/3.1.0.0-564/storm/lib/*:/usr/hdf/3.
1.0.0-564/storm/extlib/*:/tmp/51236f16262311e8afef0242ac110002.jar:/usr/hdf/current/storm-supervisor/conf:/usr/hdf/3.1.0.0-564/storm/bin -Dstorm.jar=/tmp/51236f1626
2311e8afef0242ac110002.jar -Dstorm.dependency.jars= -Dstorm.dependency.artifacts={} com.orendainx.hortonworks.trucking.storm.topologies.KafkaToKafka                
Error: Could not find or load main class com.orendainx.hortonworks.trucking.storm.topologies.KafkaToKafka                                                           
Traceback (most recent call last):                                                                                                                                  
  File "/usr/hdf/3.1.0.0-564/storm/bin/storm.py", line 879, in <module>                                                                                             
    main()                                                                                                                                                          
  File "/usr/hdf/3.1.0.0-564/storm/bin/storm.py", line 876, in main                                                                                                 
    (COMMANDS.get(COMMAND, unknown_command))(*ARGS)                                                                                                                 
  File "/usr/hdf/3.1.0.0-564/storm/bin/storm.py", line 336, in jar                                                                                                  
    os.remove(tmpjar)                                                                                                                                               
OSError: [Errno 2] No such file or directory: '/tmp/51236f16262311e8afef0242ac110002.jar'                                                                           
[root@sandbox-hdf trucking-iot-demo-2]# ll                                                                                                                          
total 28                                                                                                                                                            
-rw-r--r--  1 root root 1678 Mar 12 15:08 build.sbt                                                                                                                 
drwxr-xr-x  4 root root 4096 Mar 12 15:10 project
-rw-r--r--  1 root root  280 Mar 12 15:08 README.md                                                                                                                 
drwxr-xr-x  2 root root 4096 Mar 12 15:08 scripts
drwxr-xr-x  4 root root 4096 Mar 12 15:10 trucking-commons
drwxr-xr-x 14 root root 4096 Mar 12 15:08 trucking-iot-helper
drwxr-xr-x  6 root root 4096 Mar 12 15:10 trucking-storm-topology
[root@sandbox-hdf trucking-iot-demo-2]# cd trucking-storm-topology/target/                                                                                          
[root@sandbox-hdf target]# ll                                                                                                                                       
total 12                                                                                                                                                            
drwxr-xr-x 4 root root 4096 Mar 12 15:11 resolution-cache
drwxr-xr-x 3 root root 4096 Mar 12 15:11 scala-2.11
drwxr-xr-x 6 root root 4096 Mar 12 15:10 streams

@Brendan Lyon Heya - could you fire off the build-topology.sh script before the deploy script? ./scripts/build-topology.sh

That should be part of the instructions. If they're not, I'll get that patched up!

[There's also a nice little update to this tutorial coming in the next few days ;)]

New Contributor

@Edgar Orendain It doesn't appear to be part of the instructions. I ran the build-topology.sh which resulted in:

[info] Assembly up to date: /root/trucking-iot-demo-2/trucking-storm-topology/target/scala-2.11/trucking-storm-topology-assembly-0.3.2.jar                          
[success] Total time: 1 s, completed Mar 13, 2018 8:35:49 PM

However, it still fails when executing deploy-topology.sh

Exception in thread "main" java.io.FileNotFoundException: /root/trucking-iot-demo-2/trucking-storm-topology/target/trucking-storm-topology-0.3.2.jar (No such file or directory)                                                                                                  

There appears either to be a file missing or a build mismatch issue...

@Brendan Lyon Grr, that's the wrong path - how'd that happen. I'll get that patched up now. In the meantime. If you can change the contents of deploy-topology.sh from

"...trucking-storm-topology/target/trucking-storm-topology-0.3..."

to

"trucking-storm-topology/target/scala-2.11/trucking-storm-topology-0.3..."

That should do the trick.

New Contributor

@Edgar Orendain - Are you actively updating this? I did a git pull and saw a lot of changes - setup.sh is no longer there. New scripts - deploy-prebuilt-topology (success), rebuild-and-deploy-topology (fails). New instructions coming?