-
For Windows / Mac
Download and install the latest LTS version of NodeJS
-
For Linux
sudo apt-get install curl software-properties-common curl -sL https://deb.nodesource.com/setup_12.x | sudo bash - sudo apt-get install nodejs
Clone this repo then do the following:
cd OrleansExp/AmberOrleansPrototype/texera/core/new-gui
npm install
npm run build
- Install dotnet-sdk 3.0
- Install MySQL and login as admin. Using the following command to create a user with username "orleansbackend" and password "orleans-0519-2019" (this can be changed at Constants.cs)
CREATE USER 'orleansbackend'@'%' IDENTIFIED BY 'orleans-0519-2019';
- Create a mysql database called 'amberorleans' and grant all privileges by using the following commands.
CREATE DATABASE amberorleans;
GRANT ALL PRIVILEGES ON amberorleans. * TO 'orleansbackend'@'%';
FLUSH PRIVILEGES;
USE amberorleans;
- Run the scripts MySQL-Main.sql, MySQL-Clustering.sql to create the necessary tables and insert entries in the database.
Open terminal and enter:
cd OrleansExp/AmberOrleansPrototype/SiloHost
dotnet run -c Release
Open another terminal and enter:
cd OrleansExp/AmberOrleansPrototype/webapi-project
dotnet run
This is a step-by-step guide for creating and runnning Workflow TPC-H W1 in Amber paper.
Download 1G TPC-H sample dataset to your local machine.
Go to http://localhost:7070
, you can see a web GUI for Amber:
Drag Source -> Scan operator from left panel and drop it on the canvas:
Then, drag and drop Utilities -> Comparison, LocalGroupBy, GlobalGroupBy and Sort -> Sort respectively. They will automatically be linked with the previous operator. Your workflow should look like this:
You can specifiy properties for each operator on the right panel. Each operator should have the following properties:
Scan:
Comparison:
LocalGroupBy:
GlobalGroupBy:
Sort:
Click the "Run" button in upper-right corner to run the workflow. After completion, the following result will pop up from the bottom:
on one cluster machine (name it A) which installed MySql Server and do the following change at Constants.cs:
public static string ClientIPAddress = <Current Machine's IP address>;
...
public volatile static int DefaultNumGrainsInOneLayer = <# of Machines in the cluster - 1>;
Open terminal and enter on all other machines in the cluster:
cd OrleansExp/AmberOrleansPrototype/SiloHost
dotnet run -c Release
Open terminal and enter on machine A:
cd OrleansExp/AmberOrleansPrototype/webapi-project
dotnet run