Project

General

Profile

D64 OpenAIRE Maintenance Report » History » Version 83

Jochen Schirrwagen, 28/06/2018 09:03 PM

1 78 Marek Horst
h1. D6.4 OpenAIRE Maintenance Report (v2, 28th of June 2018)
2 1 Marek Horst
3
{{toc}}
4
5
h2. Overview
6
7 65 Marek Horst
This document contains information about the status of OpenAIRE2020 workflows, services and content. It provides details about deployment and history of major modifications of the system hosted at ICM, Poland and Zenodo repository hosted at CERN, Switzerland. The official maintenance of the OpenAIRE2020 services began on January 1st, 2015 when the project started.
8 1 Marek Horst
9 70 Marek Horst
_Information Space Data_ section focuses on OpenAIRE data model including stats for main entities, inferred relations, funders, available data sources and records stored in Zenodo repository. 
10 1 Marek Horst
11 70 Marek Horst
_OpenAIRE workflows_ describes in depth all subsequent phases of data processing:
12 65 Marek Horst
* aggregation
13
* Information Space population
14
* deduplication
15
* inference generation
16 67 Alessia Bardi
* Information Space monitoring and publishing
17 65 Marek Horst
18 67 Alessia Bardi
The last section gives insight into software life-cycle of all major services involved in the project, whole infrastructure and most important architectural changes.
19 1 Marek Horst
20 69 Marek Horst
h2. Information Space Data
21 1 Marek Horst
22 53 Marek Horst
The OpenAIRE [[Core Data Model]] comprises the following interlinked entities: 
23
* results ( in form of publications, datasets and patents)
24 79 Marek Horst
* -persons- (removed since 2018.01)
25 53 Marek Horst
* organisations
26
* funders
27
* funding streams
28
* projects
29
* data sources (in form of institutional, thematic, and data repositories, Current Research Information Systems (CRIS), thematic and national aggregators, publication catalogues and entity registries)
30 82 Marek Horst
* software
31 43 Jochen Schirrwagen
32 56 Marek Horst
h3. Content Status
33
34
First table presents numbers for different InformationSpace main entities and fulltexts:
35
36
|*data type*|*count*|
37 80 Marek Horst
|publication metadata|24629933|
38
|dataset metadata|7389872|
39
|projects|2539451|
40
|organizations|126455|
41
|EuropePMC XML fulltext|2071118|
42
|PDF fulltext|3919705|
43 56 Marek Horst
44
Second table provides numbers related to inferences generated by IIS:
45
46
|*inference type*|*count*|
47 80 Marek Horst
|dataset references|1697855|
48
|project references|1066503|
49
|software urls references|40451|
50
|protein db references|266683|
51
|research initiatives references|42709|
52
|documents classified|3165468|
53
|similar documents found|233087235|
54
|citations matched by reference text|16365015|
55
|citations matched by id|6259352|
56 56 Marek Horst
57 80 Marek Horst
Both tables are based on IIS report generated on May 9, 2016 for OpenAIRE production infrastructure (citation matching outcome numbers are related to report generated on November 19 2017, software urls references count was taken from report generated on March 21, 2018).
58 56 Marek Horst
59
h3. Funders
60
61 60 Marek Horst
Table below presents number of publications funded by different funders:
62 56 Marek Horst
63 60 Marek Horst
|*funder/funding*|*count*|
64 81 Marek Horst
|arc|20165|
65
|ec|150642|
66
|fct|40966|
67
|fwf|17881|
68
|hrzz|18504|
69
|mestd|2987|
70
|mzos|2590|
71
|nhmrc|20103|
72
|nih|377242|
73
|nsf|249153|
74
|nwo|18379|
75
|rcuk|59482|
76
|sfi|3257|
77
|snsf|12776|
78
|tubitak|1851|
79
|wt|70525|
80 56 Marek Horst
81 81 Marek Horst
Presented numbers are based on production infrastructure state as of May 9, 2018.
82 56 Marek Horst
83 47 Jochen Schirrwagen
h3. Data Sources
84 48 Jochen Schirrwagen
85 1 Marek Horst
Data sources in OpenAIRE are divided in: 
86 83 Jochen Schirrwagen
* data providers (~1078) OpenAIRE continuously collects information from and which comply with the "OpenAIRE Guidelines":https://guidelines.openaire.eu
87
* data sources (~11785) where metadata are collected from compatible data providers (usually aggregators) and represented in the OpenAIRE portal as links to the publications and datasets (_downloadFrom_).
88 1 Marek Horst
89 51 Jochen Schirrwagen
The table below presents number of data sources grouped by OpenAIRE compatibility level and data source type:
90 52 Marek Horst
91 1 Marek Horst
|*data source type*|*compatibility*|*count*|
92 83 Jochen Schirrwagen
|institutional repository |openaire-3.0 |243 |
93
| |openaire-2.0+ |74 |
94
| |openaire-2.0 |11 |
95
| |openaire-basic |246 |
96
|thematic repository |openaire-3.0 |7 |
97 1 Marek Horst
| |openaire-2.0+ |9 |
98
| |openaire-basic |34 |
99 83 Jochen Schirrwagen
|other publication repository |openaire-3.0 |3 |
100
| |openaire-2.0+ |0 |
101 1 Marek Horst
| |openaire-2.0 |1 |
102 83 Jochen Schirrwagen
| |openaire-basic |30 |
103
|data repository |openaire-data-2.0 |21 |
104
|publication repository aggregator |openaire-3.0 |35 |
105
| |openaire-2.0 |1 |
106
| |openaire-basic |14 |
107
|data repository aggregator |openaire-data |2 |
108
|journals |openaire-3.0 |103 |
109
| |openaire-2.0+ |13 |
110
| |openaire-2.0 |6 |
111
| |openaire-basic |129 |
112
|journal aggregator / publisher |openaire-3.0 |11 |
113
| |openaire-basic |71 |
114 29 Marek Horst
| |proprietary |1 |
115 83 Jochen Schirrwagen
|publication catalogue |proprietary |1 |
116
| |openaire-3.0 |1 |
117
| |openaire-2.0 |11 |
118 29 Marek Horst
|repository registries|proprietary|2 |
119 83 Jochen Schirrwagen
|funder databases |proprietary |16 |
120 1 Marek Horst
121 83 Jochen Schirrwagen
The number of data sources is based on the OpenAIRE-index from June 28, 2018.
122 30 Marek Horst
123
h3. Zenodo Content Status
124
125
|*data type*|*count or size*|
126 77 Marek Horst
|records|378k|
127
|managed files|1.2M|
128
|files total size|38TB|
129 30 Marek Horst
130 77 Marek Horst
Presented numbers are based on Zenodo repository status on March 2018.
131 18 Alessia Bardi
132
h2. [[OpenAIRE workflows]]
133
134
The OpenAIRE aggregation system is based on the "D-NET software toolkit":http://www.d-net.research-infrastructures.eu/. D-NET is a service-oriented framework specifically designed to support developers at constructing custom aggregative infrastructures in a cost-effective way. D-NET offers data management services capable of providing access to different kinds of external data sources, storing and processing information objects of any data models, converting them into common formats, and exposing information objects to third-party applications through a number of standard access API. Most importantly, D-NET offers infrastructure enabling services that facilitate the construction of domain-specific aggregative infrastructures by selecting and configuring the needed services and easily combining them to form autonomic data processing workflows. 
135
136
The Enabling Layer contains the Services supporting the application framework. These provide functionalities such as Service registration, discovery, subscription and notification and data transfer mechanisms through ResultSet Services. Most importantly, these Services are configured to orchestrate Services of other layers to fulfil the OpenAIRE specific requirements and implement the *[[OpenAIRE workflows]]*.
137
138
h2. Services
139
140
h3. Software life-cycle
141
142
h4. D-NET services
143 1 Marek Horst
144 73 Claudio Atzori
The D-NET services are shipped as web applications and deployed on the tomcat application server (v7.0.52) on three distinct systems: dev, beta, production. To support the deployment process all the software codebase is versioned on "SVN":https://svn-public.driver.research-infrastructures.eu/driver/dnet45 and the project is managed with maven, whose artifacts are automatically built on a continuous integration system ("Jenkins":https://jenkins-dnet.d4science.org) and hosted on a dedicated maven repository ("nexus":http://maven.research-infrastructures.eu/nexus), while webapp builds are made available via "http server":http://ppa.research-infrastructures.eu/ci_upload. The mentioned tools supporting the software lifecycle are maintained by CNR.
145 1 Marek Horst
146
The D-NET services deployment is performed in subsequent stages:
147
* The development infrastructure plays the role of test bench for the integration of the software developed by different institutions. It is maintained by CNR and runs mostly un-released code and contains mock or subsets of the data available on the production system.
148
* The beta infrastructure runs only released code. It is maintained by ICM and consists of the final integration stage where all the system workflows are tested on the real data (not necessarily the same data as the production system) before making them available to the production system. Although the software running on the beta system is not yet production ready, its portal is publicly accessible in order to showcase new features and data.
149
* The production infrastructure is maintained by ICM and runs only code that was tested on the beta system.
150 18 Alessia Bardi
151 1 Marek Horst
D-NET backend services are packed in four different web applications, each of them running on a dedicated tomcat instance.
152 18 Alessia Bardi
153 1 Marek Horst
h4. Information Inference Service
154 26 Marek Horst
155 59 Marek Horst
"Information Inference Service":https://github.com/openaire/iis is an oozie application providing set of inference algorithms deployed on Hadoop cluster. Each new IIS release is deployed into unique, dedicated HDFS location. This way different IIS versions can be utilized by different D-Net environments: beta and production. 
156 1 Marek Horst
157 59 Marek Horst
Formerly IIS was being deployed on CDH4 cluster. Since October 1st, 2015 dedicated "cdh5 branch":https://github.com/openaire/iis/commits/cdh5 was created where new SPARK modules were introduced and existing modules were optimized. On November 20, 2016 for the first time all inferences in production infrastructure were generated by IIS deployed on new CDH5 OCEAN cluster. Both stability and major performance increase were noticed.
158
159 63 Marek Horst
Currently IIS heavily depends on the following technologies:
160 68 Marek Horst
* "Java Platform Standard Edition (Java SE) 8":http://docs.oracle.com/javase/8/docs/
161 63 Marek Horst
* "Apache Avro":https://avro.apache.org/ hdfs data serialization
162
* "Apache Hadoop":http://hadoop.apache.org/ framework for distributed computing
163 64 Marek Horst
* "Apache Oozie":http://oozie.apache.org/ workflow definitions
164 63 Marek Horst
* "Apache Pig":https://pig.apache.org transformers, documents similarity
165
* "Apache Spark":http://spark.apache.org affiliation and citation matching algorithms
166 72 Marek Horst
* "Kryo":https://github.com/EsotericSoftware/kryo serialization framework
167 63 Marek Horst
* "Cermine":https://github.com/CeON/CERMINE metadata and text extraction from PDF documents
168
* "Madis":https://github.com/madgik/madis documents classification and reference extraction algorithms
169
170 1 Marek Horst
"Continuous Integration System":http://ci.ceon.pl/view/IIS/ hosted @ICM allows both building IIS artifacts and running full suite of integration tests which are triggered nightly.
171 59 Marek Horst
172 63 Marek Horst
More details on service versioning and deployment can be found on "IIS versioning and deployment":https://issue.openaire.research-infrastructures.eu/projects/openaire/wiki/IIS_versioning_and_deployment wiki page.
173 18 Alessia Bardi
174 1 Marek Horst
h4. Portal
175 23 Marek Horst
176
OpenAIRE portal is hosted at ICM. It uses Joomla! 3.6.2, a free dynamic portal engine and content management system (CMS).
177
178
The Joomla! depends on other upstream applications:
179
180
* Apache 2.4.7
181
* PHP 5.5.9
182
* MySQL 5.5.53
183 1 Marek Horst
* OpenLDAP 2.4.31
184 18 Alessia Bardi
185 1 Marek Horst
h4. Zenodo
186
187
Zenodo repository employs an instance of the Invenio software, developed by CERN.
188 31 Marek Horst
189
Repository is deployed in a production system (https://zenodo.org) and a QA system (https://sandbox.zenodo.org). In total the two systems are running on 30 VMs hosted in CERNs OpenStack infrastructure. All machines are configured using Puppet and are running on top of CERN CentOS 7.2.
190
191
Zenodo/Invenio depends on the following applications:
192
- HAProxy for load balancing
193
- Nginx for serving static content and proxying request to application server
194
- UWSGI as application server for Zenodo/Invenio application
195
- Redis for memory cache
196
- RabbitMQ as message broker
197
- Celery as distributed task queue
198
- PostgreSQL as database
199
- Elasticsearch as search engine
200
201 1 Marek Horst
Deployment process is described at http://zenodo.readthedocs.io/projectlifecycle.html#release-process
202 33 Marek Horst
203
See https://github.com/zenodo/zenodo/commits/production for changes to Zenodo production system (does not include changes to Invenio modules).
204 35 Marek Horst
205
Zenodo repository was relaunched on Invenio v3 alpha on September 12, 2016.
206 18 Alessia Bardi
207 1 Marek Horst
h3. Infrastructure services
208 18 Alessia Bardi
209 1 Marek Horst
Because OpenAIRE2020 services are a continuation and incremental extension of the services already present that resulted from OpenAIRE+ project, so they are still hosted on that same machines. More details are available at "OpenAIRE+ WP5 Maintenance Report":http://wiki.openaire.eu/xwiki/bin/view/OpenAIREplus%20Specific/WP5%20Maintenance%20Report.
210 18 Alessia Bardi
211 1 Marek Horst
h4. Hadoop clusters
212 18 Alessia Bardi
213 1 Marek Horst
h5. DM hadoop cluster
214
215
CDH version: @cdh4.3.1@
216
217
h5. IIS hadoop cluster
218 24 Marek Horst
219
There were two IIS clusters deployed:
220 39 Marek Horst
* old CDH4 IIS cluster, version @cdh4.3.1@, in operation until December 9, 2016 
221 1 Marek Horst
* new CDH5 IIS cluster deployed on March 22, 2016 in OCEAN infrastructure, supports MRv2 on YARN and SPARK
222 24 Marek Horst
223
CDH5 cluster version history:
224 27 Marek Horst
** @5.5.2@ deployment on March 22, 2016
225
** @5.5.2 -> 5.7.5@ upgrade on November 30, 2016
226 24 Marek Horst
** @5.7.5 -> 5.9.0@ upgrade on December 8, 2016
227 1 Marek Horst
228
h4. Databases
229 28 Marek Horst
230
|_database type_|_usage_|_version_|
231 24 Marek Horst
| postgress | statistics | @9.1.23@ |
232
| postgress | DNet services | @9.3.14@ |
233
| mongodb | DNet services | @3.2.6@ |
234 1 Marek Horst
| virtuoso | LOD | @7.2@ |
235 41 Marek Horst
236 18 Alessia Bardi
h4. Piwik analytics platform
237 24 Marek Horst
238
Currently deployed Piwik version: @2.17.1@, since December 6, 2016.
239 40 Marek Horst
240 24 Marek Horst
h4. ownCloud filesync platform
241 40 Marek Horst
242 18 Alessia Bardi
Deployed at https://box.openaire.eu. Current version: @8.2.7@, since October 19, 2016.
243 1 Marek Horst
244 76 Marek Horst
h3. Services monitoring
245
246
The following technologies are in use at ICM for monitoring purposes:
247
* *Zabbix* - enterprise-class open source monitoring solution for networks, servers and applications
248
* *Monit* - open source tool for monitoring and managing, processes, files, directories and file systems
249
* *Pingdom* - website performance and availability monitoring
250
* *Uptime* - website availability monitoring from worldwide locations
251
252
Their main purpose is to cover the following group of monitoring activities:
253
* Availability
254
** Zabbix - monitoring local network health
255
** pingdom, uptime - services probing
256
* Watchdogs
257
** Monit
258
** Zabbix
259
Both are used for a large variety of monitoring aspects such as:
260
** disk space
261
** cpu usage
262
** network bandwidth usage
263
** services monitoring
264
** automatic services restarting
265
among many others.
266
* Alerts
267
** Monit
268
** Zabbix
269
Both having appropriate thresholds set and both sending emails when those thresholds are exceeded.
270
271
All those monitoring technologies are in use for all production machines and services monitoring. The most crucial machines and services from BETA infrastructure are also being monitored.
272
273
h4. Hadoop cluster monitoring
274
275
CDH5 IIS hadoop cluster was configured and set up using Cloudera Manager instance deployed at ICM OCEAN data center. CM provides many features for monitoring health and performance of the cluster components (hosts and service daemons) as well as the performance and resource demands of the jobs running on cluster. Apart from regular monitoring of various characteristics of the whole system (e.g. CPUs utilization, network/disk/hdfs IO) it is also capable of sending alerts whenever any host on a cluster goes down or when resources are severely exhausted. 
276
277 22 Marek Horst
h3. Architectural changes
278 1 Marek Horst
279 58 Marek Horst
Detailed list of all administrative operations undertaken @ICM is available on [[D64_Servers_Administration_Operations_Changelog|changelog for servers administration operations]] wiki page.
280 18 Alessia Bardi
281 62 Marek Horst
h4. Introducing CDH5 IIS cluster hosted in ICM OCEAN infrastructure
282 1 Marek Horst
283
Slave node specification:
284
* Huawei RH1288 V3
285
* CPU: 2x Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz (24 cores, 48 threads)
286
* RAM: 128GB
287
* HDD: 4x SATA 6TB 7.2K RPM (HDFS)
288
289
Cluster summary (16 slaves):
290
* CPU: 384 cores, 768 threads
291
* RAM: 2048GB
292
* HDD: 384TB (HDFS)
293
294
YARN available resources:
295
* vcores: 640
296
* memory: 1.44TB
297 18 Alessia Bardi
* HDFS: 344TB
298 1 Marek Horst
299
h4. Incorporating resources from old CDH4 IIS cluster into existing DM CDH4 cluster
300 25 Marek Horst
301 1 Marek Horst
This task was possible after shutting down old IIS CDH4 cluster what happened on December 9, 2016.
302 25 Marek Horst
303
h4. Deploying DNet postgress and mongodb databases on separate machines
304
305
Separating @openaire-services@ database instances into dedicated ones (since June 27, 2016):
306
* @openaire-services-postgresql@
307
* @openaire-services-mongodb@
308 34 Marek Horst
309 1 Marek Horst
h4. Updating Zenodo repository infrastructure at CERN
310 34 Marek Horst
311
Several architectural changes were introduced in CERN's infrastructure:
312
* changed storage backend from OpenAFS to CERN EOS (18 PB disk cluster) for better scalability
313
* changed from self-managed MySQL database to CERN Database Team managed PostgreSQL database
314
* deployment of Elasticsearch clusters (6 VMs)
315
* SLC to CentOS 7 on all 30 VMs
316 1 Marek Horst
317
h3. System downtimes
318 36 Marek Horst
319
h4. @ICM
320 1 Marek Horst
321 75 Marek Horst
* [unplanned] November 13, 2017, 8 hours. #3284 main openaire.eu site becoming unavailable, two hard drives down one after another in a 8h period overnight
322 36 Marek Horst
* [planned] November 14, 2016, 2 hours. #2423 dealing with Linux Dirty COW vulnerability: kernel upgrade, OpenAIRE services restart.
323
324
h4. @CERN
325
326
* [unplanned] September 16, 2016, 3 hours. Preparation of a new load balancer caused an automatic update of CERN outerperimeter firewall that automatically closed access to the operational load balancers.
327
* [planned] September 12, 2016, 8 hours. Complete migration from old infrastructure to new infrastructure
328 1 Marek Horst
* minor incidents until September 12, 2016 due to overload of the legacy system