presentation_May3

advertisement
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
Download