awips2/install/install-edex/index.html

1469 lines
39 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Documentation for all things AWIPS.">
<link rel="canonical" href="http://unidata.github.io/awips2/install/install-edex/">
<meta name="author" content="mjames@ucar.edu">
<link rel="shortcut icon" href="../../images/favicon.ico">
<meta name="generator" content="mkdocs-0.16.3, mkdocs-unidata-1.5.4">
<title>Install EDEX - Unidata AWIPS User Manual</title>
<script src="../../assets/javascripts/modernizr-56ade86843.js"></script>
<link rel="stylesheet" href="../../assets/stylesheets/application-b1a1975878.css">
<link rel="stylesheet" href="../../assets/stylesheets/application-f78e5cb881.palette.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
<style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="../../css/extra.css">
</head>
<body data-md-color-primary="blue-grey" data-md-color-accent="light-blue">
<svg class="md-svg">
<defs>
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
</defs>
</svg>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="search">
<label class="md-overlay" data-md-component="overlay" for="drawer"></label>
<header class="md-header" data-md-component="header">
<nav class="md-header-nav md-grid">
<a href="../.."><div class="background-logo" style="background-image: url(../../images/cave.png);"></div>
<div class="md-flex">
<div class="md-flex__cell md-flex__cell--shrink">
<a href="../.." title="Unidata AWIPS User Manual" class="md-icon md-icon--home md-header-nav__button">
</a>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
</div>
<div class="md-flex__cell md-flex__cell--stretch">
<span class="md-flex__ellipsis md-header-nav__title">
Install EDEX
</span>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
<div class="md-search" data-md-component="search">
<div class="md-search__overlay"></div>
<div class="md-search__inner">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" required placeholder="Search" accesskey="s" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query">
<label class="md-icon md-search__icon" for="search"></label>
<button type="reset" class="md-icon md-search__icon" data-md-component="reset">close</button>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="result">
<div class="md-search-result__meta" data-md-lang-result-none="No matching documents" data-md-lang-result-one="1 matching document" data-md-lang-result-other="# matching documents">
Type to start searching
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<div class="md-header-nav__source">
<a href="https://github.com/Unidata/awips2" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg viewBox="0 0 24 24" width="24" height="24">
<use xlink:href="#github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container">
<main class="md-main">
<div class="md-main__inner md-grid" data-md-component="container">
<div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="drawer">
<i class="md-icon md-icon--home md-nav__button"></i>
Unidata AWIPS User Manual
</label>
<div class="md-nav__source">
<a href="https://github.com/Unidata/awips2" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg viewBox="0 0 24 24" width="24" height="24">
<use xlink:href="#github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." title="Home" class="md-nav__link">
Home
</a>
</li>
<li class="md-nav__item">
<a href="../install-cave/" title="Install CAVE" class="md-nav__link">
Install CAVE
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
<label class="md-nav__link md-nav__link--active" for="toc">
Install EDEX
</label>
<a href="./" title="Install EDEX" class="md-nav__link md-nav__link--active">
Install EDEX
</a>
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#linux-one-time-setup" title="Linux One-Time Setup" class="md-nav__link">
Linux One-Time Setup
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#users-and-groups" title="Users and Groups" class="md-nav__link">
Users and Groups
</a>
</li>
<li class="md-nav__item">
<a href="#iptables" title="iptables" class="md-nav__link">
iptables
</a>
</li>
<li class="md-nav__item">
<a href="#disable-selinux" title="Disable SELinux" class="md-nav__link">
Disable SELinux
</a>
</li>
<li class="md-nav__item">
<a href="#ssd-mount" title="SSD Mount" class="md-nav__link">
SSD Mount
</a>
</li>
<li class="md-nav__item">
<a href="#yum-install" title="yum install" class="md-nav__link">
yum install
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#edex-setup" title="EDEX Setup" class="md-nav__link">
EDEX Setup
</a>
</li>
<li class="md-nav__item">
<a href="#ldm" title="LDM" class="md-nav__link">
LDM
</a>
</li>
<li class="md-nav__item">
<a href="#start-and-stop" title="Start and Stop" class="md-nav__link">
Start and Stop
</a>
</li>
<li class="md-nav__item">
<a href="#directories-to-know" title="Directories to know" class="md-nav__link">
Directories to know
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
<label class="md-nav__link" for="nav-4">
CAVE User Manual
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-4">
CAVE User Manual
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../cave/d2d-perspective/" title="D2D Perspective" class="md-nav__link">
D2D Perspective
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/maps-views-projections/" title="Maps, Views, Projections" class="md-nav__link">
Maps, Views, Projections
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/bundles-and-procedures/" title="Bundles and Procedures" class="md-nav__link">
Bundles and Procedures
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/import-export/" title="Import/Export" class="md-nav__link">
Import/Export
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/localization-perspective/" title="Localization Perspective" class="md-nav__link">
Localization Perspective
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/ncp-perspective/" title="NCP Perspective" class="md-nav__link">
NCP Perspective
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/nsharp/" title="NSHARP" class="md-nav__link">
NSHARP
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/warngen/" title="WarnGen Walkthrough" class="md-nav__link">
WarnGen Walkthrough
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/goes-16-satellite/" title="GOES-16 (GOES-R)" class="md-nav__link">
GOES-16 (GOES-R)
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-gis-shapefiles/" title="GIS and Shapefiles" class="md-nav__link">
GIS and Shapefiles
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-gridded-models/" title="Volume Browser" class="md-nav__link">
Volume Browser
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-tools/" title="Display Tools" class="md-nav__link">
Display Tools
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-radar-tools/" title="Radar Tools" class="md-nav__link">
Radar Tools
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-edit-menus/" title="Editing Menus" class="md-nav__link">
Editing Menus
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/cave-localization/" title="Change Localization" class="md-nav__link">
Change Localization
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
<label class="md-nav__link" for="nav-5">
EDEX User Manual
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-5">
EDEX User Manual
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../start-edex/" title="EDEX Start and Stop" class="md-nav__link">
EDEX Start and Stop
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/ldm/" title="LDM Feeds" class="md-nav__link">
LDM Feeds
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/data-distribution-files/" title="Data Distribution Files" class="md-nav__link">
Data Distribution Files
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/new-grid/" title="Ingest a New Grid" class="md-nav__link">
Ingest a New Grid
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/data-purge/" title="Purging and Retention" class="md-nav__link">
Purging and Retention
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/edex-users/" title="Monitor Users" class="md-nav__link">
Monitor Users
</a>
</li>
<li class="md-nav__item">
<a href="../../edex/data-plugins/" title="Data Plugins" class="md-nav__link">
Data Plugins
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
<label class="md-nav__link" for="nav-6">
Supported Data Types
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-6">
Supported Data Types
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../cave/d2d-grids/" title="Gridded Model Display" class="md-nav__link">
Gridded Model Display
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-pointdata-surface-obs/" title="Surface Obs" class="md-nav__link">
Surface Obs
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-satellite/" title="Satellite Imagery" class="md-nav__link">
Satellite Imagery
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-radar/" title="NEXRAD Radar" class="md-nav__link">
NEXRAD Radar
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-uair/" title="Upper Air" class="md-nav__link">
Upper Air
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-hydro/" title="NCEP/Hydro" class="md-nav__link">
NCEP/Hydro
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/d2d-map-resources/" title="Map Overlays" class="md-nav__link">
Map Overlays
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
<label class="md-nav__link" for="nav-7">
Python API
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-7">
Python API
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../python/python-awips-data-access/" title="Overview" class="md-nav__link">
Overview
</a>
</li>
<li class="md-nav__item">
<a href="../../python/maps-database/" title="Maps Database" class="md-nav__link">
Maps Database
</a>
</li>
<li class="md-nav__item">
<a href="../../python/awips-grids-and-cartopy/" title="AWIPS Grids and Cartopy" class="md-nav__link">
AWIPS Grids and Cartopy
</a>
</li>
<li class="md-nav__item">
<a href="../../python/satellite-imagery/" title="Satellite Imagery" class="md-nav__link">
Satellite Imagery
</a>
</li>
<li class="md-nav__item">
<a href="../../python/nexrad-level-3-radar/" title="NEXRAD Level 3 Radar" class="md-nav__link">
NEXRAD Level 3 Radar
</a>
</li>
<li class="md-nav__item">
<a href="../../python/upper-air-bufr-soundings/" title="Upper air BUFR Soundings" class="md-nav__link">
Upper air BUFR Soundings
</a>
</li>
<li class="md-nav__item">
<a href="../../python/model-sounding-data/" title="Model Sounding Data" class="md-nav__link">
Model Sounding Data
</a>
</li>
<li class="md-nav__item">
<a href="../../python/map-resources-and-topography/" title="Map Resources and Topography" class="md-nav__link">
Map Resources and Topography
</a>
</li>
<li class="md-nav__item">
<a href="../../python/surface-obs-plot-metpy/" title="Surface Obs Plot with MetPy" class="md-nav__link">
Surface Obs Plot with MetPy
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
<label class="md-nav__link" for="nav-8">
Development
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-8">
Development
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../dev/awips-development-environment/" title="AWIPS Development Environment (ADE)" class="md-nav__link">
AWIPS Development Environment (ADE)
</a>
</li>
<li class="md-nav__item">
<a href="../../dev/build-nsharp-macos/" title="Building NSHARP for macOS" class="md-nav__link">
Building NSHARP for macOS
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
<label class="md-nav__link" for="nav-9">
Appendix
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-9">
Appendix
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../appendix/appendix-grid-parameters/" title="AWIPS Grid Parameters" class="md-nav__link">
AWIPS Grid Parameters
</a>
</li>
<li class="md-nav__item">
<a href="../../appendix/appendix-acronyms/" title="Acronyms and Abbreviations" class="md-nav__link">
Acronyms and Abbreviations
</a>
</li>
<li class="md-nav__item">
<a href="../../appendix/appendix-cots/" title="COTS and FOSS" class="md-nav__link">
COTS and FOSS
</a>
</li>
<li class="md-nav__item">
<a href="../../appendix/appendix-wsr88d/" title="WSR-88D Product Table" class="md-nav__link">
WSR-88D Product Table
</a>
</li>
<li class="md-nav__item">
<a href="../../cave/cave-keyboard-shortcuts/" title="Keyboard Shortcuts" class="md-nav__link">
Keyboard Shortcuts
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#linux-one-time-setup" title="Linux One-Time Setup" class="md-nav__link">
Linux One-Time Setup
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#users-and-groups" title="Users and Groups" class="md-nav__link">
Users and Groups
</a>
</li>
<li class="md-nav__item">
<a href="#iptables" title="iptables" class="md-nav__link">
iptables
</a>
</li>
<li class="md-nav__item">
<a href="#disable-selinux" title="Disable SELinux" class="md-nav__link">
Disable SELinux
</a>
</li>
<li class="md-nav__item">
<a href="#ssd-mount" title="SSD Mount" class="md-nav__link">
SSD Mount
</a>
</li>
<li class="md-nav__item">
<a href="#yum-install" title="yum install" class="md-nav__link">
yum install
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#edex-setup" title="EDEX Setup" class="md-nav__link">
EDEX Setup
</a>
</li>
<li class="md-nav__item">
<a href="#ldm" title="LDM" class="md-nav__link">
LDM
</a>
</li>
<li class="md-nav__item">
<a href="#start-and-stop" title="Start and Stop" class="md-nav__link">
Start and Stop
</a>
</li>
<li class="md-nav__item">
<a href="#directories-to-know" title="Directories to know" class="md-nav__link">
Directories to know
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/Unidata/awips2/edit/master/docs/install/install-edex.md" title="Edit this page" class="md-icon md-content__icon">edit</a>
<h1 id="edex-for-linux"><i class="fa fa-linux"></i> EDEX for Linux<a class="headerlink" href="#edex-for-linux" title="Permanent link"></a></h1>
<p><a href="http://www.unidata.ucar.edu/software/awips2/installEDEX.sh">installEDEX.sh <i class="fa fa-download"></i></a> </p>
<p>Installs to subdirectories in <strong>/awips2</strong></p>
<div class="admonition note">
<p class="admonition-title">System Requirements</p>
<ul>
<li><strong>64-bit</strong> CentOS/RHEL 6 or 7</li>
<li><strong>8 CPU</strong> cores (16 recommended) </li>
<li><strong>16GB</strong> RAM (32+GB recommended for full IDD processing)</li>
<li><strong>500GB</strong> disk space, more if you build a data archive.</li>
</ul>
</div>
<p>An <strong>SSD is an especially good idea</strong>, mounted to <strong>/awips2/edex/data/hdf5</strong> to contain the decoded data files, or mounted to <strong>/awips2</strong> to contain the entire AWIPS software system.</p>
<p>EDEX <strong>can scale to any system</strong>, either by adjusting the incoming data feeds, or the resources allocated to each data type, but when selecting a server, <strong>more is always better</strong>.</p>
<p><strong>64-bit CentOS/RHEL 6 and 7</strong> are the only supported Linux operating systems. You may have luck with Fedora Core 12 to 14 and Scientific Linux. EDEX is not developed, tested, or supported on Debian, Ubuntu, SUSE, Solaris, OS X, or Windows.</p>
<hr />
<h2 id="linux-one-time-setup">Linux One-Time Setup<a class="headerlink" href="#linux-one-time-setup" title="Permanent link"></a></h2>
<p>All of these command should be run as <strong>root</strong>!</p>
<h3 id="users-and-groups">Users and Groups<a class="headerlink" href="#users-and-groups" title="Permanent link"></a></h3>
<p>Create user and group awips:fxalpha</p>
<pre><code>groupadd fxalpha &amp;&amp; useradd -G fxalpha awips
</code></pre>
<p>or if the awips account already exists:</p>
<pre><code>groupadd fxalpha &amp;&amp; usermod -G fxalpha awips
</code></pre>
<hr />
<h3 id="iptables">iptables<a class="headerlink" href="#iptables" title="Permanent link"></a></h3>
<p>Configure iptables to allow TCP connections on ports 5672, 9581 and 9582</p>
<ul>
<li>
<p><strong>To open ports to all connections</strong></p>
<pre><code>vi /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5672 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9581 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9582 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
</code></pre>
</li>
<li>
<p><strong>To open ports to specific IP addresses</strong></p>
<pre><code>vi /etc/sysconfig/iptables
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:EXTERNAL - [0:0]
:EDEX - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp --icmp-type any -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -s 128.117.140.0/24 -j EDEX
-A INPUT -s 128.117.156.0/24 -j EDEX
-A INPUT -j EXTERNAL
-A EXTERNAL -j REJECT
-A EDEX -m state --state NEW -p tcp --dport 22 -j ACCEPT
-A EDEX -m state --state NEW -p tcp --dport 5672 -j ACCEPT
-A EDEX -m state --state NEW -p tcp --dport 9581 -j ACCEPT
-A EDEX -m state --state NEW -p tcp --dport 9582 -j ACCEPT
-A EDEX -j REJECT
COMMIT
</code></pre>
</li>
</ul>
<blockquote>
<p>In this example, the IP range <code>128.117.140.0/24</code> will match all 128.117.140.<em> addresses, while <code>128.117.156.0/24</code> will match 128.117.156.</em>.</p>
</blockquote>
<p><strong>Restart iptables</strong></p>
<pre><code>service iptables restart
</code></pre>
<p>For CentOS 7 error <em>Redirecting to /bin/systemctl restart iptables.service
Failed to restart iptables.service: Unit iptables.service failed to load: No such file or directory.</em></p>
<p>The solution is:</p>
<pre><code>yum install iptables-services
systemctl enable iptables
service iptables restart
</code></pre>
<hr />
<h3 id="disable-selinux">Disable SELinux<a class="headerlink" href="#disable-selinux" title="Permanent link"></a></h3>
<pre><code>vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
</code></pre>
<div class="admonition note">
<p class="admonition-title">Read more about selinux at <a href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Enabling_and_Disabling_SELinux-Disabling_SELinux.html">redhat.com</a></p>
</div>
<p><strong>reboot if necessary</strong>, required if iptables was updated.</p>
<hr />
<h3 id="ssd-mount">SSD Mount<a class="headerlink" href="#ssd-mount" title="Permanent link"></a></h3>
<p>Though a Solid State Drive is not required, it is <em>strongly encouraged</em> in order to handle the amount of disk IO for real-time IDD feeds. </p>
<p>The simplest configuration would be to mount an 500GB+ SSD to <strong>/awips2</strong> to contain both the installed software (approx. 20GB) and the real-time data (approx. 150GB per day).</p>
<p>The default <a href="">purge rules</a> are configured such that <strong>/awips2</strong> does not exceed 450GB. <strong>/awips2/data_store</strong> is scoured every hour and should not exceed 50GB. </p>
<p>If you want to increase EDEX data retention you should mount a large disk to <strong>/awips2/edex/data/hdf5</strong> since this will be where the archived processed data exists, and any case studies created.</p>
<pre><code> Filesystem Size Used Avail Use% Mounted on
/dev/sda1 30G 2.5G 26G 9% /
tmpfs 28G 0 28G 0% /dev/shm
/dev/sdc1 788G 81G 667G 11% /awips2
/dev/sdb1 788G 41G 708G 10% /awips2/edex/data/hdf5
</code></pre>
<hr />
<h3 id="yum-install">yum install<a class="headerlink" href="#yum-install" title="Permanent link"></a></h3>
<p>Download the script <a href="http://www.unidata.ucar.edu/software/awips2/installEDEX.sh">installEDEX.sh</a> to setup and run yum to install AWIPS packages:</p>
<pre><code>wget http://www.unidata.ucar.edu/software/awips2/installEDEX.sh
chmod 755 ./installEDEX.sh
./installEDEX.sh
</code></pre>
<div class="admonition info">
<p class="admonition-title">What does <a href="http://www.unidata.ucar.edu/software/awips2/installEDEX.sh">installEDEX.sh</a> do?</p>
<ol>
<li>Downloads <a href="http://www.unidata.ucar.edu/software/awips2/doc/awips2.repo">awips2.repo</a> or <a href="http://www.unidata.ucar.edu/software/awips2/doc/el7.repo">el7.repo</a> to <strong>/etc/yum.repos.d/awips2.repo</strong></li>
<li>Runs <strong>yum clean all</strong></li>
<li>Runs <strong>yum groupinstall awips2-server</strong></li>
</ol>
</div>
<hr />
<h2 id="edex-setup">EDEX Setup<a class="headerlink" href="#edex-setup" title="Permanent link"></a></h2>
<p>The command <strong>edex setup</strong> attempts to add the domain name of your server. </p>
<ul>
<li>
<p><strong>/awips2/edex/bin/setup.env</strong> should contain the fully-qualified domain name, externally resolved, localhost will not work. </p>
<pre><code>export AW_SITE_IDENTIFIER=OAX
export EDEX_SERVER=edex-cloud.unidata.ucar.edu
</code></pre>
</li>
<li>
<p><strong>/awips2/ldm/etc/ldmd.conf</strong> contains the upstream server (default <em>idd.unidata.ucar.edu</em>, which requires you connect form a .edu domain). This file also contains the <strong>edexBridge</strong> hostname (default <em>localhost</em>). </p>
<pre><code>EXEC "pqact -e"
EXEC "edexBridge -s localhost"
</code></pre>
</li>
<li>
<p><strong>/etc/security/limits.conf</strong> defines the number of user processes and files (this step is automatically performed by <strong>installEDEX.sh</strong>). Without these definitions, Qpid is known to crash during periods of high ingest.</p>
<pre><code>awips soft nproc 65536
awips soft nofile 65536
</code></pre>
</li>
</ul>
<hr />
<h2 id="ldm">LDM<a class="headerlink" href="#ldm" title="Permanent link"></a></h2>
<p>EDEX installs its own version of the LDM to the directory <strong>/awips2/ldm</strong>. As with a the default LDM configuration, two files are used to control what IDD feeds are ingested:</p>
<ul>
<li>
<p><strong>/awips2/ldm/etc/ldmd.conf</strong> - specifies an upstream LDM server to request data from, and what feeds to request:</p>
<pre><code>REQUEST NEXRAD3 "./p(DHR|DPR|DSP|DTA|DAA|DVL|EET|HHC|N0Q|N0S|N0U|OHA|NVW|NTV|NST)." idd.unidata.ucar.edu
REQUEST FNEXRAD|IDS|DDPLUS|UNIWISC ".*" idd.unidata.ucar.edu
REQUEST NGRID ".*" idd.unidata.ucar.edu
REQUEST NOTHER "^TIP... KNES.*" idd.unidata.ucar.edu
</code></pre>
<div class="admonition note">
<p class="admonition-title"><a href="https://www.unidata.ucar.edu/software/ldm/ldm-current/basics/ldmd.conf.html">read more about ldmd.conf in the LDM User Manual</a></p>
</div>
</li>
<li>
<p><strong>/awips2/ldm/etc/pqact.conf</strong> - specifies the WMO headers and file pattern actions to request:</p>
<pre><code># Redbook graphics
ANY ^([PQ][A-Z0-9]{3,5}) (....) (..)(..)(..) !redbook [^/]*/([^/]*)/([^/]*)/([^/]*)/([0-9]{8})
FILE -overwrite -close -edex /awips2/data_store/redbook/\8/\4\5Z_\8_\7_\6-\1_\2_(seq).rb.%Y%m%d%H
# NOAAPORT GINI images
NIMAGE ^(sat[^/]*)/ch[0-9]/([^/]*)/([^/]*)/([^ ]*) ([^/]*)/([^/]*)/([^/]*)/ (T[^ ]*) ([^ ]*) (..)(..)(..)
FILE -overwrite -close -edex /awips2/data_store/sat/\(11)\(12)Z_\3_\7_\6-\8_\9_(seq).satz.%Y%m%d%H
</code></pre>
<div class="admonition note">
<p class="admonition-title"><a href="https://www.unidata.ucar.edu/software/ldm/ldm-current/basics/pqact.conf.html">read more about pqact.conf in the LDM User Manual</a></p>
</div>
<div class="admonition tip">
<p class="admonition-title"><a href="../../edex/ldm/">see available AWIPS LDM feeds</a></p>
</div>
</li>
</ul>
<hr />
<h2 id="start-and-stop">Start and Stop<a class="headerlink" href="#start-and-stop" title="Permanent link"></a></h2>
<p>to start all EDEX services, including the LDM:</p>
<pre><code>edex start
Starting EDEX PostgreSQL: [ OK ]
Starting httpd: [ OK ]
Starting QPID [ OK ]
Starting EDEX Camel (request):
Starting EDEX Camel (ingest):
Starting EDEX Camel (ingestGrib):
Starting AWIPS LDM:The product-queue is OK.
</code></pre>
<p>to stop:</p>
<pre><code>edex stop
Stopping EDEX Camel (request):
Stopping EDEX Camel (ingest):
Stopping EDEX Camel (ingestGrib):
Stopping QPID [ OK ]
Stopping httpd: [ OK ]
Stopping EDEX PostgreSQL: [ OK ]
Stopping AWIPS LDM:Stopping the LDM server...
</code></pre>
<p>To manually start, stop, and restart:</p>
<pre><code>service edex_postgres start
service httpd-pypies start
service qpidd start
service edex_camel start
</code></pre>
<p>The fifth service, <strong>edex_ldm</strong>, does <strong>not run at boot</strong> to prevent filling up disk space if EDEX is not running. </p>
<pre><code>ldmadmin start
</code></pre>
<p>To start <em>all services except the LDM</em> (good for troubleshooting):</p>
<pre><code>edex start base
</code></pre>
<p>To restart EDEX</p>
<pre><code>edex restart
</code></pre>
<hr />
<h2 id="directories-to-know">Directories to know<a class="headerlink" href="#directories-to-know" title="Permanent link"></a></h2>
<ul>
<li><code>/awips2</code> - Contains all of the installed AWIPS software. </li>
<li><code>/awips2/edex/logs</code> - EDEX logs.</li>
<li><code>/awips2/httpd_pypies/var/log/httpd</code> - httpd-pypies logs.</li>
<li><code>/awips2/data/pg_log</code> - PostgreSQL logs.</li>
<li><code>/awips2/qpid/log</code> - Qpid logs.</li>
<li><code>/awips2/edex/data/hdf5</code> - HDF5 data store. </li>
<li><code>/awips2/edex/data/utility</code> - Localization store and configuration files. </li>
<li><code>/awips2/ldm/etc</code> - Location of <strong>ldmd.conf</strong> and <strong>pqact.conf</strong></li>
<li><code>/awips2/ldm/logs</code> - LDM logs.</li>
<li><code>/awips2/data_store</code> - Raw data store.</li>
<li><code>/awips2/data_store/ingest</code> - Manual data ingest endpoint.</li>
</ul>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">
<a href="../install-cave/" title="Install CAVE" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
</div>
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Previous
</span>
Install CAVE
</span>
</div>
</a>
<a href="../../cave/d2d-perspective/" title="D2D Perspective" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Next
</span>
D2D Perspective
</span>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
</div>
</a>
</nav>
</div>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-footer-copyright">
<div class="md-footer-copyright__highlight">
Copyright &copy; 2017 Unidata Program Center.
</div>
powered by
<a href="http://www.mkdocs.org" title="MkDocs">MkDocs</a>
and
<a href="http://squidfunk.github.io/mkdocs-material/" title="Material for MkDocs">
Material for MkDocs</a>
</div>
<div class="md-footer-social">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<a href="http://www.unidata.ucar.edu/software/awips2" class="md-footer-social__link fa fa-globe"></a>
<a href="https://github.com/Unidata/awips2" class="md-footer-social__link fa fa-github-alt"></a>
<a href="https://twitter.com/Unidata" class="md-footer-social__link fa fa-twitter"></a>
<a href="https://facebook.com/Unidata" class="md-footer-social__link fa fa-facebook"></a>
</div>
</div>
</div>
</footer>
</div>
<script src="../../assets/javascripts/application-0b7df094bf.js"></script>
<script>app.initialize({url:{base:"../.."}})</script>
</body>
</html>