http://git-wip-us.apache.org/repos/asf/eagle/blob/d6fed677/eagle-site/_site/js/jquery.singlePageNav.js
----------------------------------------------------------------------
diff --git a/eagle-site/_site/js/jquery.singlePageNav.js 
b/eagle-site/_site/js/jquery.singlePageNav.js
deleted file mode 100755
index f779ad0..0000000
--- a/eagle-site/_site/js/jquery.singlePageNav.js
+++ /dev/null
@@ -1,183 +0,0 @@
-/**
- * Single Page Nav Plugin
- * Copyright (c) 2013 Chris Wojcik <[email protected]>
- * Dual licensed under MIT and GPL.
- * @author Chris Wojcik
- * @version 1.1.0
- */
-
-// Utility
-if (typeof Object.create !== 'function') {
-    Object.create = function(obj) {
-        function F() {}
-        F.prototype = obj;
-        return new F();
-    };
-}
-
-(function($, window, document, undefined) {
-    "use strict";
-    
-    var SinglePageNav = {
-        
-        init: function(options, container) {
-            
-            this.options = $.extend({}, $.fn.singlePageNav.defaults, options);
-            
-            this.container = container;            
-            this.$container = $(container);
-            this.$links = this.$container.find('a');
-
-            if (this.options.filter !== '') {
-                this.$links = this.$links.filter(this.options.filter);
-            }
-
-            this.$window = $(window);
-            this.$htmlbody = $('html, body');
-            
-            this.$links.on('click.singlePageNav', $.proxy(this.handleClick, 
this));
-
-            this.didScroll = false;
-            this.checkPosition();
-            this.setTimer();
-        },
-
-        handleClick: function(e) {
-            var self  = this,
-                link  = e.currentTarget,
-                $elem = $(link.hash);  
-
-            e.preventDefault();             
-
-            if ($elem.length) { // Make sure the target elem exists
-
-                
-                // Prevent active link from cycling during the scroll
-                self.clearTimer();
-
-                // Before scrolling starts
-                if (typeof self.options.beforeStart === 'function') {
-                    self.options.beforeStart();
-                }
-
-                self.setActiveLink(link.hash);
-                
-                self.scrollTo($elem, function() { 
-                 
-                    if (self.options.updateHash) {
-                        document.location.hash = link.hash;
-                    }
-
-                    self.setTimer();
-
-                    // After scrolling ends
-                    if (typeof self.options.onComplete === 'function') {
-                        self.options.onComplete();
-                    }
-                });                            
-            }     
-        },
-        
-        scrollTo: function($elem, callback) {
-            var self = this;
-            var target = self.getCoords($elem).top;
-            var called = false;
-
-            self.$htmlbody.stop().animate(
-                {scrollTop: target}, 
-                { 
-                    duration: self.options.speed,
-                    easing: self.options.easing, 
-                    complete: function() {
-                        if (typeof callback === 'function' && !called) {
-                            callback();
-                        }
-                        called = true;
-                    }
-                }
-            );
-        },
-        
-        setTimer: function() {
-            var self = this;
-            
-            self.$window.on('scroll.singlePageNav', function() {
-                self.didScroll = true;
-            });
-            
-            self.timer = setInterval(function() {
-                if (self.didScroll) {
-                    self.didScroll = false;
-                    self.checkPosition();
-                }
-            }, 250);
-        },        
-        
-        clearTimer: function() {
-            clearInterval(this.timer);
-            this.$window.off('scroll.singlePageNav');
-            this.didScroll = false;
-        },
-        
-        // Check the scroll position and set the active section
-        checkPosition: function() {
-            var scrollPos = this.$window.scrollTop();
-            var currentSection = this.getCurrentSection(scrollPos);
-            this.setActiveLink(currentSection);
-        },        
-        
-        getCoords: function($elem) {
-            return {
-                top: Math.round($elem.offset().top) - this.options.offset
-            };
-        },
-        
-        setActiveLink: function(href) {
-            var $activeLink = this.$container.find("a[href='" + href + "']");
-                            
-            if (!$activeLink.hasClass(this.options.currentClass)) {
-                this.$links.removeClass(this.options.currentClass);
-                $activeLink.addClass(this.options.currentClass);
-            }
-        },        
-        
-        getCurrentSection: function(scrollPos) {
-            var i, hash, coords, section;
-            
-            for (i = 0; i < this.$links.length; i++) {
-                hash = this.$links[i].hash;
-                
-                if ($(hash).length) {
-                    coords = this.getCoords($(hash));
-                    
-                    if (scrollPos >= coords.top - this.options.threshold) {
-                        section = hash;
-                    }
-                }
-            }
-            
-            // The current section or the first link
-            return section || this.$links[0].hash;
-        }
-    };
-    
-    $.fn.singlePageNav = function(options) {
-        return this.each(function() {
-            var singlePageNav = Object.create(SinglePageNav);
-            singlePageNav.init(options, this);
-        });
-    };
-    
-    $.fn.singlePageNav.defaults = {
-        offset: 0,
-        threshold: 120,
-        speed: 400,
-        currentClass: 'current',
-        easing: 'swing',
-        updateHash: false,
-        filter: '',
-        onComplete: false,
-        beforeStart: false
-    };
-    
-})(jQuery, window, document);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/eagle/blob/d6fed677/eagle-site/_site/js/modernizr.min.js
----------------------------------------------------------------------
diff --git a/eagle-site/_site/js/modernizr.min.js 
b/eagle-site/_site/js/modernizr.min.js
deleted file mode 100755
index f54037e..0000000
--- a/eagle-site/_site/js/modernizr.min.js
+++ /dev/null
@@ -1 +0,0 @@
-window.Modernizr=function(e,t,n){function r(e,t){var 
n=e.charAt(0).toUpperCase()+e.substr(1),r=(e+" "+C.join(n+" ")+n).split(" 
");return o(r,t)}function o(e,t){for(var r in 
e)if(v[e[r]]!==n)return"pfx"==t?e[r]:!0;return!1}function 
i(e,t){return!!~(""+e).indexOf(t)}function a(e,t){return typeof e===t}function 
s(e,t){return c(x.join(e+";")+(t||""))}function c(e){v.cssText=e}var 
l,u,f,d="2.0.6",p={},m=!0,h=t.documentElement,g=(t.head||t.getElementsByTagName("head")[0],"modernizr"),y=t.createElement(g),v=y.style,b=":)",x=(Object.prototype.toString,"
 -webkit- -moz- -o- -ms- -khtml- ".split(" ")),C="Webkit Moz O ms 
Khtml".split(" "),E={},S=[],T=function(e,n,r,o){var 
i,a,s,c=t.createElement("div");if(parseInt(r,10))for(;r--;)s=t.createElement("div"),s.id=o?o[r]:g+(r+1),c.appendChild(s);return
 
i=["&shy;","<style>",e,"</style>"].join(""),c.id=g,c.innerHTML+=i,h.appendChild(c),a=n(c,e),c.parentNode.removeChild(c),!!a},w={}.hasOwnProperty;f=a(w,n)||a(w.call,n)?function(e,t){return
 t in e&&a(e.
 constructor.prototype[t],n)}:function(e,t){return 
w.call(e,t)};!function(e,n){var 
r=e.join(""),o=n.length;T(r,function(e,n){for(var 
r=t.styleSheets[t.styleSheets.length-1],i=r.cssRules&&r.cssRules[0]?r.cssRules[0].cssText:r.cssText||"",a=e.childNodes,s={};o--;)s[a[o].id]=a[o];p.csstransforms3d=9===s.csstransforms3d.offsetLeft,p.generatedcontent=s.generatedcontent.offsetHeight>=1,p.fontface=/src/i.test(i)&&0===i.indexOf(n.split("
 ")[0])},o,n)}(['@font-face {font-family:"font";src:url("https://";)}',["@media 
(",x.join("transform-3d),("),g,")","{#csstransforms3d{left:9px;position:absolute}}"].join(""),['#generatedcontent:after{content:"',b,'";visibility:hidden}'].join("")],["fontface","csstransforms3d","generatedcontent"]);E.flexbox=function(){function
 e(e,t,n,r){e.style.cssText=x.join(t+":"+n+";")+(r||"")}function 
n(e,t,n,r){t+=":",e.style.cssText=(t+x.join(n+";"+t)).slice(0,-t.length)+(r||"")}var
 
r=t.createElement("div"),o=t.createElement("div");n(r,"display","box","width:42px;padding
 :0;"),e(o,"box-flex","1","width:10px;"),r.appendChild(o),h.appendChild(r);var 
i=42===o.offsetWidth;return 
r.removeChild(o),h.removeChild(r),i},E.rgba=function(){return 
c("background-color:rgba(150,255,150,.5)"),i(v.backgroundColor,"rgba")},E.hsla=function(){return
 
c("background-color:hsla(120,40%,100%,.5)"),i(v.backgroundColor,"rgba")||i(v.backgroundColor,"hsla")},E.multiplebgs=function(){return
 c("background:url(https://),url(https://),red 
url(https://)"),/(url\s*\(.*?){3}/.test(v.background)},E.backgroundsize=function(){return
 r("backgroundSize")},E.borderimage=function(){return 
r("borderImage")},E.borderradius=function(){return 
r("borderRadius")},E.boxshadow=function(){return 
r("boxShadow")},E.textshadow=function(){return""===t.createElement("div").style.textShadow},E.opacity=function(){return
 s("opacity:.55"),/^0.55$/.test(v.opacity)},E.cssanimations=function(){return 
r("animationName")},E.csscolumns=function(){return 
r("columnCount")},E.cssgradients=function(){var e="background
 -image:",t="gradient(linear,left top,right 
bottom,from(#9f9),to(white));",n="linear-gradient(left top,#9f9, 
white);";return 
c((e+x.join(t+e)+x.join(n+e)).slice(0,-e.length)),i(v.backgroundImage,"gradient")},E.cssreflections=function(){return
 
r("boxReflect")},E.csstransforms=function(){return!!o(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},E.csstransforms3d=function(){var
 
e=!!o(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);return
 e&&"webkitPerspective"in 
h.style&&(e=p.csstransforms3d),e},E.csstransitions=function(){return 
r("transitionProperty")},E.fontface=function(){return 
p.fontface},E.generatedcontent=function(){return p.generatedcontent};for(var j 
in E)f(E,j)&&(u=j.toLowerCase(),p[u]=E[j](),S.push((p[u]?"":"no-")+u));return 
c(""),y=l=null,e.attachEvent&&function(){var e=t.createElement("div");return 
e.innerHTML="<elem></elem>",1!==e.childNodes.length}()&&function(e,t){function 
r(e){for(var t=-1
 ;++t<c;)e.createElement(s[t])}e.iepp=e.iepp||{};var 
o,i=e.iepp,a=i.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",s=a.split("|"),c=s.length,l=new
 RegExp("(^|\\s)("+a+")","gi"),u=new 
RegExp("<(/*)("+a+")","gi"),f=/^\s*[\{\}]\s*$/,d=new 
RegExp("(^|[^\\n]*?\\s)("+a+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),p=t.createDocumentFragment(),m=t.documentElement,h=m.firstChild,g=t.createElement("body"),y=t.createElement("style"),v=/print|all/;i.getCSS=function(e,t){if(e+""===n)return"";for(var
 
r,o=-1,a=e.length,s=[];++o<a;)r=e[o],r.disabled||(t=r.media||t,v.test(t)&&s.push(i.getCSS(r.imports,t),r.cssText),t="all");return
 s.join("")},i.parseCSS=function(e){for(var 
t,n=[];null!=(t=d.exec(e));)n.push(((f.exec(t[1])?"\n":t[1])+t[2]+t[3]).replace(l,"$1.iepp_$2")+t[4]);return
 n.join("\n")},i.writeHTML=function(){var e=-1;for(o=o||t.body;++e<c;)for(var 
n=t.getElementsByTagName(s[e]),r=n.lengt
 h,i=-1;++i<r;)n[i].className.indexOf("iepp_")<0&&(n[i].className+=" 
iepp_"+s[e]);p.appendChild(o),m.appendChild(g),g.className=o.className,g.id=o.id,g.innerHTML=o.innerHTML.replace(u,"<$1font")},i._beforePrint=function(){y.styleSheet.cssText=i.parseCSS(i.getCSS(t.styleSheets,"all")),i.writeHTML()},i.restoreHTML=function(){g.innerHTML="",m.removeChild(g),m.appendChild(o)},i._afterPrint=function(){i.restoreHTML(),y.styleSheet.cssText=""},r(t),r(p),i.disablePP||(h.insertBefore(y,h.firstChild),y.media="print",y.className="iepp-printshim",e.attachEvent("onbeforeprint",i._beforePrint),e.attachEvent("onafterprint",i._afterPrint))}(e,t),p._version=d,p._prefixes=x,p._domPrefixes=C,p.testProp=function(e){return
 
o([e])},p.testAllProps=r,p.testStyles=T,h.className=h.className.replace(/\bno-js\b/,"")+(m?"
 js "+S.join(" "):""),p}(this,this.document),function(e,t,n){function 
r(e){return!e||"loaded"==e||"complete"==e}function o(){for(var 
e=1,t=-1;y.length-++t&&(!y[t].s||(e=y[t].r)););e&&s()}functio
 n i(e){var 
n,i=t.createElement("script");i.src=e.s,i.onreadystatechange=i.onload=function(){!n&&r(i.readyState)&&(n=1,o(),i.onload=i.onreadystatechange=null)},m(function(){n||(n=1,o())},d.errorTimeout),e.e?i.onload():h.parentNode.insertBefore(i,h)}function
 a(e){var 
n,r=t.createElement("link");if(r.href=e.s,r.rel="stylesheet",r.type="text/css",e.e||!S&&!b)r.onload=function(){n||(n=1,m(function(){o()},0))},e.e&&r.onload();else{var
 
i=function(e){m(function(){if(!n)try{e.sheet.cssRules.length?(n=1,o()):i(e)}catch(t){1e3==t.code||"security"==t.message||"denied"==t.message?(n=1,m(function(){o()},0)):i(e)}},0)};i(r)}m(function(){n||(n=1,o())},d.errorTimeout),!e.e&&h.parentNode.insertBefore(r,h)}function
 s(){var 
e=y.shift();v=1,e?e.t?m(function(){"c"==e.t?a(e):i(e)},0):(e(),o()):v=0}function
 c(e,n,i,a,c,l){function 
u(){!p&&r(f.readyState)&&(g.r=p=1,!v&&o(),f.onload=f.onreadystatechange=null,m(function(){C.removeChild(f)},0))}var
 f=t.createElement(e),p=0,g={t:i,s:n,e:l};f.src=f.data=n,!x&&(f
 
.style.display="none"),f.width=f.height="0","object"!=e&&(f.type=i),f.onload=f.onreadystatechange=u,"img"==e?f.onerror=u:"script"==e&&(f.onerror=function(){g.e=g.r=1,s()}),y.splice(a,0,g),C.insertBefore(f,x?null:h),m(function(){p||(C.removeChild(f),g.r=g.e=p=1,o())},d.errorTimeout)}function
 l(e,t,n){var r="c"==t?j:w;return 
v=0,t=t||"j",N(e)?c(r,e,t,this.i++,p,n):(y.splice(this.i++,0,e),1==y.length&&s()),this}function
 u(){var e=d;return e.loader={load:l,i:0},e}var 
f,d,p=t.documentElement,m=e.setTimeout,h=t.getElementsByTagName("script")[0],g={}.toString,y=[],v=0,b="MozAppearance"in
 
p.style,x=b&&!!t.createRange().compareNode,C=x?p:h.parentNode,E=e.opera&&"[object
 Opera]"==g.call(e.opera),S="webkitAppearance"in p.style,T=S&&"async"in 
t.createElement("script"),w=b?"object":E||T?"img":"script",j=S?"img":w,k=Array.isArray||function(e){return"[object
 Array]"==g.call(e)},P=function(e){return 
Object(e)===e},N=function(e){return"string"==typeof 
e},M=function(e){return"[object Function]"==g.ca
 ll(e)},L=[],O={};d=function(e){function t(e){var 
t,n,r=e.split("!"),o=L.length,i=r.pop(),a=r.length,s={url:i,origUrl:i,prefixes:r};for(n=0;a>n;n++)t=O[r[n]],t&&(s=t(s));for(n=0;o>n;n++)s=L[n](s);return
 s}function r(e,r,o,i,a){var 
s=t(e),c=s.autoCallback;if(!s.bypass){if(r&&(r=M(r)?r:r[e]||r[i]||r[e.split("/").pop().split("?")[0]]),s.instead)return
 
s.instead(e,r,o,i,a);o.load(s.url,s.forceCSS||!s.forceJS&&/css$/.test(s.url)?"c":n,s.noexec),(M(r)||M(c))&&o.load(function(){u(),r&&r(s.origUrl,a,i),c&&c(s.origUrl,a,i)})}}function
 o(e,t){function n(e){if(N(e))r(e,c,t,0,i);else if(P(e))for(o in 
e)e.hasOwnProperty(o)&&r(e[o],c,t,o,i)}var 
o,i=!!e.test,a=i?e.yep:e.nope,s=e.load||e.both,c=e.callback;n(a),n(s),e.complete&&t.load(e.complete)}var
 i,a,s=this.yepnope.loader;if(N(e))r(e,0,s,0);else 
if(k(e))for(i=0;i<e.length;i++)a=e[i],N(a)?r(a,0,s,0):k(a)?d(a):P(a)&&o(a,s);else
 
P(e)&&o(e,s)},d.addPrefix=function(e,t){O[e]=t},d.addFilter=function(e){L.push(e)},d.errorTimeout=1e4,null==t.readyState&&
 
t.addEventListener&&(t.readyState="loading",t.addEventListener("DOMContentLoaded",f=function(){t.removeEventListener("DOMContentLoaded",f,0),t.readyState="complete"},0)),e.yepnope=u()}(this,this.document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/eagle/blob/d6fed677/eagle-site/_site/js/responsiveCarousel.min.js
----------------------------------------------------------------------
diff --git a/eagle-site/_site/js/responsiveCarousel.min.js 
b/eagle-site/_site/js/responsiveCarousel.min.js
deleted file mode 100755
index e42631b..0000000
--- a/eagle-site/_site/js/responsiveCarousel.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*! responsiveCarousel.JS - v1.2.0
- * http://basilio.github.com/responsiveCarousel
- *
- * Copyright (c) 2013 Basilio C�ceres <[email protected]>;
- * Licensed under the MIT license */
-
-(function(e){"use strict";e.fn.carousel=function(t){var 
n,r;n={infinite:true,visible:1,speed:"fast",overflow:false,autoRotate:false,navigation:e(this).data("navigation"),itemMinWidth:0,itemEqualHeight:false,itemMargin:0,itemClassActive:"crsl-active",imageWideClass:"wide-image",carousel:true};return
 
e(this).each(function(){r=e(this);if(e.isEmptyObject(t)===false)e.extend(n,t);if(e.isEmptyObject(e(r).data("crsl"))===false)e.extend(n,e(r).data("crsl"));n.isTouch="ontouchstart"in
 
document.documentElement||navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera
 
Mini|IEMobile/i)?true:false;r.init=function(){n.total=e(r).find(".crsl-item").length;n.itemWidth=e(r).outerWidth();n.visibleDefault=n.visible;n.swipeDistance=null;n.swipeMinDistance=100;n.startCoords={};n.endCoords={};e(r).css({width:"100%"});e(r).find(".crsl-item").css({position:"relative","float":"left",overflow:"hidden",height:"auto"});e(r).find("."+n.imageWideClass).each(function(){e(this).css({display:"block",wid
 th:"100%",height:"auto"})});e(r).find(".crsl-item 
iframe").attr({width:"100%"});if(n.carousel)e(r).find(".crsl-item:first-child").addClass(n.itemClassActive);if(n.carousel&&n.infinite&&n.visible<n.total)e(r).find(".crsl-item:first-child").before(e(".crsl-item:last-child",r));if(n.overflow===false){e(r).css({overflow:"hidden"})}else{e("html,
 
body").css({"overflow-x":"hidden"})}e(r).trigger("initCarousel",[n,r]);r.testPreload();r.config();r.initRotate();r.triggerNavs()};r.testPreload=function(){if(e(r).find("img").length>0){var
 
t=e(r).find("img").length,i=1;e(r).find("img").each(function(){r.preloadImage(this,i,t);i++})}else{e(r).trigger("loadedCarousel",[n,r])}};r.preloadImage=function(t,i,s){var
 o=new 
Image,u={};u.src=e(t).attr("src")!==undefined?t.src:"";u.alt=e(t).attr("alt")!==undefined?t.alt:"";e(o).attr(u);e(o).on("load",function(){if(i===1)e(r).trigger("loadingImagesCarousel",[n,r]);if(i===s)e(r).trigger("loadedImagesCarousel",[n,r])})};r.config=function(){n.itemWidth=Math.flo
 
or((e(r).outerWidth()-n.itemMargin*(n.visibleDefault-1))/n.visibleDefault);if(n.itemWidth<=n.itemMinWidth){n.visible=Math.floor((e(r).outerWidth()-n.itemMargin*(n.visible-1))/n.itemMinWidth)===1?Math.floor(e(r).outerWidth()/n.itemMinWidth):Math.floor((e(r).outerWidth()-n.itemMargin)/n.itemMinWidth);n.visible=n.visible<1?1:n.visible;n.itemWidth=n.visible===1?Math.floor(e(r).outerWidth()):Math.floor((e(r).outerWidth()-n.itemMargin*(n.visible-1))/n.visible)}else{n.visible=n.visibleDefault}if(n.carousel){r.wrapWidth=Math.floor((n.itemWidth+n.itemMargin)*n.total);r.wrapMargin=r.wrapMarginDefault=n.infinite&&n.visible<n.total?parseInt((n.itemWidth+n.itemMargin)*-1,10):0;if(n.infinite&&n.visible<n.total&&e(r).find(".crsl-item."+n.itemClassActive).index()===0){e(r).find(".crsl-item:first-child").before(e(".crsl-item:last-child",r));r.wrapMargin=r.wrapMarginDefault=parseInt((n.itemWidth+n.itemMargin)*-1,10)}e(r).find(".crsl-wrap").css({width:r.wrapWidth+"px",marginLeft:r.wrapMargin})}else{r.
 
wrapWidth=e(r).outerWidth();e(r).find(".crsl-wrap").css({width:r.wrapWidth+n.itemMargin+"px"});e("#"+n.navigation).hide()}e(r).find(".crsl-item").css({width:n.itemWidth+"px",marginRight:n.itemMargin+"px"});r.equalHeights();if(n.carousel){if(n.visible>=n.total){n.autoRotate=false;e("#"+n.navigation).hide()}else{e("#"+n.navigation).show()}}};r.equalHeights=function(){if(n.itemEqualHeight!==false){var
 
t=0;e(r).find(".crsl-item").each(function(){e(this).css({height:"auto"});if(e(this).outerHeight()>t){t=e(this).outerHeight()}});e(r).find(".crsl-item").css({height:t+"px"})}return
 
true};r.initRotate=function(){if(n.autoRotate!==false){r.rotateTime=window.setInterval(function(){r.rotate()},n.autoRotate)}};r.triggerNavs=function(){e("#"+n.navigation).delegate(".previous,
 
.next","click",function(t){t.preventDefault();r.prepareExecute();if(e(this).hasClass("previous")&&r.testPrevious(r.itemActive)){r.previous()}else
 if(e(this).hasClass("next")&&r.testNext()){r.next()}else{return}})};r.prepare
 
Execute=function(){if(n.autoRotate){clearInterval(r.rotateTime)}r.preventAnimateEvent();r.itemActive=e(r).find(".crsl-item."+n.itemClassActive);return
 
true};r.preventAnimateEvent=function(){if(e(r).find(".crsl-wrap:animated").length>0){return
 
false}};r.rotate=function(){r.preventAnimateEvent();r.itemActive=e(r).find(".crsl-item."+n.itemClassActive);r.next();return
 true};r.testPrevious=function(t){return 
e(".crsl-wrap",r).find(".crsl-item").index(t)>0};r.testNext=function(){return!n.infinite&&r.wrapWidth>=(n.itemWidth+n.itemMargin)*(n.visible+1)-r.wrapMargin||n.infinite};r.previous=function(){r.wrapMargin=n.infinite?r.wrapMarginDefault+e(r.itemActive).outerWidth(true):r.wrapMargin+e(r.itemActive).outerWidth(true);var
 t=e(r.itemActive).index();var i=e(r.itemActive).prev(".crsl-item");var 
s="previous";e(r).trigger("beginCarousel",[n,r,s]);e(r).find(".crsl-wrap").animate({marginLeft:r.wrapMargin+"px"},n.speed,function(){e(r.itemActive).removeClass(n.itemClassActive);e(i).addClass(n.item
 
ClassActive);if(n.infinite){e(this).css({marginLeft:r.wrapMarginDefault}).find(".crsl-item:first-child").before(e(".crsl-item:last-child",r))}else{if(r.testPrevious(i)===false)e("#"+n.navigation).find(".previous").addClass("previous-inactive");if(r.testNext())e("#"+n.navigation).find(".next").removeClass("next-inactive")}e(this).trigger("endCarousel",[n,r,s])})};r.next=function(){r.wrapMargin=n.infinite?r.wrapMarginDefault-e(r.itemActive).outerWidth(true):r.wrapMargin-e(r.itemActive).outerWidth(true);var
 t=e(r.itemActive).index();var i=e(r.itemActive).next(".crsl-item");var 
s="next";e(r).trigger("beginCarousel",[n,r,s]);e(r).find(".crsl-wrap").animate({marginLeft:r.wrapMargin+"px"},n.speed,function(){e(r.itemActive).removeClass(n.itemClassActive);e(i).addClass(n.itemClassActive);if(n.infinite){e(this).css({marginLeft:r.wrapMarginDefault}).find(".crsl-item:last-child").after(e(".crsl-item:first-child",r))}else{if(r.testPrevious(i))e("#"+n.navigation).find(".previous").removeClass("pr
 
evious-inactive");if(r.testNext()===false)e("#"+n.navigation).find(".next").addClass("next-inactive")}e(this).trigger("endCarousel",[n,r,s])})};var
 i=false,s;e(window).on("mouseleave",function(t){if(t.target)s=t.target;else 
if(t.srcElement)s=t.srcElement;if(e(r).attr("id")&&e(s).parents(".crsl-items").attr("id")===e(r).attr("id")||e(s).parents(".crsl-items").data("navigation")===e(r).data("navigation")){i=true}else{i=false}return
 
false});e(window).on("keydown",function(e){if(i===true){if(e.keyCode===37){r.prepareExecute();r.previous()}else
 
if(e.keyCode===39){r.prepareExecute();r.next()}}return});if(n.isTouch){e(r).on("touchstart",function(t){e(r).addClass("touching");n.startCoords=t.originalEvent.targetTouches[0];n.endCoords=t.originalEvent.targetTouches[0];e(".touching").on("touchmove",function(e){n.endCoords=e.originalEvent.targetTouches[0];if(Math.abs(parseInt(n.endCoords.pageX-n.startCoords.pageX,10))>Math.abs(parseInt(n.endCoords.pageY-n.startCoords.pageY,10))){e.preventDefault
 
();e.stopPropagation()}})}).on("touchend",function(t){t.preventDefault();t.stopPropagation();n.swipeDistance=n.endCoords.pageX-n.startCoords.pageX;if(n.swipeDistance>=n.swipeMinDistance){r.previous()}else
 
if(n.swipeDistance<=-n.swipeMinDistance){r.next()}e(".touching").off("touchmove").removeClass("touching")})}e(r).on("loadedCarousel
 
loadedImagesCarousel",function(){r.equalHeights()});e(window).on("carouselResizeEnd",function(){if(n.itemWidth!==e(r).outerWidth())r.config()});e(window).ready(function(){e(r).trigger("prepareCarousel",[n,r]);r.init();e(window).on("resize",function(){if(this.carouselResizeTo)clearTimeout(this.carouselResizeTo);this.carouselResizeTo=setTimeout(function(){e(this).trigger("carouselResizeEnd")},10)})});e(window).load(function(){r.testPreload();r.config()})})}})(jQuery)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/eagle/blob/d6fed677/eagle-site/_site/js/svg.js
----------------------------------------------------------------------
diff --git a/eagle-site/_site/js/svg.js b/eagle-site/_site/js/svg.js
deleted file mode 100755
index 939f301..0000000
--- a/eagle-site/_site/js/svg.js
+++ /dev/null
@@ -1,24 +0,0 @@
-!function(a){function b(b,d){function e(){if(w){$canvas=a('<canvas 
class="pg-canvas"></canvas>'),v.prepend($canvas),p=$canvas[0],q=p.getContext("2d"),f();for(var
 b=Math.round(p.width*p.height/d.density),c=0;b>c;c++){var e=new 
l;e.setStackPos(c),x.push(e)}a(window).on("resize",function(){h()}),a(document).on("mousemove",function(a){y=a.pageX,z=a.pageY}),B&&!A&&window.addEventListener("deviceorientation",function(){D=Math.min(Math.max(-event.beta,-30),30),C=Math.min(Math.max(-event.gamma,-30),30)},!0),g(),o("onInit")}}function
 
f(){p.width=v.width(),p.height=v.height(),q.fillStyle=d.dotColor,q.strokeStyle=d.lineColor,q.lineWidth=d.lineWidth}function
 
g(){if(w){s=a(window).width(),t=a(window).height(),q.clearRect(0,0,p.width,p.height);for(var
 b=0;b<x.length;b++)x[b].updatePosition();for(var 
b=0;b<x.length;b++)x[b].draw();E||(r=requestAnimationFrame(g))}}function 
h(){for(f(),i=x.length-1;i>=0;i--)(x[i].position.x>v.width()||x[i].position.y>v.height())&&x.splice(i,1);var
 a=Math.round(p.wid
 th*p.height/d.density);if(a>x.length)for(;a>x.length;){var b=new 
l;x.push(b)}else 
a<x.length&&x.splice(a);for(i=x.length-1;i>=0;i--)x[i].setStackPos(i)}function 
j(){E=!0}function k(){E=!1,g()}function 
l(){switch(this.stackPos,this.active=!0,this.layer=Math.ceil(3*Math.random()),this.parallaxOffsetX=0,this.parallaxOffsetY=0,this.position={x:Math.ceil(Math.random()*p.width),y:Math.ceil(Math.random()*p.height)},this.speed={},d.directionX){case"left":this.speed.x=+(-d.maxSpeedX+Math.random()*d.maxSpeedX-d.minSpeedX).toFixed(2);break;case"right":this.speed.x=+(Math.random()*d.maxSpeedX+d.minSpeedX).toFixed(2);break;default:this.speed.x=+(-d.maxSpeedX/2+Math.random()*d.maxSpeedX).toFixed(2),this.speed.x+=this.speed.x>0?d.minSpeedX:-d.minSpeedX}switch(d.directionY){case"up":this.speed.y=+(-d.maxSpeedY+Math.random()*d.maxSpeedY-d.minSpeedY).toFixed(2);break;case"down":this.speed.y=+(Math.random()*d.maxSpeedY+d.minSpeedY).toFixed(2);break;default:this.speed.y=+(-d.maxSpeedY/2+Math.random()*d
 
.maxSpeedY).toFixed(2),this.speed.x+=this.speed.y>0?d.minSpeedY:-d.minSpeedY}}function
 m(a,b){return b?void(d[a]=b):d[a]}function 
n(){v.find(".pg-canvas").remove(),o("onDestroy"),v.removeData("plugin_"+c)}function
 o(a){void 0!==d[a]&&d[a].call(u)}var 
p,q,r,s,t,u=b,v=a(b),w=!!document.createElement("canvas").getContext,x=[],y=0,z=0,A=!navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera
 mini|nexus 7)/i),B=!!window.DeviceOrientationEvent,C=0,D=0,E=!1;return 
d=a.extend({},a.fn[c].defaults,d),l.prototype.draw=function(){q.beginPath(),q.arc(this.position.x+this.parallaxOffsetX,this.position.y+this.parallaxOffsetY,d.particleRadius/2,0,2*Math.PI,!0),q.closePath(),q.fill(),q.beginPath();for(var
 a=x.length-1;a>this.stackPos;a--){var 
b=x[a],c=this.position.x-b.position.x,e=this.position.y-b.position.y,f=Math.sqrt(c*c+e*e).toFixed(2);f<d.proximity&&(q.moveTo(this.position.x+this.parallaxOffsetX,this.position.y+this.parallaxOffsetY),d.curvedLines?q.quadraticCur
 
veTo(Math.max(b.position.x,b.position.x),Math.min(b.position.y,b.position.y),b.position.x+b.parallaxOffsetX,b.position.y+b.parallaxOffsetY):q.lineTo(b.position.x+b.parallaxOffsetX,b.position.y+b.parallaxOffsetY))}q.stroke(),q.closePath()},l.prototype.updatePosition=function(){if(d.parallax){if(B&&!A){var
 a=(s-0)/60;pointerX=(C- -30)*a+0;var b=(t-0)/60;pointerY=(D- -30)*b+0}else 
pointerX=y,pointerY=z;this.parallaxTargX=(pointerX-s/2)/(d.parallaxMultiplier*this.layer),this.parallaxOffsetX+=(this.parallaxTargX-this.parallaxOffsetX)/10,this.parallaxTargY=(pointerY-t/2)/(d.parallaxMultiplier*this.layer),this.parallaxOffsetY+=(this.parallaxTargY-this.parallaxOffsetY)/10}switch(d.directionX){case"left":this.position.x+this.speed.x+this.parallaxOffsetX<0&&(this.position.x=v.width()-this.parallaxOffsetX);break;case"right":this.position.x+this.speed.x+this.parallaxOffsetX>v.width()&&(this.position.x=0-this.parallaxOffsetX);break;default:(this.position.x+this.speed.x+this.parallaxOffsetX>v.wid
 
th()||this.position.x+this.speed.x+this.parallaxOffsetX<0)&&(this.speed.x=-this.speed.x)}switch(d.directionY){case"up":this.position.y+this.speed.y+this.parallaxOffsetY<0&&(this.position.y=v.height()-this.parallaxOffsetY);break;case"down":this.position.y+this.speed.y+this.parallaxOffsetY>v.height()&&(this.position.y=0-this.parallaxOffsetY);break;default:(this.position.y+this.speed.y+this.parallaxOffsetY>v.height()||this.position.y+this.speed.y+this.parallaxOffsetY<0)&&(this.speed.y=-this.speed.y)}this.position.x+=this.speed.x,this.position.y+=this.speed.y},l.prototype.setStackPos=function(a){this.stackPos=a},e(),{option:m,destroy:n,start:k,pause:j}}var
 c="particleground";a.fn[c]=function(d){if("string"==typeof arguments[0]){var 
e,f=arguments[0],g=Array.prototype.slice.call(arguments,1);return 
this.each(function(){a.data(this,"plugin_"+c)&&"function"==typeof 
a.data(this,"plugin_"+c)[f]&&(e=a.data(this,"plugin_"+c)[f].apply(this,g))}),void
 0!==e?e:this}return"object"!=typeof d&&d?void
  0:this.each(function(){a.data(this,"plugin_"+c)||a.data(this,"plugin_"+c,new 
b(this,d))})},a.fn[c].defaults={minSpeedX:.1,maxSpeedX:.7,minSpeedY:.1,maxSpeedY:.7,directionX:"center",directionY:"center",density:1e4,dotColor:"#666666",lineColor:"#666666",particleRadius:7,lineWidth:1,curvedLines:!1,proximity:100,parallax:!0,parallaxMultiplier:5,onInit:function(){},onDestroy:function(){}}}(jQuery),
-
-function(){for(var 
a=0,b=["ms","moz","webkit","o"],c=0;c<b.length&&!window.requestAnimationFrame;++c)window.requestAnimationFrame=window[b[c]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[b[c]+"CancelAnimationFrame"]||window[b[c]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(b){var
 c=(new 
Date).getTime(),d=Math.max(0,16-(c-a)),e=window.setTimeout(function(){b(c+d)},d);return
 
a=c+d,e}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(a){clearTimeout(a)})}();
-
-$(function(){
-            
-    $('.particles').particleground({
-        minSpeedX: 0.1,
-        maxSpeedX: 0.7,
-        minSpeedY: 0.1,
-        maxSpeedY: 0.7,
-        directionX: 'center', // 'center', 'left' or 'right'. 'center' = dots 
bounce off edges
-        directionY: 'center', // 'center', 'up' or 'down'. 'center' = dots 
bounce off edges
-        density: 10000, // How many particles will be generated: one particle 
every n pixels
-        dotColor: '#eee',
-        lineColor: '#eee',
-        particleRadius: 7, // Dot size
-        lineWidth: 1,
-        curvedLines: true,
-        proximity: 100, // How close two dots need to be before they join
-        parallax: false
-    });
-
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/eagle/blob/d6fed677/eagle-site/_site/post/2015/10/27/apache-eagle-announce-cn.html
----------------------------------------------------------------------
diff --git a/eagle-site/_site/post/2015/10/27/apache-eagle-announce-cn.html 
b/eagle-site/_site/post/2015/10/27/apache-eagle-announce-cn.html
deleted file mode 100644
index 5d87315..0000000
--- a/eagle-site/_site/post/2015/10/27/apache-eagle-announce-cn.html
+++ /dev/null
@@ -1,352 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-  <head>
-       <meta charset="utf-8">
-       <meta http-equiv="X-UA-Compatible" content="IE=edge">
-
-       <title>Eagle - Apache Eagle 
正式发布:分布式实时Hadoop数据安全方案</title>
-       <meta name="description" content="  摘要:日前,eBayå…
¬å¸éš†é‡å®£å¸ƒæ­£å¼å‘开源业界推出实时分布式Hadoop数据安å…
¨æ–¹æ¡ˆ - Apache 
Eagle,作为一套旨在提供高效分布式的流式策略引擎,并集成机器学ä¹
 
对用户行为建立Profile以实时智能地保护Hadoop生态系统中大数据安å
…¨çš„解决方案。">
-
-       <meta name="keywords" content="Eagle, Hadoop, Security, Real Time">
-       <meta name="author" content="eBay Inc.">
-
-       <meta charset="utf-8">
-       <meta name="viewport" content="initial-scale=1">
-
-       <link rel="stylesheet" href="/css/animate.css">
-       <link rel="stylesheet" href="/css/bootstrap.min.css">
-
-       <link rel="stylesheet" href="/css/font-awesome.min.css">
-       
-       <link rel="stylesheet" href="/css/misc.css">
-       <link rel="stylesheet" href="/css/style.css">
-       <link rel="stylesheet" href="/css/styles.css">
-       <link rel="stylesheet" href="/css/main.css">
-       <link rel="alternate" type="application/rss+xml" title="Eagle" 
href="http://goeagle.io/feed.xml"; />
-       <link rel="shortcut icon" href="/images/favicon.png">
-
-       <!-- Baidu Analytics Tracking-->
-       <script>
-       var _hmt = _hmt || [];
-       (function() {
-         var hm = document.createElement("script");
-         hm.src = "//hm.baidu.com/hm.js?fedc55df2ea52777a679192e8f849ece";
-         var s = document.getElementsByTagName("script")[0]; 
-         s.parentNode.insertBefore(hm, s);
-       })();
-       </script>
-       
-       <!-- Google Analytics Tracking -->
-       <script>
-         
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
-         
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-         
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-         ga('create', 'UA-68929805-1', 'auto');
-         ga('send', 'pageview');
-       </script>
-</head>
-  <body>
-    <div class="topbar">
-    <div class="container">
-      <div class="row" >
-        <nav class="navbar navbar-default">
-          <div class="container-fluid"> 
-            <!-- Brand and toggle get grouped for better mobile display -->
-            <div class="navbar-header">
-              <button type="button" class="navbar-toggle collapsed" 
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span 
class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span 
class="icon-bar"></span> <span class="icon-bar"></span> </button>
-              <a class="navbar-brand" href="/"><img src="/images/logo2.png" 
height="44px" style="margin-top:-7px"></a> </div>
-            
-            <!-- Collect the nav links, forms, and other content for toggling 
-->
-            <!-- <div class="collapse navbar-collapse" 
id="bs-example-navbar-collapse-1">
-              <ul class="nav navbar-nav navbar-right" id="top-menu">
-                <li><a class="menu" href="/#home_page">HOME</a></li>
-                <li><a class="menu" href="/docs/">DOCS</a></li>
-                <li><a class="menu" href="/#about_page">ABOUT</a></li>
-                <li><a class="menu" href="/#diagram_page">ARCHITECTURE</a></li>
-                <li><a class="menu" href="/#modules_page">MODULES</a></li>
-                <li><a class="menu" href="/#usecase_page">USE CASES</a></li>
-                <li>
-                </li>
-              </ul> -->
-            </div>
-          </div>
-          <!-- /.container-fluid --> 
-        </nav>
-      </div>
-    </div>
-  </div>
-    <div class="page-content">
-      <div class="pagewrapper">
-        <div class="post">
-
-  <header class="post-header">
-    <h1 class="post-title">Apache Eagle 
正式发布:分布式实时Hadoop数据安全方案</h1>
-    <p class="post-meta">Oct 27, 2015 • Hao Chen, Edward Zhang, Libin Sun, 
Jilin Jiang, Qingwen Zhao</p>
-  </header>
-  
-  <article class="post-content">
-    <blockquote>
-  <p><em>摘要</em>:日前,eBayå…
¬å¸éš†é‡å®£å¸ƒæ­£å¼å‘开源业界推出实时分布式Hadoop数据安å…
¨æ–¹æ¡ˆ - Apache 
Eagle,作为一套旨在提供高效分布式的流式策略引擎,并集成机器学ä¹
 
对用户行为建立Profile以实时智能地保护Hadoop生态系统中大数据安å
…¨çš„解决方案。</p>
-</blockquote>
-
-<p>日前,eBayå…
¬å¸éš†é‡å®£å¸ƒæ­£å¼å‘开源业界推出分布式实时安全监控方案 
- Apache Eagle (http://goeagle.io),该项目已于2015年10月26日正式加
入Apache 成为孵化器项目。Apache 
Eagle提供一套高效分布式的流式策略引擎,å…
·æœ‰é«˜å®žæ—¶ã€å¯ä¼¸ç¼©ã€æ˜“扩展、交互友好等特点,同时集成机器学ä¹
 
对用户行为建立Profile以实现智能实时地保护Hadoop生态系统中大数据的安å
…¨ã€‚</p>
-
-<h2 id="section">背景</h2>
-<p>随着大数据的发展,越来越多的成功企业或者
组织开始采取数据驱动商业的运作模式。在eBay,我们拥有数万名工程师、分析师和数据科学家,他们每天访问分析数PB级的数据,以为我们的用户带来æ—
 ä¸Žä¼¦æ¯”的体验。在å…
¨çƒä¸šåŠ¡ä¸­ï¼Œæˆ‘ä»¬ä¹Ÿå¹¿æ³›åœ°åˆ©ç”¨æµ·é‡å¤§æ•°æ®æ¥è¿žæŽ¥æˆ‘ä»¬æ•°ä»¥äº¿è®¡çš„ç”¨æˆ·ã€‚</p>
-
-<p>近年来,Hadoop已经逐渐成为大数据分析领域最受欢迎的解决方案,eBay也一直在使用Hadoop技术从数据中挖掘价值,例如,我们通过大数据提高用户的搜索体验,识别和优化精准广告投放,å
……
实我们的产品目录,以及通过点击流分析以理解用户如何使用我们的在线市场平台等。</p>
-
-<p>目前,eBay的Hadoop集群总节点数据超
过10000多个,存储容量超过170PB,活跃用户超
过2000多。现在相关规模还在不断增长中,同时为了支持多å…
ƒåŒ–需求,我们引入越来越多æ 
·çš„æ•°æ®å­˜å‚¨å’Œåˆ†æžæ–¹æ¡ˆï¼Œæ¯”如Hive、MapReduec、Spark 
和HBase等,随之带来的管理和监控的挑战越来越严峻,数据安å
…¨é—®é¢˜äº¦æ˜¯å…¶ä¸­æœ€é‡è¦çš„之一。</p>
-
-<p>大数据时代,安全问题开始变得空前的å…
³é”®ï¼Œç‰¹åˆ«eBay作为全球领先的电子商务公司,我们必
须保证Hadoop中用户数据的绝对安全。通常我们的安全措施æ 
¹æ®å¦‚下几点 :访问控制、安全隔离、数据分类、数据加
密以及实时数据行为监控,然而经过广泛的尝试和ç 
”究,我们意识到没有任何已经存在的产品或者
解决方案能够充分满足我们面临海量实时数据流和多å…
ƒåŒ–用例场景下数据行为监控的需求。为了逾越这道鸿沟,eBay决定从头开始构建Eagle。</p>
-
-<p><img src="/images/logo_700x400.png" alt="" /></p>
-
-<blockquote>
-  <p>“Eagle 是开源分布式实时Hadoop数据安å…
¨æ–¹æ¡ˆï¼Œæ”¯æŒæ•°æ®è¡Œä¸ºå®žæ—¶ç›‘控,能立即监测出对敏感数据的访问或恶意的操作,并立即采取应对的措施”</p>
-</blockquote>
-
-<p>我们相信Eagle将成为Hadoop数据安全领域的æ 
¸å¿ƒç»„件之一,因
此我们决定将它的功能分享给整个社区。目前我们已经将Eagle捐èµ
 ç»™Apache软件基金会作为Apache 
孵化器项目开源,期望能够同开源社区一同协作开发,使得Eagle不断发展壮大,å
…±åŒæ»¡è¶³å¼€æºç¤¾åŒºä¸­æ›´å¹¿æ³›çš„需求。</p>
-
-<p>Eagle的数据行为监控方案可用于如下几类典型场景:</p>
-
-<ul>
-  <li>监控Hadoop中的数据访问流量</li>
-  <li>检测非法入侵和违反安全规则的行为</li>
-  <li>检测并防止敏感数据丢失和访问</li>
-  <li>实现基于策略的实时检测和预警</li>
-  <li>实现基于用户行为模式的异常数据行为检测</li>
-</ul>
-
-<p>Eagle具有如下特点:</p>
-
-<ul>
-  <li><strong>高实时</strong>: 我们充分理解安å…
¨ç›‘控中高度实时和快速反应的重要性,因
此设计Eagle之初,我们竭尽可能地确保能在亚秒级别时间内
产生告警,一旦综合多种因素
确订为危险操作,立即采取措施阻止非法行为。</li>
-  <li><strong>可伸缩</strong>:在eBay Eagle 
被部署在多个大型Hadoop集群上,这些集群拥有数百PB的数据,每天有8亿以上的数据访问时间,å›
 æ­¤Eagle必须具有处理海量实时数据的高度可伸缩能力。</li>
-  <li><strong>简单易用</strong>:可用性也是Eagle产品的æ 
¸å¿ƒè®¾è®¡åŽŸåˆ™ä¹‹ä¸€ã€‚é€šè¿‡Eagle的Sandbox,使用者仅
需数分钟便可以设置好环境并开始尝试。为了使得用户体验尽可能简单,我们å†
…置了许多很好的例子,只需简单地点击几步鼠æ 
‡ï¼Œä¾¿å¯ä»¥è½»æ¾åœ°å®Œæˆç­–略地创建和添加。</li>
-  <li><strong>用户Profile</strong>:Eagle 内置提供基于机器学习
算法对Hadoop中用户行为习
惯建立用户Profile的功能。我们提供多种默认的机器学习
算法供你
选择用于针对不同HDFS特征集进行建模,通过历史行为模型,Eagle可以实时地检测异常用户行为并产生预警。</li>
-  <li><strong>开源</strong>:Eagle一直根据开源的æ 
‡å‡†å¼€å‘,并构建于诸多大数据领域的开源产品之上,因
此我们决定以Apache许可证开源Eagle,以回馈社区,同时也期待
获得社区的反馈、协作与支持。</li>
-</ul>
-
-<h2 id="eagle">Eagle概览</h2>
-
-<p><img src="/images/posts/eagle-group.png" alt="" /></p>
-
-<h4 id="data-collection-and-storage">数据流接入和存储(Data 
Collection and Storage)</h4>
-<p>Eagle提供高度可扩展的编程API,可以支持将任何类型的数据源集成到Eagle的策略执行引擎中。例如,在Eagle
 HDFS 
审计事件(Audit)监控模块中,通过Kafka来实时接收来自Namenode
 Log4j Appender 或者 Logstash Agent 收集的数据;在Eagle Hive 
监控模块中,通过YARN API 收集正在运行Job的Hive 
查询日志,并保证比较高的可伸缩性和容错性。</p>
-
-<h4 id="data-processing">数据实时处理(Data Processing)</h4>
-
-<p><strong>流处理API(Stream Processing API)Eagle</strong> 
提供独立于物理平台而高度抽象的流处理API,目前默认支持Apache
 Storm,但是也允许扩展到其他任意流处理引擎,比如Flink 
或者 Samza等。该层抽象允许开发者
在定义监控数据处理逻辑时,无
需在物理执行层绑定任何特定流处理平台,而只需通过复用、拼接和组è£
…
例如数据转换、过滤、外部数据Join等组件,以实现满足需求的DAG(有向æ—
 çŽ¯å›¾ï¼‰ï¼ŒåŒæ—¶ï¼Œå¼€å‘è€…
也可以很容易地以编程地方式将业务逻辑流程和Eagle 
策略引擎框架集成起来。Eagle框架内
部会将描述业务逻辑的DAG编译成底层流处理架构的原生应用,例如Apache
 Storm Topology 等,从事实现平台的独立。</p>
-
-<p><strong>以下是一个Eagle如何处理事件和告警的示例:</strong></p>
-
-<pre><code>StormExecutionEnvironment env = 
ExecutionEnvironmentFactory.getStorm(config); // storm env
-StreamProducer producer = env.newSource(new 
KafkaSourcedSpoutProvider().getSpout(config)).renameOutputFields(1) // declare 
kafka source
-       .flatMap(new AuditLogTransformer()) // transform event
-       .groupBy(Arrays.asList(0))  // group by 1st field
-       .flatMap(new UserProfileAggregatorExecutor()); // aggregate one-hour 
data by user
-       .alertWithConsumer(“userActivity“,”userProfileExecutor“) // ML 
policy evaluation
-env.execute(); // execute stream processing and alert
-</code></pre>
-
-<p><strong>告警框架(Alerting 
Framework)Eagle</strong>告警框架由流å…
ƒæ•°æ®API、策略引擎服务提供API、策略Partitioner API 
以及预警去重框架等组成:</p>
-
-<ul>
-  <li><strong>流元数据API</strong> 允许用户声明事件的Schema,包
括事件由哪些属性构成、每个属性的类型,以及当用户é…
ç½®ç­–略时如何在运行时动态解析属性的值等。</li>
-  <li><strong>策略引擎服务提供API</strong> 允许开发者
很容易地以插件的形式扩展新的策略引擎。WSO2 Siddhi CEP 
引擎是Eagle 优先默认支持的策略引擎,同时机器学习
算法也可作为另一种策略引擎执行。</li>
-  <li>
-    <p><strong>扩展性</strong> Eagle的策略引擎服务提供API允许你
插入新的策略引擎</p>
-
-    <pre><code>  public interface PolicyEvaluatorServiceProvider {
-    public String getPolicyType();         // literal string to identify one 
type of policy
-    public Class&lt;? extends PolicyEvaluator&gt; getPolicyEvaluator(); // get 
policy evaluator implementation
-    public List&lt;Module&gt; getBindingModules();  // policy text with json 
format to object mapping
-  }
-  public interface PolicyEvaluator {
-    public void evaluate(ValuesArray input) throws Exception;  // evaluate 
input event
-    public void onPolicyUpdate(AlertDefinitionAPIEntity newAlertDef); // 
invoked when policy is updated
-    public void onPolicyDelete(); // invoked when policy is deleted
-  }
-</code></pre>
-  </li>
-  <li><strong>策略Partitioner API</strong> å…
è®¸ç­–略在不同的物理节点上并行执行。也允许你
自定义策略Partitioner类。这些功能使得策略和事件完å…
¨ä»¥åˆ†å¸ƒå¼çš„æ–¹å¼æ‰§è¡Œã€‚</li>
-  <li>
-    <p><strong>可伸缩性</strong> Eagle 
通过支持策略的分区接口来实现大量的策略可伸缩并发地运行</p>
-
-    <pre><code>  public interface PolicyPartitioner extends Serializable {
-    int partition(int numTotalPartitions, String policyType, String policyId); 
// method to distribute policies
-  }
-</code></pre>
-
-    <p><img src="/images/posts/policy-partition.png" alt="" /></p>
-
-    <blockquote>
-      <p>可伸缩的Eagle策略执行框架</p>
-    </blockquote>
-  </li>
-</ul>
-
-<p><strong>机器学习模块:</strong>
-Eagle 支持根据用户在Hadoop平台上历史使用行为习
惯来定义行为模式或用户Profile的能力。拥有了这个功能,不需要在系统中预å
…ˆè®¾ç½®å›ºå®šä¸´ç•Œå€¼çš„æƒ…
况下,也可以实现智能地检测出异常的行为。Eagle中用户Profile是通过机器学ä¹
 ç®—法生成,用于在用户当前实时行为模式与å…
¶å¯¹åº”的历史模型模式存在一定程度的差异时识别用户行为是否为异常。目前,Eagle
 内
置提供以下两种算法来检测异常,分别为特征值分解(Eigen-Value
 Decomposition)和 密度估计(Density Estimation)。这些算法从HDFS 
审计日志中读取数据,对数据进行分割、审查、交叉分析,周期性地为每个用户依次创建Profile
 
行为模型。一旦模型生成,Eagle的实时流策略引擎能够近乎实时地识别出异常,分辨当前用户的行为可疑的或è€
…与他们的历史行为模型不相符。</p>
-
-<p>下图简单描述了目前Eagle中用户Profile的离线训练建模和在线实时监测的数据流:</p>
-
-<p><img src="/images/posts/ml-pipeline.png" alt="" /></p>
-
-<blockquote>
-  <p>用户Profile 离线训练以及异常监测架构</p>
-</blockquote>
-
-<p>基于用户 Profile的Eagle在线实时异常监测是æ 
¹æ®Eagle的通用策略框架实现的,用户Profile只是被定义为Eagle系统中一个策略而已,用户Profile的策略是通过继承自Eagle统一策略执行接口的机器学ä¹
 Evaluator来执行,其策略的定义中包
括异常检测过程中需要的特征向量等(在线检测与离线训练保持一致)。</p>
-
-<p>此外,Eagle 提供自动训练调度器,可根据文件或者UIé…
ç½®çš„æ—¶é—´å‘¨æœŸå’Œç²’度来调度这个基于Spark的离线训练程序,用于批量创建用户Profile和行为模型,默认该训练系统以每月的频率更新模型,模型粒度为一分钟。</p>
-
-<p>Eagle 内置的机器学习算法基本思想如下:</p>
-
-<p><strong>核密度估计算法 (Density Estimation)</strong>
-该算法的基本思想是根据检测的训练æ 
·æœ¬æ•°æ®é’ˆå¯¹æ¯ä¸ªç”¨æˆ·è®¡ç®—出对应的概率密度分布函数。首å…
ˆï¼Œæˆ‘们对训练数据集的每个特征均值标准化,æ 
‡å‡†åŒ–可以使得所有数据集转化为相同尺度。然后,在我们的随机变量概率分布估计中,我们采用高斯分布式函数来计算概率密度。假设任意特征彼此相互独立,那么最终的高斯概率密度就可以通过分解各个特征的概率密度而计算得到。在线实时检测阶段,我们可以首å
…
ˆè®¡ç®—出每个用户实时行为的概率。如果用户出现当前行为的可能性低于某个临界值,我们表识为异常警告,而这个临界值完å
…¨ç”±ç¦»çº¿è®­ç»ƒç¨‹åºé€šè¿‡ç§°ä¸ºâ€œé©¬ä¿®æ–¯ç›¸å…³ç³»æ•°â€ï¼ˆMathews 
Correlation Coefficient)的方法计算而得。</p>
-
-<p><img src="/images/posts/density-estimation.png" alt="" /></p>
-
-<blockquote>
-  <p>展示单一维度上用户行为直方图</p>
-</blockquote>
-
-<p><strong>特征值分解算法(Eigen-Value Decomposition)</strong>
-该算法中,我们认为生成用户Profile的主要目的是为了从中发现有价值的用户行为模式。为了实现这个目的,我们可以考虑对特征依次进行组合,然后观察他们相互之间是如何影响的。当数据集非常巨大时,正如通常我们所遇到的场景,由于正常模式的数量非常之多,以至于特征集的异常的模式很容易被忽视。由于正常的行为模式通常处于非常低维的子空间å†
…,因
此我们也许可以通过降低数据集的维度来更好的理解用户的真正的行为模式。该方法同æ
 ·å¯ä»¥å¯¹äºŽè®­ç»ƒæ•°æ®é›†è¿›è¡Œé™å™ªã€‚æ 
¹æ®å¯¹å¤§é‡ç”¨æˆ·ç‰¹å¾æ•°æ®æ–¹å·®çš„进行运算,通常在我们的用例场景中选取方差为95%作为基准,我们可以得到方差为95%的主成分的数量为k,å›
 
此我们将前k个主成分认为是用户的正常子空间,而剩下的(n-k)个主成分则被视为异常子空间。</p>
-
-<p>当线实时异常检测时,如果用户行为模式位于正常子空间附近,则认为该行为正常,否则,如果用户行为模式位于异常子空间附近,则会立即报警,å›
 ä¸ºæˆ‘们相信通常用户行为一般应该位于正常子空间内
。至于如何计算用户当前行为接近正常还是异常子空间,我们采用的是欧氏距离法(Euclidian
 distance method)。</p>
-
-<p><img src="/images/posts/eigen-decomposition.png" alt="" /></p>
-
-<blockquote>
-  <p>展示重要的用户行为模式成分</p>
-</blockquote>
-
-<p><strong>Eagle 服务</strong></p>
-
-<p><strong>策略管理器</strong> 
Eagle策略管理器提供交互友好的用户界面和REST API 
供用户轻松地定义和管理策略,一切只需几次鼠æ 
‡ç‚¹å‡»è€Œå·²ã€‚Eagle的用户界面使得策略的管理、敏感元数据的æ 
‡è¯†å’Œå¯¼å…¥ã€HDFS或Hive 
的资源浏览以及预警仪表等功能都非常易于使用。</p>
-
-<p>Eagle 策略引擎默认支持WSO2的Siddhi CEP引擎和机器学习
引擎,以下是几个基于Siddi CEP的策略示例</p>
-
-<ul>
-  <li>
-    <p>单一事件执行策略(用户访问Hive中的敏感数据列)</p>
-
-    <pre><code>  from hiveAccessLogStream[sensitivityType=='PHONE_NUMBER'] 
select * insert into outputStream;
-</code></pre>
-  </li>
-  <li>
-    <p>基于窗口的策略(用户在10分钟内访问目录 /tmp/private 
多余 5次)</p>
-
-    <pre><code>  hdfsAuditLogEventStream[(src == 
'/tmp/private')]#window.externalTime(timestamp,10 min) select user, 
count(timestamp) as aggValue group by user having aggValue &gt;= 5 insert into 
outputStream;
-</code></pre>
-  </li>
-</ul>
-
-<p><strong>查询服务(Query Service)</strong> Eagle 提供类SQL的REST 
API用来实现针对海量数据集的综合计算、查询和分析的能力,支持例如过滤、聚合、直方运算、排序、top、算术表达式以及分页等。Eagle优å
…ˆæ”¯æŒHBase 作为其默认数据存储,但是同时也支持基JDBC的å…
³ç³»åž‹æ•°æ®åº“。特别是当选择以HBase作为存储时,Eagle便原生拥有了HBase存储和查询海量监控数据的能力,Eagle
 查询框架会将用户提供的类SQL查询语法最终编译成为HBase 
原生的Filter 对象,并支持通过HBase 
Coprocessor进一步提升响应速度。</p>
-
-<pre><code>query=AlertDefinitionService[@dataSource="hiveQueryLog"]{@policyDef}&amp;pageSize=100000
-</code></pre>
-
-<h2 id="eagleebay">Eagle在eBay的使用场景</h2>
-<p>目前,Eagle的数据行为监控系统已经部署到一个拥有2500多个节点的Hadoop集群之上,用以保护数百PB数据的安å
…¨ï¼Œå¹¶æ­£è®¡åˆ’于今年年底之前扩展到å…
¶ä»–上十个Hadoop集群上,从而覆盖eBay 
所有主要Hadoop的10000多台节点。在我们的生产环境中,我们已针对HDFS、Hive
 等集群中的数据配置了一些基础的安å…
¨ç­–略,并将于年底之前不断引å…
¥æ›´å¤šçš„策略,以确保重要数据的绝对安å…
¨ã€‚目前,Eagle的策略涵盖多种模式,包
括从访问模式、频繁访问数据集,预定义查询类型、Hive 
表和列、HBase 表以及基于机器学习模型生成的用户Profile相å…
³çš„æ‰€æœ‰ç­–略等。同时,我们也有广泛的策略来防止数据的丢失、数据被拷贝到不安å
…
¨åœ°ç‚¹ã€æ•æ„Ÿæ•°æ®è¢«æœªæŽˆæƒåŒºåŸŸè®¿é—®ç­‰ã€‚Eagle策略定义上极大的灵活性和扩展性使得我们未来可以轻易地继续扩展更多更复杂的策略以支持更多多å
…ƒåŒ–çš„
 用例场景。</p>
-
-<h2 id="section-1">后续计划</h2>
-<p>过去两年中,在eBay 除了被用于数据行为监控以外,Eagle æ 
¸å¿ƒæ¡†æž¶è¿˜è¢«å¹¿æ³›ç”¨äºŽç›‘控节点健康状况、Hadoop应用性能指æ 
‡ã€Hadoop æ 
¸å¿ƒæœåŠ¡ä»¥åŠæ•´ä¸ªHadoop集群的健康状况等诸多领域。我们还建立一系列的自动化机制,例如节点修复等,帮助我们平台部门极大得节省了我们人工劳力,并有效地提升了整个集群资源地利用率。</p>
-
-<p>以下是我们目前正在开发中地一些特性:</p>
-
-<ul>
-  <li>扩展机器学习模型对Hive和HBase支持</li>
-  <li>提供高度可扩展的API,以方便集目前业界广泛使用的å…
¶ä»–监控预警平台或者工å…
·ï¼Œå¦‚Ganglia和Nagios等,同时支持敏感数据的导å…
¥ï¼Œå¦‚与Dataguise 集成等。</li>
-  <li>此外,我们正在积极整理其他Hadoop 
集群监控模块,期望在后续发布中开源给社区,例如
-    <ul>
-      <li>HBase 监控</li>
-      <li>Hadoop 作业性能监控</li>
-      <li>Hadoop 节点监控</li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="section-2">关于作者</h2>
-<p><a href="https://github.com/haoch";>陈浩</a>,Apache Eagle Committer 和 
PMC 成员,eBay 
分析平台基础架构部门高级软件工程师,负责Eagle的产品设计、技术架构、æ
 ¸å¿ƒå®žçŽ°ä»¥åŠå¼€æºç¤¾åŒºæŽ¨å¹¿ç­‰ã€‚</p>
-
-<p>感谢以下来自Apache Eagle社区和eBay公司的联合作者
们对本文的贡献:</p>
-
-<ul>
-  <li><a href="https://github.com/yonzhang";>张勇</a>,Apache Eagle 
Committer和PMC,eBay 资深架构师</li>
-  <li><a href="https://github.com/sunlibin";>孙立斌</a>,Apache Eagle 
Committer和PMC,eBay 软件工程师</li>
-  <li><a href="https://github.com/zombiej";>蒋吉麟</a>,Apache Eagle 
Committer和PMC,eBay 软件工程师</li>
-  <li><a href="https://github.com/qingwen220";>赵晴雯</a>,Apache Eagle 
Committer和PMC,eBay 软件工程师</li>
-</ul>
-
-<p>eBay 分析平台基础架构部(Analytics Data 
Infrastructure)是eBay的å…
¨çƒæ•°æ®åŠåˆ†æžåŸºç¡€æž¶æž„部门,负责eBay在数据库、数据仓库、Hadoop、商务智能以及机器学ä¹
 ç­‰å„个数据平台开发、管理等,支持eBayå…
¨çƒå„部门运用高端的数据分析解决方案作出及时有效的作业决策,为遍布å
…¨çƒçš„业务用户提供数据分析解决方案。</p>
-
-<h2 id="section-3">参考资料</h2>
-
-<ul>
-  <li>Apache Eagle 文档:<a 
href="http://goeagle.io";>http://goeagle.io</a></li>
-  <li>Apache Eagle 源码:<a 
href="http://github.com/apache/incubator-eagle";>http://github.com/apache/incubator-eagle</a></li>
-  <li>Apache Eagle 项目:<a 
href="http://incubator.apache.org/projects/eagle.html";>http://incubator.apache.org/projects/eagle.html</a></li>
-</ul>
-
-<h2 id="section-4">引用链接</h2>
-<ul>
-  <li><strong>CSDN</strong>: <a 
href="http://www.csdn.net/article/2015-10-29/2826076";>http://www.csdn.net/article/2015-10-29/2826076</a></li>
-  <li><strong>OSCHINA</strong>: <a 
href="http://www.oschina.net/news/67515/apache-eagle";>http://www.oschina.net/news/67515/apache-eagle</a></li>
-  <li><strong>China Hadoop Summit</strong>: <a 
href="http://mp.weixin.qq.com/s?__biz=MzA4MTkyODIzMA==&amp;mid=400298495&amp;idx=1&amp;sn=954031ba8065481c31a3464e2c8a26a5&amp;scene=1&amp;srcid=1102zgGQzedckCmNrfRwounA&amp;uin=MjYyNzgwNDQwMA%3D%3D&amp;key=04dce534b3b035efe14d53fcf6e7062a63179003551e59fad5cf8584703fcaa38779cc4c93cbf931c25f6b34cb2d7653&amp;devicetype=iMac+MacBookPro11%2C3+OSX+OSX+10.10.5+build(14F1021)&amp;version=11020201&amp;lang=en&amp;pass_ticket=TC%2Bod2ZeFnhmci%2Bi4%2BxTTVD6moUrNFX8RXppzoQSa%2BXO3C7evUDs6njeYbsYyCFD">http://mp.weixin.qq.com/s?…</a></li>
-  <li><strong>Apache Kylin</strong>: <a 
href="http://mp.weixin.qq.com/s?__biz=MzAwODE3ODU5MA==&amp;mid=400287781&amp;idx=1&amp;sn=343b2b29a37f8ed53a7ecb0465faf515&amp;scene=0&amp;uin=MjYyNzgwNDQwMA%3D%3D&amp;key=04dce534b3b035ef73f964362ac4c43d452ab1b208eb357c488dfcd7d69209e060cfe01e9b146752517d2096f6751370&amp;devicetype=iMac+MacBookPro11%2C3+OSX+OSX+10.10.5+build(14F1021)&amp;version=11020201&amp;lang=en&amp;pass_ticket=TC%2Bod2ZeFnhmci%2Bi4%2BxTTVD6moUrNFX8RXppzoQSa%2BXO3C7evUDs6njeYbsYyCFD">http://mp.weixin.qq.com/s?…</a></li>
-</ul>
-
-<hr />
-
-<p><em>本文来自Apache Eagle网站:<a 
href="http://goeagle.io";>http://goeagle.io</a>,转载请注明出处和来源。</em></p>
-
-  </article>
-</div>
-
-      </div>
-    </div>
-    <!-- footer start -->
-<div class="footerwrapper">
-  <div class="container">
-    <div class="row">
-      <div class="col-md-12"><div style="margin-left:auto; margin-right:auto; 
text-align:center;font-size: 12px">
-<div>
-</div>
-<div>
-<a href="http://www.apache.org";>
-<img id="asf-logo" alt="Apache Software Foundation" 
src="/images/apache-logo-small.gif">
-</a>
-</div>
-<div>
-Copyright © 2015 <a href="http://www.apache.org";>The Apache Software 
Foundation</a>, Licensed under the <a 
href="http://www.apache.org/licenses/LICENSE-2.0";>Apache License, Version 
2.0</a>.
-</div>
-<div>
-Apache Eagle, Eagle, Apache Hadoop, Hadoop, Apache HBase, HBase, Apache Hive, 
Hive, Apache Ambari, Ambari, Apache Spark, Spark, Apache Kafka, Kafka, Apache 
Storm, Storm, Apache Maven, Maven, Apache Tomcat, Tomcat, Apache Derby, Derby, 
Apache Cassandra, Cassandra, Apache ZooKeeper, ZooKeeper, Apache, the Apache 
feather logo, and the Apache project logo are trademarks of The Apache Software 
Foundation.
-</div>
-      </div></div>
-    </div>
-  </div>
-</div>
-<!-- footer end --> 
-
-<!-- JavaScripts -->
-<script src="/js/jquery-1.11.1.min.js"></script>
-<script src="/js/jquery.singlePageNav.js"></script>
-<script src="/js/jquery.flexslider.js"></script>
-<script src="/js/modernizr.min.js"></script>
-<script src="/js/svg.js"></script>
-<script>
-    /************** FlexSlider *********************/
-    $('.flexslider').flexslider({
-        animation: "fade",
-        directionNav: false
-    });
-</script>
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/eagle/blob/d6fed677/eagle-site/about.md
----------------------------------------------------------------------
diff --git a/eagle-site/about.md b/eagle-site/about.md
deleted file mode 100644
index fca4517..0000000
--- a/eagle-site/about.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: page
-title: About
-permalink: /about/
----
-
-This is the base Jekyll theme. You can find out more info about customizing 
your Jekyll theme, as well as basic Jekyll usage documentation at 
[jekyllrb.com](http://jekyllrb.com/)
-
-You can find the source code for the Jekyll new theme at: 
[github.com/jglovier/jekyll-new](https://github.com/jglovier/jekyll-new)
-
-You can find the source code for Jekyll at 
[github.com/jekyll/jekyll](https://github.com/jekyll/jekyll)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/eagle/blob/d6fed677/eagle-site/ambari-plugin-install.md
----------------------------------------------------------------------
diff --git a/eagle-site/ambari-plugin-install.md 
b/eagle-site/ambari-plugin-install.md
deleted file mode 100644
index f5d1df7..0000000
--- a/eagle-site/ambari-plugin-install.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: doc
-title:  "Install Apache Eagle Ambari Plugin"
-permalink: /docs/ambari-plugin-install.html
----
-
-Assume Apache Eagle (called Eagle in the following) package has been copied 
and exacted under /usr/hdp/current/eagle.
-
-> **WARNING**: the following instructions work in sandbox currently.
-
-
-### Pre-requisites
-
-1. Create a Kafka[^KAFKA] topic if you have not. Here is an example command.
-
-       $ /usr/hdp/current/kafka-broker/bin/kafka-topics.sh --create 
--zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic 
sandbox_hdfs_audit_log
-
-2. Stream HDFS log data to Kafka, and refer to 
[here](/docs/import-hdfs-auditLog.html) on how to do it .
-
-### Installation Steps
-
-1. Start dependent services Storm[^STORM], Spark[^SPARK], HBase[^HBASE] & 
Kafka via Ambari[^AMBARI].
-
-2. Install Eagle Ambari plugin
-
-       $ /usr/hdp/current/eagle/bin/eagle-ambari.sh install
-
-3. Restart [Ambari](http://127.0.0.1:8000/) click on disable and enable Ambari 
back.
-
-4. Add Eagle Service to Ambari. Click on "Add Service" on Ambari Main page
-
-    ![AddService](/images/docs/add-service.png "AddService")
-    ![Eagle Services](/images/docs/eagle-service-success.png "Eagle Services")
-
-5. Add Policies and meta data required by running the below script.
-
-       $ cd <eagle-home>
-       $ examples/sample-sensitivity-resource-create.sh
-       $ examples/sample-policy-create.sh
-
-
-
----
-
-#### *Footnotes*
-
-[^HBASE]:*Apache HBase.*
-[^AMBARI]:*All mentions of "ambari" on this page represent Apache Ambari.*
-[^SPARK]:*Apache Spark.*
-[^KAFKA]:*All mentions of "kafka" on this page represent Apache Kafka.*
-[^STORM]:*Apache Storm.*

http://git-wip-us.apache.org/repos/asf/eagle/blob/d6fed677/eagle-site/application-configuration.md
----------------------------------------------------------------------
diff --git a/eagle-site/application-configuration.md 
b/eagle-site/application-configuration.md
deleted file mode 100644
index 5619e2a..0000000
--- a/eagle-site/application-configuration.md
+++ /dev/null
@@ -1,85 +0,0 @@
----
-layout: doc
-title:  "Application Configuration"
-permalink: /docs/configuration.html
----
-
-Apache Eagle (called Eagle in the following) requires you to create a 
configuration file under `$EAGLE_HOME/conf/` for each application. Basically, 
there are some common properties shared, e.g., envContextConfig, eagleProps, 
and dynamicConfigSource. While dataSourceConfig differs from application to 
application.
-
-In this page we take the following two application as examples
-
-* HDFS Audit Log Configuration
-* Hive[^HIVE] Query Log Configuration
-
-
-### HDFS Audit Log Configuration
----
-
- Class            ||| Property Name    ||| Description
- -----------------||| -------------    ||| -----------
- envContextConfig |||   env            ||| currently only Storm[^STORM] is 
supported.
-                  |||   mode           ||| local or cluster
-                  |||   topologyName   ||| in the format {site}-{topology-name}
-                  |||   stormConfigFile    ||| a storm configuration file for 
overriding some Storm properties
-                  |||  parallelismConfig   ||| parallelism for both 
Kafka[^KAFKA] consumer and alert executors
-dataSourceConfig  |||  **topic**           ||| Kafka topic for audit log 
streaming, make sure it exists
-                  ||| **zkConnection***    |||ZooKeeper[^ZOOKEEPER] connection 
string, you can also specify multiple hosts in the form 
hostname1:port1,hostname2:port2, ...
-                  |||zkConnectionTimeoutMS ||| zookeeper connection timeout
-                  |||   fetchSize          ||| kafka maximal message fetching 
size, default value is 1048586
-                  |||   deserializerClass  ||| 
org.apache.eagle.security.auditlog.HdfsAuditLogKafkaDeserializer 
-                  ||| transactionZKServers ||| ZooKeeper servers, you can also 
specify multiple hosts in the form hostname1,hostname2,hostname3
-                  ||| transactionZKPort    ||| ZooKeeper connection port
-                  |||   transactionZKRoot  ||| ZooKeeper chroot path for Eagle
-                  ||| consumerGroupId      ||| only for hdfsAuditLog
-                  ||| transactionStateUpdateMS   ||| default is 2000
-alertExecutorConfigs ||| parallelism             ||| default is 1
-                  |||   partitioner              ||| default value is 
eagle.alert.policy.DefaultPolicyPartitioner
-                  |||   needValidation           ||| true or false
-eagleProps        |||   **site***                ||| site name, such as 
sandbox, datacenter1, datacenter2
-                  |||   dataSource               ||| hdfsAuditLog
-                  |||   dataJoinPollIntervalSec  ||| time interval for 
retrieving data from HBase[^HBASE]
-                  |||   **mailHost***                 ||| SMTP server
-                  |||   **mailSmtpPort***             ||| SMTP server port, 
default is 25
-                  |||   mailDebug                ||| true or false
-                  |||   eagleService.host        ||| Tomcat[^TOMCAT] server 
host, default is localhost
-                  |||   eagleService.port        ||| 9099
-                  |||   eagleService.username    ||| admin
-                  |||   eagleService.password    ||| secret
- dynamicConfigSource ||| enabled                 ||| true or false, default is 
true
-                     |||   initDelayMillis       ||| default is 0
-                     |||   delayMillis           ||| default is 30000
-
-
-<br />
-
-### Hive Query Log Configuration
----
-
- Class            ||| Property Name           ||| Description
- -----------------||| -------------           ||| -----------
- envContextConfig |||  same as HDF            |||
- dataSourceConfig |||  flavor                 ||| stormrunning
- |||   **zkQuorum***                               ||| ZooKeeper connection 
string,  you can also specify multiple hosts in the form 
hostname1:port1,hostname2:port2,hostname3:port3
- |||   **zkRoot***                                 ||| ZooKeeper chroot path 
for Eagle to store data, default is /jobrunning
- |||   zkSessionTimeoutMs                     ||| ZooKeeper session timeout, 
default is 15000
- |||   zkRetryTimes                           ||| ZooKeeper retry times, 
default is 3
- |||   zkRetryInterval                        ||| default is 2000
- |||   **RMEndPoints***                       ||| 
yarn.resourcemanager.webapp.address. Default value is http://localhost:8088/
- |||   **HSEndPoint***                        ||| 
mapreduce.jobhistory.webapp.address. Default values is http://localhost:19888/
- |||   partitionerCls                         ||| 
eagle.job.DefaultJobPartitionerImpl
- alertExecutorConfigs ||| same as HDFS        |||
- eagleProps           ||| same as HDFS        |||
- dynamicConfigSource  ||| same as HDFS        |||
-
-<br />
-
----
-
-#### *Footnotes*
-
-[^HBASE]:*Apache HBase.*
-[^HIVE]:*All mentions of "hive" on this page represent Apache Hive.*
-[^KAFKA]:*All mentions of "kafka" on this page represent Apache Kafka.*
-[^STORM]:*All mentions of "storm" on this page represent Apache Storm.*
-[^TOMCAT]:*Apache Tomcat.*
-[^ZOOKEEPER]:*All mentions of "zookeeper" on this page represent Apache 
ZooKeeper.*

http://git-wip-us.apache.org/repos/asf/eagle/blob/d6fed677/eagle-site/cloudera-integration.md
----------------------------------------------------------------------
diff --git a/eagle-site/cloudera-integration.md 
b/eagle-site/cloudera-integration.md
deleted file mode 100644
index 52e0eda..0000000
--- a/eagle-site/cloudera-integration.md
+++ /dev/null
@@ -1,166 +0,0 @@
----
-layout: doc
-title:  "Cloudera Integration"
-permalink: /docs/cloudera-integration.html
----
-
-*Since Eagle 0.4.0*
-
-Configuring Apache Eagle on Cloudera is very similar to configuring it on 
Hortonworks, but still there are some difference. 
-This tutorial is to address these issues before you continue to follow the 
tutorials originally prepared for Hortonworks.
-
-### Prerequisites
-
-To get Apache Eagle works on Cloudera, we need:
-
-* Zookeeper (installed through Cloudera Manager)
-* Kafka (installed through Cloudera Manager)
-* Storm (``0.9.x`` or ``0.10.x``, installed manually)
-* Logstash (``2.X``, installed manually on NameNode)
-
-
-### Kafka
-
-#### Configuration
-
-There are two configurations needed to be mentioned: 
-
-* Open Cloudera Manager and open "kafka" configuration, then set 
``“zookeeper Root”`` to ``“/”``.
-
-* If Kafka cannot be started successfully, check kafka’s log. If stack trace 
shows: ``“java.lang.OutOfMemoryError: Java heap space”``. Increase heap 
size by setting ``"KAFKA_HEAP_OPTS"``in ``/bin/kafka-server-start.sh``.
-
-Example:
-
-~~~
-                  export KAFKA_HEAP_OPTS="-Xmx2G -Xms2G"
-~~~
-
-
-
-#### Verification
-
-- Step1: create a kafka topic (here I created a topic called “test”, which 
will be used in  logstash configuration file to receive hdfsAudit log messages 
from Cloudera.
-
-~~~
-bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 
--partitions 1 --topic test
-~~~
-
-- Step2: check if topic has been created successfully.
-
-~~~
-bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181
-~~~
-
-this command will show all created topics.
-
-- Step3: open two terminals, start “producer” and “consumer” 
separately.
-
-~~~
-/usr/bin/kafka-console-producer --broker-list hostname:9092 --topic test
-/usr/bin/kafka-console-consumer --zookeeper hostname:2181 --topic test
-~~~
-
-- Step4: type in some message in producer. If consumer can receive the 
messages sent from producer, then kafka is working fine. Otherwise please check 
the configuration and logs to identify the root cause of issues.
-
-
-
-### Logstash
-
-#### Installation
-
-You can follow [logstash online 
doc](https://www.elastic.co/downloads/logstash) to download and install 
logstash on your machine:
-
-Or you can install it through ``yum`` if you are using centos:
-
-- download and install the public signing key:
-
-~~~
-rpm --import  https://packages.elastic.co/GPG-KEY-elasticsearch
-~~~
-
-- Add the following lines in ``/etc/yum.repos.d/`` directory in a file with a 
``.repo`` suffix, for example ``logstash.repo``.
-
-~~~
-[logstash-2.3]
-name=Logstash repository for 2.3.x packages
-baseurl=https://packages.elastic.co/logstash/2.3/centos
-gpgcheck=1
-gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
-enabled=1
-~~~
-
-- Then install it using ``yum``: 
-
-~~~
-yum install logstash
-~~~
-
-#### Create conf file
-
-Follow [Apache Eagle online 
documentation](https://github.com/apache/incubator-eagle/blob/branch-0.4/eagle-assembly/src/main/docs/logstash-kafka-conf.md)
 to create logstash configuration file for Apache Eagle.
-
-#### Start logstash
-
-~~~
-bin/logstash -f conf/first-pipeline.conf
-~~~
-
-#### Verification
-
-Open a terminal and start a kafka consumer to see if it can receive the 
messages sent by logstash, if there is no message, double check the 
configuration parameters in conf file. Otherwise logstash is all set.
-
-### Apache Storm
-As Apache Storm is not in Cloudera’s stack, we need to install Storm 
manually.
-
-#### Installation
-
-Download Apache Storm from [here](http://storm.apache.org/downloads.html), the 
version you choose should be ``0.10.x`` or ``0.9.x`` release.
-Then follow [Apache Storm online 
doc](http://storm.apache.org/releases/0.10.0/Setting-up-a-Storm-cluster.html)) 
to install Apache Storm on your cluster.
-
-In ``/etc/profile``, add this: 
-
-~~~
-export PATH=$PATH:/opt/apache-storm-0.10.1/bin/
-~~~
-
-save the profile and then type:
-
-~~~
-source /etc/profile 
-~~~
-
-to make it work.
-
-#### Configuration
-
-In ``storm/conf/storm.yaml``, change the hostname to your own host.
-
-#### Start Apache Storm
-
-In Termial, type:
-
-~~~
-$: storm nimbus
-$: storm supervisor
-$: storm UI
-~~~
-
-#### Verification
-
-Open storm UI in your browser, default URL is : 
``http://hostname:8080/index.html``.
-
-### Apache Eagle
-
-To download and install Apache Eagle, please refer to  [Get Started with 
Sandbox.](http://eagle.incubator.apache.org/docs/quick-start.html) .
-
-One thing need to mention is: in ``“/bin/eagle-topology.sh”``, line 102:
-
-~~~                    
-                       storm_ui=http://localhost:8080
-~~~
-
-If you are not using the default port number, change this to your own Storm UI 
url.
-
-I know it takes time to finish these configuration, but now it is time to have 
fun! 
-Just try ``HDFS Data Activity Monitoring`` with ``Demo`` listed in [HDFS Data 
Activity 
Monitoring.](http://eagle.incubator.apache.org/docs/hdfs-data-activity-monitoring.html)
-

http://git-wip-us.apache.org/repos/asf/eagle/blob/d6fed677/eagle-site/community.md
----------------------------------------------------------------------
diff --git a/eagle-site/community.md b/eagle-site/community.md
deleted file mode 100644
index 0ea6358..0000000
--- a/eagle-site/community.md
+++ /dev/null
@@ -1,95 +0,0 @@
----
-layout: doc
-title:  "Apache Eagle Community" 
-permalink: /docs/community.html
----
-### Mailing Lists
-
-|Name|||||Email|||||Subscribe|Unsubscribe|Archive|
-|----|||||-----|||||---------|-----------|-------|
-| User Mailling 
List|||||[[email protected]](mailto:[email protected])|||||[subscribe](mailto:[email protected])|[unsubscribe](mailto:[email protected])|
 [eagle-user](http://mail-archives.apache.org/mod_mbox/eagle-user/)|
-| Dev Mailling 
List|||||[[email protected]](mailto:[email protected])|||||[subscribe](mailto:[email protected])|[unsubscribe](mailto:[email protected])|
 [eagle-dev](http://mail-archives.apache.org/mod_mbox/eagle-dev/)|
-| Issues Mailling 
List|||||[[email protected]](mailto:[email protected])|||||[subscribe](mailto:[email protected])|[unsubscribe](mailto:[email protected])|
 [eagle-issues](http://mail-archives.apache.org/mod_mbox/eagle-issues/)|
-| Commits Mailling 
List|||||[[email protected]](mailto:[email protected])|||||[subscribe](mailto:[email protected])|[unsubscribe](mailto:[email protected])|
 [eagle-commits](http://mail-archives.apache.org/mod_mbox/eagle-commits/)|
-
-
-### Issue Tracker
-
-[https://issues.apache.org/jira/browse/EAGLE](https://issues.apache.org/jira/browse/EAGLE)
-
-### Eagle Team
-
-#### PMC Members
-
-* [Edward Zhang (张勇)](https://github.com/yonzhang)
-* [Hao Chen(陈浩)](https://github.com/haoch)
-* [Libin Sun(孙立斌)](https://github.com/sunlibin)
-* [Jilin Jiang(将吉麟)](https://github.com/zombiej)
-* [Qingwen Zhao(赵晴雯)](https://github.com/qingwen220)
-* [Hemanth Dendukuri](https://github.com/hdendukuri)
-* [Senthil Kumar](https://github.com/senthilec566)
-* [Arun Manoharan](https://github.com/armanoharan)
-* [Adunuthula, Seshu](https://github.com/seshuad)
-* [Michael Wu (武子扬)](https://github.com/anyway1021)
-
-#### Commiters
-
-* [Edward Zhang (张勇)](https://github.com/yonzhang)
-* [Hao Chen(陈浩)](https://github.com/haoch)
-* [Chaitali Gupta](https://github.com/chaitaligupta)
-* [Libin Sun(孙立斌)](https://github.com/sunlibin)
-* [Jilin Jiang(将吉麟)](https://github.com/zombiej)
-* [Qingwen Zhao(赵晴雯)](https://github.com/qingwen220)
-* [Hemanth Dendukuri](https://github.com/hdendukuri)
-* [Senthil Kumar](https://github.com/senthilec566)
-* [Arun Manoharan](https://github.com/armanoharan)
-* [Adunuthula, Seshu](https://github.com/seshuad)
-* [Liangfei Su (苏良飞)](https://github.com/RalphSu)
-* [Daniel Zhou (周达)](https://github.com/DadanielZ)
-* [Michael Wu (武子扬)](https://github.com/anyway1021)
-* [Jinhu Wu (吴金虎)](https://github.com/wujinhu)
-* [Jijun Tang](https://github.com/r7raul1984)
-
-#### Contributors
-
-* [Prasad Mujumdar](https://github.com/pmujumdar)
-* [Jaspaul Chahal](https://github.com/Jashchahal)
-* [Huizhi Lu](https://github.com/pkuwm)
-* [Jing Ge](https://github.com/JingGe)
-* [boscodurai](https://github.com/boscodurai)
-* [Ju He](https://github.com/joe-hj)
-* [Chang Chen](https://github.com/baibaichen)
-* [Huizhi Lu](https://github.com/pkuwm)
-* [koone](https://github.com/koone)
-* [qinzhaokun](https://github.com/qinzhaokun)
-* [mizeng](https://github.com/mizeng)
-* [chitin](https://github.com/chitin)
-
-### Project History
-
-* **Oct 20th, 2015** Eagle was officially open sourced by [eBay 
Inc.](http://www.ebay.com).
-
-### Credits
-
-* Thanks [eBay Inc.](http://www.ebay.com) to donated this project to open 
source community, first announement at [eBay 
Techblog](http://www.ebaytechblog.com/2015/10/23/eagle-is-your-hadoop-data-secured/).
-
-### Social Network
-
-* **Twitter**: [@TheApacheEagle](https://twitter.com/TheApacheEagle)
-* **Wechat**: Apache_Eagle
-
-### Events and Meetups[^HADOOP]
-
-**Conferences**
-
-* [**IEEE BigData 2015**](http://cci.drexel.edu/bigdata/bigdata2015/): [Eagle: 
User Profile-based Anomaly Detection in Hadoop 
Clusters](http://cci.drexel.edu/bigdata/bigdata2015/APaper.html) by [Chaitali 
Gupta](https://github.com/chaitaligupta) and [Edward 
Zhang](https://github.com/yonzhang) on Oct 29 - Nov 01, 2015 at [Santa Clara, 
CA, USA](https://www.google.com/maps/place/Santa+Clara,+CA)
-* [**China Hadoop Summit 2015**](http://www.chinahadoop.com/english): [Hadoop 
Eagle - Real Time Monitoring 
Platform](http://www.slideshare.net/haoch/hadoop-eaglev4) by [Hao 
Chen](https://github.com/haoch) on July 23 - 24, 2015 at [Shanghai, 
China](https://www.google.com/maps/place/Shanghai,+China)
-* [**Hadoop Summit 2015**](http://2015.hadoopsummit.org/san-jose/): [Hadoop 
Eagle - Real Time Monitoring Framework for eBay 
Hadoop](http://www.slideshare.net/Hadoop_Summit/hadoop-eagle-real-time-monitoring)
 by [Edward Zhand](https://github.com/yonzhang) and [Hao 
Chen](https://github.com/haoch) on June 9 - 11, 2015 at [San Jose, CA, 
USA](https://www.google.com/maps/place/San+Jose,+CA)
-<br/>
-
-
----
-
-#### *Footnotes*
-
-[^HADOOP]:*All mentions of "hadoop" on this page represent Apache Hadoop.*

Reply via email to