ECE 4813 cloud computing project for bitcoin price analysis and prediction.
-
Clone this repository to a machine with Storm server already installed and running.
-
cd storm-serverto switch to the storm-server directory. -
make initto install the necessary python libraries and create aconfig.json. -
Create the following tables in DynamoDB:
Table Name Partition Key Sort Key bitcoin_analysis date (String) timestamp (String) bitcoin_price timestamp (String) bitcoin_price_prediction timestamp (String) tweet_sentiment date (String) timestamp (String) news_sentiment date (String) timestamp (String) reddit_sentiment date (String) title (String) -
Fill in the
config.jsonwith appropriate data. This contains configuration information for the following:- Twitter API Keys
- AWS DynamoDB Access Keys
- Kafka Queue Names
- Reddit API Keys
- Google News API Key
-
make buildto build the Storm*.jarfile to run. -
make deployto deploy the build to Storm (this will automatically kill an existing deployment before deploying a new one) -
make listento start the listeners that will feed data into the Kafka queues.
Logs are extremely useful when Storm does not work as expected. They can be found in the following directory:
/var/log/storm/workers-artifacts/{topology_name}/{worker_id}/worker.log
topology_name and worker_id depends on the particular instance of the Storm server.
in /frondend/ folder :
- use
make webto copy config file to current dir and start the web server. the default host is the public ip of ec2 instance
host and port can be tweaked.
default is "0,0,0,0" with port 80
