MongoDB Big Data mit Open Source



Ähnliche Dokumente
Dynamische Änderung von Ressourcen in OpenStack

Btfs das Dateisystem der Zukunft?

owncloud Unternehmensdaten sicher in eigener Hand

Migration einer bestehenden Umgebung in eine private Cloud mit OpenStack

Ausrollen von Multi-Tier-Applikationen mit Docker

SDN mit OpenStack Neutron & Arista EOS

Systemmanagement mit Puppet und Foreman

OpenStack bei der SAP SE

Linux Kernel Live Patching mit kpatch und kgraft

B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development

Private IaaS Cloud mit OpenStack. Sebastian Zielenski Linux/Unix Consultant & Trainer B1 Systems GmbH zielenski@b1-systems.de

Systemmanagement mit Puppet und Foreman

Orchestrierung einer Private Cloud mit OpenStack Heat

OpenStack Automatisiertes Bereitstellen von Instanzen

Eine eigene Linux-Distribution für den Raspberry Pi mit Yocto

Systemmanagement mit Puppet und Foreman

Softwarepaketierung und Continuous Integration bei Airbus Defence and Space

Systemmanagement mit Puppet und Foreman

OPENNEBULA ALS OPEN SOURCE CLOUD VIRTUALISIERUNGSLÖSUNG

GSCC General Storage Cluster Controller. TSM Verfügbarkeit

Überblick und Vergleich von NoSQL. Datenbanksystemen

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Dokumentenorientierte Datenbanken - MongoDB

B1 Thin Client Management bei der Fraport AG

Softwarepaketierung und Continuous Integration bei Airbus Defence and Space

Best Practices für Installation und Betrieb des Oracle Application Servers unter Linux. Referent: Björn Bröhl, Fachbereichsleiter MT AG

Sichere Netze mit OpenVPN Open Source VPN in Theorie und Praxis

Storage Cluster mit Ceph

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik

INSTALLATIONSANLEITUNG der Version 2.1 (Jänner 2014)

MySQL Installation. AnPr

Apache HBase. A BigTable Column Store on top of Hadoop

Configuration Management mit Verbosy OSDC Eric Lippmann

BitDefender Client Security Kurzanleitung

Cloud Computing mit OpenStack

Safexpert Oracle Datenbank Konnektor. Stand: IBF-Automatisierungs-und Sicherheitstechnik GmbH A-6682 Vils Bahnhofstraße 8

Dateisysteme und Datenverwaltung in der Cloud

findet sich im Oplog dazu auch ein entsprechender Eintrag:

Big Data Informationen neu gelebt

Elasticsearch aus OPS-Sicht Teil1. Markus Rodi Karlsruhe,

Entwicklungen bei der Linux Clustersoftware

Open Source Data Center Virtualisierung mit OpenNebula CeBIT Bernd Erk

Herausforderungen des Enterprise Endpoint Managements

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Solaris Cluster. Dipl. Inform. Torsten Kasch Bielefeld.DE> 8. Januar 2008

PostgreSQL in großen Installationen

Zend PHP Cloud Application Platform

R-BACKUP MANAGER v5.5. Installation

Installationsbeschreibung Flottenmanager 7.1

NoSQL mit Postgres 15. Juni 2015

Brownbag Session Grundlagen Virtualisierung Von VM s und Containern

Proxmox VE - mit OpenSource Virtualisierung leicht gemacht

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Hochverfügbare Virtualisierung mit Open Source

Open Source Data Center Virtualisierung mit OpenNebula LinuxTag Berlin. Bernd Erk

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Seite Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung

Use AMW to deploy to OpenShift

Open Source als de-facto Standard bei Swisscom Cloud Services

Nagios-Netzwerküberwachung. bei den Stadtwerken Amberg. Fehler erkennen, bevor der Kunde sie wahrnimmt!

Mapbender3 Workshop. Christian Wygoda. FOSSGIS Dessau 2012

Lokale Installation von DotNetNuke 4 ohne IIS

Lehrveranstaltung Grundlagen von Datenbanken

Fragen zur GridVis MSSQL-Server

Installationsanleitung dateiagent Pro

Der Product Activation Manager (PAM) dient dazu Software-Lizenzen anzuzeigen, zu verwalten und abzurufen.

SIMLUX: Virtualisierung. Simply Managed Linux

MongoDB. kurz und bündig für den ORACLE-DBA. Thomas Köppel März 2017

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

SAP DB und OpenOffice.org

NoSQL. Einblick in die Welt nicht-relationaler Datenbanken. Christoph Föhrdes. UnFUG, SS

Hardware- und Softwareanforderungen für die Installation von California.pro

Entwicklungsumgebungen mit Vagrant

Linux Cluster mit Pacemaker und Heartbeat 3

Virtualisierung. Es geht auch anders. Ein Erfahrungsbericht zur Enterprise Virtualisierung mit Open-Source-Technologien. Stefan Grote GONICUS GmbH

Avira AntiVir Exchange. Installation von Avira AntiVir Exchange in einer Database Availability Group. Kurzanleitung

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Download, Installation und Autorisierung der Lasergene Software. Bitte unbedingt beachten!

nftables Der neue Paketfilter im Linux-Kernel

Horstbox VoIP. Stefan Dahler. 1. HorstBox Konfiguration. 1.1 Einleitung

Benutzerhandbuch. bintec elmeg GmbH. Benutzerhandbuch. be.ip. Workshops. Copyright Version 1.0, 2015 bintec elmeg GmbH

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

Linux Hochverfügbarkeits-Cluster

HERZLICH WILLKOMMEN SHAREPOINT DEEP DIVE FOR ADMINS IOZ AG 2

presents openqrm Enterprise Presentation Slide no. 1

MGE Datenanbindung in GeoMedia

HA Linux Cluster in der Praxis

HAFTUNGSAUSSCHLUSS URHEBERRECHT

INSTALLATIONSFRAGEBOGEN. IT Fragenkatalog für Confluence /JIRA Angebote mit Fremdhosting

Unified Communication Client Installation Guide

Installationsvoraussetzungen

Arbeiten mit einem lokalen PostgreSQL-Server

Webcast-Serie IT Transformation in die Cloud, Teil 1. Public Cloud - mit Best-Practice-Beispiel hetras GmbH - Henning von Kielpinski, ConSol* GmbH

DOKUMENTATION ky2help V 3.6 Servertests

Oracle APEX Installer

Anleitung zur Einrichtung von Outbound und Inbound Filtern Für DWR-512 (Stand August 2012)

Umzug der Datenbank Firebird auf MS SQL Server

Transkript:

MongoDB Big Data mit Open Source CommitterConf Essen 2014 29. Oktober 2014 Tilman Beitter Linux Consultant & Trainer B1 Systems GmbH beitter@b1-systems.de B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development

Vorstellung B1 Systems gegründet 2004 primär Linux/Open Source-Themen national & international tätig über 60 Mitarbeiter unabhängig von Soft- und Hardware-Herstellern Leistungsangebot: Beratung & Consulting Support Entwicklung Training Betrieb Lösungen dezentrale Strukturen B1 Systems GmbH MongoDB Big Data mit Open Source 2 / 48

Schwerpunkte Virtualisierung (XEN, KVM & RHEV) Systemmanagement (Spacewalk, Red Hat Satellite, SUSE Manager) Konfigurationsmanagement (Puppet & Chef) Monitoring (Nagios & Icinga) IaaS Cloud (OpenStack & SUSE Cloud & RDO) Hochverfügbarkeit (Pacemaker) Shared Storage (GPFS, OCFS2, DRBD & CEPH) Dateiaustausch (owncloud) Paketierung (Open Build Service) Administratoren oder Entwickler zur Unterstützung des Teams vor Ort B1 Systems GmbH MongoDB Big Data mit Open Source 3 / 48

Partner B1 Systems GmbH MongoDB Big Data mit Open Source 4 / 48

Einführung in MongoDB B1 Systems GmbH MongoDB Big Data mit Open Source 5 / 48

Was ist MongoDB? Open Source NoSQL Datenbank schemafrei skalierbar dokumentenorientiert entwickelt durch MongoDB Inc. B1 Systems GmbH MongoDB Big Data mit Open Source 6 / 48

Vergleich RDBMS und NoSQL Vergleich RDBMS und MongoDB-NoSQL RDBMS NoSQL Database Database Table Collection Index Index Row BSON Document Column BSON Field Join Embedding and Linking Primary Key _id Field B1 Systems GmbH MongoDB Big Data mit Open Source 7 / 48

NoSQL Not Only SQL nicht relational keine Tabellenschemata Vermeidung von JOINs horizontale Skalierung B1 Systems GmbH MongoDB Big Data mit Open Source 8 / 48

Das BSON Format Binary JSON bietet mehr Datentypen als JSON ermöglicht Speicherung von Binärdaten entwickelt für MongoDB erweitert zur offiziellen Spezifikation (bsonspec.org) B1 Systems GmbH MongoDB Big Data mit Open Source 9 / 48

Das BSON Format Beispieldokument im BSON-Format: { } "Benutzername": "linus.torvalds", "Name": { "Vorname": "linus", "Nachname": "torvalds", }, "ÜbergeordneterChef": {}, "Kollegen": [ "s.example0", "g.example1" ], "IstAbteilungsleiter": true, "Abteilungen": null, B1 Systems GmbH MongoDB Big Data mit Open Source 10 / 48

Systemkonfiguration B1 Systems GmbH MongoDB Big Data mit Open Source 11 / 48

Hardwarevoraussetzungen Minimale Systemanforderungen: Architektur: 64bit Betriebssystem Multicore CPU Arbeitsspeicher und Speicherplatz: MongoS: OS-Empfehlung Configserver: OS-Empfehlung Datenbankserver: abhängig von Datenbankgröße B1 Systems GmbH MongoDB Big Data mit Open Source 12 / 48

Basiskonfiguration Anpassung der Systemkonfiguration Ulimits Readahead Swap Filesystem Hugepages B1 Systems GmbH MongoDB Big Data mit Open Source 13 / 48

Dateien und Ports Hauptkonfigurationsdatei: /etc/mongodb.conf Logdatei: /var/log/mongodb/mongodb.log Standardports (TCP): 27017: mongod & mongos 27018: monood mit shardsvr 27019: mongod mit configsvr 27017: mongod status page (= port + 1000) B1 Systems GmbH MongoDB Big Data mit Open Source 14 / 48

Komponenten der MongoDB B1 Systems GmbH MongoDB Big Data mit Open Source 15 / 48

Komponenten und Begrifflichkeiten 1/2 mongod mongos ConfigServer ReplicaSets Sharding B1 Systems GmbH MongoDB Big Data mit Open Source 16 / 48

Komponenten und Begrifflichkeiten 2/2 Abbildung : MongoDB Standalone/ReplicaSet B1 Systems GmbH MongoDB Big Data mit Open Source 17 / 48

Aufbau MongoDB Standalone B1 Systems GmbH MongoDB Big Data mit Open Source 18 / 48

Standalone-Instanz Testzwecke Entwicklung kleine Applikationen (keine Redundanz!) B1 Systems GmbH MongoDB Big Data mit Open Source 19 / 48

Konfiguration Standalone Basiskonfiguration: # cat /etc/mongodb.conf fork = true port = 27017 bind_ip = 127.0.0.1 dbpath = /data/mongodb logpath = /var/log/mongodb/mongodb.log logappend = true nohttpinterface = true B1 Systems GmbH MongoDB Big Data mit Open Source 20 / 48

Authentifizierung 1/3 Authentifizierung in Basiskonfiguration inaktiv Benutzerauthentifizierung pro Datenbank Rechtevergabe anhand eines Rollensystems B1 Systems GmbH MongoDB Big Data mit Open Source 21 / 48

Authentifizierung 2/3 Anlegen Admin-User zur Aktivierung des Auth-Systems: $ mongo admin connecting to: admin > db.adduser("admin", "password"); { "user" : "admin", "readonly" : false, "pwd" : "9e7085a6bd3bd9d413444d3adad882bd", "_id" : ObjectId("526c39bbaa18b118ec0fc039") } B1 Systems GmbH MongoDB Big Data mit Open Source 22 / 48

Authentifizierung 3/3 Anlage eines Applikationsbenutzers: $ mongo admin -u admin -p connecting to: admin > use customers > db.adduser({user:"demo",pwd:"password",roles:["read"]}) { "user" : "demo", "pwd" : "cd9297683105acbc2b7d9a4a8e2c043b", "roles" : [ "read" ], "_id" : ObjectId("544df94cb6809cdd0bba4107") } B1 Systems GmbH MongoDB Big Data mit Open Source 23 / 48

Liveaufbau Standalone B1 Systems GmbH MongoDB Big Data mit Open Source 24 / 48

Aufbau MongoDB ReplicaSet B1 Systems GmbH MongoDB Big Data mit Open Source 25 / 48

MongoDB ReplicaSet 1/4 bietet Redundanz kann Kapazität bei Reads erhöhen erleichtert Backupstrategien und Restores besteht aus 3-12 mongod existentes Standalone-System kann migriert werden B1 Systems GmbH MongoDB Big Data mit Open Source 26 / 48

MongoDB ReplicaSet 2/4 B1 Systems GmbH MongoDB Big Data mit Open Source 27 / 48

MongoDB ReplicaSet 3/4 B1 Systems GmbH MongoDB Big Data mit Open Source 28 / 48

MongoDB ReplicaSet 4/4 B1 Systems GmbH MongoDB Big Data mit Open Source 29 / 48

Konfiguration ReplicaSet Basiskonfiguration: # cat /etc/mongodb.conf fork = true port = 27017 bind_ip = 127.0.0.1 dbpath = /data/mongodb logpath = /var/log/mongodb/mongodb.log logappend = true nohttpinterface = true auth = true keyfile = /etc/mongodb.key replset = rs00 B1 Systems GmbH MongoDB Big Data mit Open Source 30 / 48

Konfiguration ReplicaSet Für die interne Authentifizierung der einzelnen Clusterkomponenten wird ein Authkey erstellt: # openssl rand -base64 741 > /etc/mongodb.key # chmod 0600 /etc/auth.key # chown mongodb:mongodb /etc/mongodb.key B1 Systems GmbH MongoDB Big Data mit Open Source 31 / 48

Initialisierung ReplicaSet Basiskonfiguration: $ mongo admin -u admin -p > newset = { _id: rs00, members: [... {_id: 0, host: mongodb-rs00-01:27117 },... {_id: 1, host: mongodb-rs00-02:27127 },... {_id: 2, host: mongodb-rs00-03:27137 }]} > rs.initiate(newset) [...] > rs.status() [...] B1 Systems GmbH MongoDB Big Data mit Open Source 32 / 48

Liveaufbau ReplicaSet B1 Systems GmbH MongoDB Big Data mit Open Source 33 / 48

Aufbau MongoDB ShardedCluster B1 Systems GmbH MongoDB Big Data mit Open Source 34 / 48

MongoDB ShardedCluster 1/5 bietet vertikale Skalierbarkeit kann Kapazität von Writes erhöhen erweitert verfügbaren Speicherplatz B1 Systems GmbH MongoDB Big Data mit Open Source 35 / 48

MongoDB ShardedCluster 2/5 Minimalsetup für einen redundanten MongoDB Cluster: 2 ReplicaSets mit jeweils 3 mongod-instanzen 3 ConfigServer 2 MongoS Instanzen B1 Systems GmbH MongoDB Big Data mit Open Source 36 / 48

MongoDB ShardedCluster 3/5 Abbildung : Sharded Cluster B1 Systems GmbH MongoDB Big Data mit Open Source 37 / 48

MongoDB ShardedCluster 4/5 Abbildung : Sharded Cluster - Beispiel 2 B1 Systems GmbH MongoDB Big Data mit Open Source 38 / 48

MongoDB ShardedCluster 5/5 Abbildung : Sharded Cluster - Beispiel 3 B1 Systems GmbH MongoDB Big Data mit Open Source 39 / 48

Konfiguration ConfigServer Basiskonfiguration: # cat /etc/mongodb.conf fork = true port = 27019 bind_ip = 127.0.0.1 dbpath = /data/mongodb auth = true keyfile = /etc/mongodb.key logpath = /var/log/mongodb/mongodb.log logappend = true nohttpinterface = true configsvr = true B1 Systems GmbH MongoDB Big Data mit Open Source 40 / 48

Konfiguration MongoS Basiskonfiguration: # cat /etc/mongodb.conf fork = true bind_ip = 127.0.0.1 port = 27017 keyfile = /etc/mongodb.key logpath = /var/log/mongodb/mongodb.log logappend = true nohttpinterface = true configdb = mongodb-cfg-01:27019,mongodb-cfg-02:27029,mongodb-cfg-03:27039 B1 Systems GmbH MongoDB Big Data mit Open Source 41 / 48

Initialisierung Cluster 1/2 Anlegen Adminuser Cluster: $ mongo admin connecting to: admin mongos> db.adduser("admin", "password"); { "user" : "admin", "readonly" : false, "pwd" : "9e7085a6bd3bd9d413444d3adad882bd", "_id" : ObjectId("526c39bbaa18b118ec0fc039") } B1 Systems GmbH MongoDB Big Data mit Open Source 42 / 48

Initialisierung Cluster 2/2 Anlegen Adminuser Cluster: $ mongo admin -u admin -p connecting to: admin mongos> use config switched to db config mongos> sh.addshard("rs00/mongodb-rs00-01:27117") { "shardadded" : "rs00", "ok" : 1 } mongos> sh.status() [...] B1 Systems GmbH MongoDB Big Data mit Open Source 43 / 48

Aktivierung Sharding Anlegen Adminuser Cluster: mongos> sh.enablesharding("demodata") { "ok" : 1 } mongos> sh.shardcollection("demodata.products", {_id:1}) { "collectionsharded" : "demodata.products", "ok" : 1 } mongos> sh.status() [...] B1 Systems GmbH MongoDB Big Data mit Open Source 44 / 48

Liveaufbau ReplicaSet B1 Systems GmbH MongoDB Big Data mit Open Source 45 / 48

Optionale Komponenten B1 Systems GmbH MongoDB Big Data mit Open Source 46 / 48

Optionale Komponenten Arbiter Hidden Member Delayed Member B1 Systems GmbH MongoDB Big Data mit Open Source 47 / 48

Vielen Dank für Ihre Aufmerksamkeit! Bei weiteren Fragen wenden Sie sich bitte an info@b1-systems.de oder +49 (0)8457-931096 B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development