Youngil Kim
Awalin Sopan
Sonia Ng Zeng
Introduction
Concept of the Project
System architecture
Implementation – HDFS
Implementation – System Analysis
◦ System Information Logger (SIL)
◦ System Information Gatherer (SIG)
◦ Map/Reduce
Implementation – Visualization
Implementation – P2P Application
Demo
How can we know system information from
many nodes?
◦ It is hard to track which node has a problem when
too many nodes exist
But… HDFS and Map/Reduce make it easy!
◦ Gather system information of each node to HDFS
◦ Analyze system information using Map/Reduce
◦ A kind of network managing system like HP’s Open
View
Tool to have an overview of the nodes in the P2P
◦ Still preserving the de-centralized nature of P2P
◦ Can be run on any computer – from within the P2P or
outside of it. So, the computer running the tool is not
necessarily the “master”
◦ If the tool is not running, the P2P still remains intact
Still, one can control the P2P from the tool
The tool will provide an interface to do both:
overview and control
◦ Therefore, the user does not need to be an expert to
work with a network system
P2P app.
p2p
Local
P2P app.
p2p
Local
P2P
Network
P2P app.
p2p
Local
P2P app.
p2p
Local
P2P app.
Sys Info
Logger
p2p
Local
Sys Info
Logger
P2P app.
p2p
Local
Hadoop
Slave
Node
System
Info Gatherer
Hadoop
Slave
P2P
Network
(Hadoop Master)
HDFS
Sys Info
Logger
P2P app.
p2p
Local
Hadoop
Slave
Sys Info
Logger
P2P app.
p2p
Local
Hadoop
Slave
P2P app.
Sys Info
Logger
p2p
Local
Sys Info
Logger
P2P app.
p2p
Local
System
Information
Hadoop
Slave
Node
System
Info Gatherer
Hadoop
Slave
P2P
Network
(Hadoop Master)
HDFS
System
Control
Network
Sys Info
Logger
P2P app.
p2p
Local
Hadoop
Slave
Sys Info
Logger
P2P app.
p2p
Local
Hadoop
Slave
System
Manager
(Visualization)
Implemented minimal P2P to show how our
tool works
◦ How to control application or system on each node
using visualization
◦ Has STOP/RESUME operations
Functions
◦ Response to “QUERY” Show active/inactive
(overview)
◦ Response to “CONTROL” Change node status
based on control
argument
(active/inactive)
Hadoop for DFS & Map/Reduce Framework
◦ We use bug cluster
◦ Master: brood00
◦ Slaves: Currently tested with 5 nodes
(bug51 ~ bug55)
◦ Using each local storage
Using “/tmp” directory because home directory is not a
local storage but NFS volume.
◦ Network Ports:
hdfs(9000), job tracker(9001),
Namenode Interface (50070), JobTracker Interface (50030)
mr_syslog.py
Information of each node is saved with the following
format
◦
◦
◦
◦
Implemented in Python
Saves information in both local storage and HDFS
Gathers information every 10 secs
Creates logfile based on time
◦
◦
◦
◦
◦
◦
◦
< 20110501_2252_bug51.log >
bug51 1304304720: mem(75.50), cpu(1.00), disk(10.00)
bug51 1304304724: mem(75.50), cpu(1.50), disk(10.00)
bug51 1304304727: mem(75.51), cpu(0.40), disk(10.00)
bug51 1304304729: mem(75.51), cpu(0.50), disk(10.00)
bug51 1304304732: mem(75.50), cpu(0.50), disk(10.00)
bug51 1304304734: mem(75.50), cpu(0.40), disk(10.00)
Functions
◦ Find current resource usage of each node at current time
using Map/Reduce
Currently, it shows maximum values per minute time slot
◦ Communication Gateway between nodes and
visualization tool
Send “QUERY” to each P2P application to check on the status
of each node
Send node status to visualization tool
Node ID
Status (in/active)
CPU Usage
Memory Usage
Disk Storage
Map:
◦ Input – each node log file
Key: position of file
Value: raw data, one line per key
◦ Output
Key: node ID
Value: set of system information
(CPU/memory/storage usage)
Eg: < bug51, [30.0, 29.0, 12.0] >
Reduce:
◦ Input – from Map
Key: node ID
Value: set of set of system information
Eg: < bug51, [ [30.0, 29.0, 12.0], [33.0, 40.0, 9.0], … ] >
◦ Output
Key: Node ID
Value: Maximum values for each piece of information
Eg: < bug51, [33.0, 40.0, 12.0] >
Written in Java
Used Prefuse toolkit for a tabular
visualization for the node status
Only need to use the right-click menu to
control the node
Live communication with the nodes
◦ To query the node status from the SIG
◦ To send commands to the nodes in the P2P network
in real-time
Initial view of all nodes
After stopping Bug53
System set-up and initialization (video file)
Show namenode & jobtracker interface
Show Map/Reduce jobs
Show Visualization tool
◦ Changes of each status
◦ Control each P2P application