作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址:http://dongxicheng.org/mapreduce/hadoop-for-windows/ 本博客的文章集合:http://dongxicheng.org/recommend/ 重大消息:我的Hadoop新书《Hadoop
作者:Dong | 新浪微博:西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址:http://dongxicheng.org/mapreduce/hadoop-for-windows/
本博客的文章集合:http://dongxicheng.org/recommend/
重大消息:我的Hadoop新书《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》已经开始在各大网站销售了,购书链接地址: 当当购书网址,京东购书网址,卓越购书网址。新书官方宣传主页: http://hadoop123.com/。
Hadoop从一出生就只面向Linux操作系统,且一直未曾考虑支持Windows操作系统。但随着Hadoop的普及,微软不得不开始为Hadoop增加patch以推进Windows成为生产环境。经过各方努力,Apache Hadoop已经同意将这些windows patch融入到核心代码中(http://hortonworks.com/blog/hadoop-in-windows/),目前,Hadoop svn上已经增加了两个分支:branch-1-win和branch-trunk-win,且Hortonworks联合微软发布了Hadoop windows安装版(http://hortonworks.com/blog/installing-hadoop-on-windows/)。
对于Hadoop平台支持问题,很多读者可能有这样的疑问:既然Hadoop是采用JAVA语言编写的,而JAVA具有跨平台特性,那么为什么官方只推荐Linux作为生产环境,而不推荐Windows呢? 在本文中,我将简单介绍目前Hadoop的哪些特性不能够得到windows平台的支持。
总体上讲,Hadoop中的以下几个特性无法得到windows平台的支持,换句话说,为了支持windows平台,必须修改这几个特性的实现(https://issues.apache.org/jira/browse/HADOOP-8079):
(1)管理脚本。 在Hadoop 1.0的安装目录中有一个bin目录,里面存放着各种shell管理脚本。很明显,对于Windows而言,无法运行直接这些shell脚本,需要对这些脚本进行修改。 在Hadoop Windows中,重新添加了后缀为.cmd的一系列管理脚本。
(2)HDFS权限管理。 HDFS的文件权限管理采用了Linux操作系统的权限管理,如果移植到Hadoop windows上,需要将对应的文件权限管理改为windows中的权限管理机制。
(3)Hadoop native library。 Hadoop中有一种native library机制,允许用户直接采用本地库(一般为C/C++编写)进行某种操作以优化性能,比如压缩解压库,Native IO等。如果将Hadoop移植到windows,这些对应的库需要跟着移植。
(4)Native TaskController。 TaskTracker启动时,会调用一个插拔式组件TaskController运行任务,TaskController一般会添加一些任务控制机制,比如设定任务启动用户。默认实现是DefaultTaskController,另外一个可使用的是LinuxTaskController,该TaskController将以提交用户的身份运行任务(默认情况下是以TaskTracker启动用户运行任务)。
(5)单元测试用例。原始的Hadoop很多测试用例无法再windows上运行通过,需要进行修改。
(6)其他零散问题。比如路径问题、资源泄露等(具体参考:https://issues.apache.org/jira/browse/HADOOP-8079)。
参考资料:
http://hortonworks.com/blog/hadoop-in-windows/
https://issues.apache.org/jira/browse/HADOOP-8079
原创文章,转载请注明: 转载自董的博客
本文链接地址: http://dongxicheng.org/mapreduce/hadoop-for-windows/
作者:Dong,作者介绍:http://dongxicheng.org/about/
本博客的文章集合:http://dongxicheng.org/recommend/
Copyright © 2013
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)

Die Schritte zum Erstellen und Verwalten von Benutzerkonten in MySQL sind wie folgt: 1. Erstellen Sie einen Benutzer: Verwenden Sie CreateUser'Newuser '@' localhost'IdentifiedBy'Password '; 2. Berechtigungen zuweisen: Verwenden Sie GrantSelect, einfügen, updateonMyDatabase.to'newuser'@'LocalHost '; 3.. Behebung des Berechtigungsfehlers: Verwenden Sie revokeAllPrivileGesonMyDatabase.from'Newuser'@'localhost '; dann die Berechtigungen neu zuweisen; 4. Optimierungsberechtigungen: Verwenden Sie Showgra

MySQL eignet sich für schnelle Entwicklung und kleine und mittelgroße Anwendungen, während Oracle für große Unternehmen und hohe Verfügbarkeitsanforderungen geeignet ist. 1) MySQL ist Open Source und einfach zu bedienen, geeignet für Webanwendungen und kleine und mittelgroße Unternehmen. 2) Oracle ist mächtig und für große Unternehmen und Regierungsbehörden geeignet. 3) MySQL unterstützt eine Vielzahl von Speichermotoren, und Oracle bietet reichhaltige Funktionen auf Unternehmensebene.

Zu den Nachteilen von MySQL im Vergleich zu anderen relationalen Datenbanken gehören: 1. Leistungsprobleme: Sie können bei der Verarbeitung von Daten mit groß angelegten Daten Engpässe begegnen, und PostgreSQL bietet eine bessere Leistung in komplexen Abfragen und Big-Data-Verarbeitung. 2. Skalierbarkeit: Die horizontale Skalierungsfähigkeit ist nicht so gut wie Google Schrank und Amazon Aurora. 3. Funktionale Einschränkungen: Nicht so gut wie PostgreSQL und Oracle in erweiterten Funktionen, einige Funktionen erfordern mehr benutzerdefinierte Code und Wartung.

MySQL unterstützt vier Join -Typen: Innerjoin, Leftjoin, Rightjoin und Fulouterjoin. 1.Nerjoin wird verwendet, um die Zeilen in zwei Tabellen und Rückgabergebnissen abzustimmen, die den Kriterien entsprechen. 2.Leftjoin gibt alle Zeilen in der linken Tabelle zurück, auch wenn die rechte Tabelle nicht übereinstimmt. 3. Rightjoin ist gegenüber linksjoin gegenüber und gibt alle Zeilen in der rechten Tabelle zurück. 4.Fulllouterjoin gibt alle Zeilen in den beiden Tischen zurück, die die Bedingungen erfüllen oder nicht erfüllen.

Die Leistung von MySQL unter hoher Belastung hat im Vergleich zu anderen RDBMS ihre Vor- und Nachteile. 1) MySQL bietet eine gute Leistung unter hohen Lasten durch die InnoDB -Engine- und Optimierungsstrategien wie Indexierung, Abfrage -Cache und Partitionstabellen. 2) PostgreSQL bietet ein effizientes gleichzeitiges Lesen und Schreiben durch den MVCC -Mechanismus, während Oracle und Microsoft SQLServer die Leistung durch ihre jeweiligen Optimierungsstrategien verbessern. Mit angemessener Konfiguration und Optimierung kann MySQL in Umgebungen mit hoher Last gut abschneiden.

InnoDbbufferpool reduziert die Scheiben -E/A durch Zwischenspeicherung von Daten und Indizieren von Seiten und Verbesserung der Datenbankleistung. Das Arbeitsprinzip umfasst: 1. Daten lesen: Daten von Bufferpool lesen; 2. Daten schreiben: Schreiben Sie nach der Änderung der Daten an Bufferpool und aktualisieren Sie sie regelmäßig auf Festplatte. 3. Cache -Management: Verwenden Sie den LRU -Algorithmus, um Cache -Seiten zu verwalten. 4. Lesemechanismus: Last benachbarte Datenseiten im Voraus. Durch die Größe des Bufferpool und die Verwendung mehrerer Instanzen kann die Datenbankleistung optimiert werden.

Im Vergleich zu anderen Programmiersprachen wird MySQL hauptsächlich zum Speichern und Verwalten von Daten verwendet, während andere Sprachen wie Python, Java und C für die logische Verarbeitung und Anwendungsentwicklung verwendet werden. MySQL ist bekannt für seine hohe Leistung, Skalierbarkeit und plattformübergreifende Unterstützung, die für Datenverwaltungsanforderungen geeignet sind, während andere Sprachen in ihren jeweiligen Bereichen wie Datenanalysen, Unternehmensanwendungen und Systemprogramme Vorteile haben.

MySQL ist es wert, gelernt zu werden, da es sich um ein leistungsstarkes Open -Source -Datenbankverwaltungssystem handelt, das für Datenspeicher, Verwaltung und Analyse geeignet ist. 1) MySQL ist eine relationale Datenbank, die SQL zum Betrieb von Daten verwendet und für die strukturierte Datenverwaltung geeignet ist. 2) Die SQL -Sprache ist der Schlüssel zur Interaktion mit MySQL und unterstützt CRUD -Operationen. 3) Das Arbeitsprinzip von MySQL umfasst Client/Server -Architektur, Speicher -Engine und Abfrageoptimierer. 4) Die grundlegende Nutzung umfasst das Erstellen von Datenbanken und Tabellen, und die erweiterte Verwendung umfasst das Verbinden von Tabellen mit dem Join. 5) Zu den häufigen Fehlern gehören Syntaxfehler und Erlaubnisprobleme, und die Debugging -Fähigkeiten umfassen die Überprüfung der Syntax und die Verwendung von Erklärungskenntnissen. 6) Die Leistungsoptimierung umfasst die Verwendung von Indizes, die Optimierung von SQL -Anweisungen und die regelmäßige Wartung von Datenbanken.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Dreamweaver CS6
Visuelle Webentwicklungstools