Inhaltsverzeichnis
1. hadoop 单机搭建
问题记录:
Heim Datenbank MySQL-Tutorial Map/Reduce开发环境

Map/Reduce开发环境

Jun 07, 2016 pm 04:31 PM
mac map reduce 开发 搭建 环境

最近,在Mac上折腾了下,想搭建一个hadoop的测试环境,用于写一些Map/Reduce的sample,下面就先将搭建环境的过程记录下来。 1. hadoop 单机搭建 1.1 确认java环境已经安装 在terminal里再次键入java -version,出现如下信息: 1.2 安装SSH 首先,输入 ssh-ke

       最近,在Mac上折腾了下,想搭建一个hadoop的测试环境,用于写一些Map/Reduce的sample,下面就先将搭建环境的过程记录下来。

1. hadoop 单机搭建

1.1 确认java环境已经安装

     在terminal里再次键入”java -version”,出现如下信息:

Map/Reduce开发环境

1.2  安装SSH

      首先,输入 ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa 

      ssh-keygen表示生成秘钥;-t表示秘钥类型;-P用于提供密语;-f指定生成的秘钥文件。这个命令在”~/.ssh/“文件夹下创建两个文件id_dsa和id_dsa.pub,是ssh的一对儿私钥和公钥。接下来,将公钥追加到授权的key中去,输入:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

      ssh免登陆设置完成。然后输入 ssh localhost  查看下即可

1.3  下载hadoop压缩包

1.4   hadoop-env.sh脚本文件,设置如下环境变量:

       export JAVA_HOME=/usr/alibaba/java
       export HADOOP_INSTALL=/Users/metaboy/project/hadoop/hadoop-1.0.4/
 
       export PATH=$PATH:$HADOOP_INSTALL/bin
    export HADOOP_OPTS=”-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk”

1.5  core-site.xml文件,配置hdfs的地址和端口号:

        
        fs.default.name   
        hdfs://localhost:9000   
   

     
       hadoop.tmp.dir 
       /Users/metaboy/project/hadoop/hadoop-1.0.4/tmp 
       A base for other temporary directories.  
   

1.6  mapred-site.xml文件,设置map-reduce中jobtracker的地址和端口号:

      
    mapred.job.tracker   
    localhost:9001   
 
 
    
        mapred.local.dir 
        /Users/metaboy/project/hadoop/hadoop-1.0.4/tmp/mapred/local 
   
 
     
        mapred.system.dir 
        /Users/metaboy/project/hadoop/hadoop-1.0.4/tmp/mapred/system 
   

1.7 最后是hdfs-site.xml文件,设置hdfs的默认备份方式:

       默认值是3,在伪分布式系统中,需要修改为1。

      
    dfs.replication   
    1   
 

   
    dfs.permissions 
    false 

 
      dfs.data.dir 
      /Users/metaboy/project/hadoop/hadoop-1.0.4/tmp/hdfs/data 
   
 
    
      dfs.name.dir 
      /Users/metaboy/project/hadoop/hadoop-1.0.4/tmp/hdfs/name 
   
  

 1.8 格式化namenode

       在terminal里输入如下命令:

       bin/Hadoop NameNode -format

1.9 启动

     在terminal里输入如下命令:

      bin/start-all.sh

1.10 测试是否正常

      如果一切正常的话,会在http://localhost:50030和http://localhost:50070分别看到map-reduce和hdfs的相关信息。

Map/Reduce开发环境

2. hadoop eclipse 插件编译

2.1 导入hadoop的eclipse-plugin的工程

      用hadoop提供的文件自行编译,导入hadoop的eclipse-plugin文件夹.打开eclipse,在File菜单中选择Import.

Map/Reduce开发环境

2.2 导入后,在项目中新建lib目录,并复制jar文件

     在项目中新建lib目录,并将hadoop安装根目录的hadoop-core-1.0.4.jar文件,lib目录中的commons-cli-1.2.jar、commons-configuration-1.6.jar、commons-httpclient-3.0.1.jar、commons-lang-2.4.jar、jackson-core-asl-1.8.8.jar、jackson-mapper-asl-1.8.8.jar文件复制到新建的目录中。复制完成后,将新建目录中的hadoop-core-1.0.4.jar文件名改为hadoop-core.jar 。

Map/Reduce开发环境

2.3 修改hadoop-1.0.4/src/contrib目录的build-contrib.xml文件

      找到,将location中的路径修改为hadoop-1.0.4的解压路径。

并在该行下面添加以下两行内容。

   
   
   

eclipse.home是指eclipse的安装目录,需要替换为你自己的安装路径。

version的值要替换为hadoop的版本号。

2.4 修改MapReduceTools项目下的build.xml文件

打开build.xml文件,在文件中搜索name=”jar” ,找到的代码段并加上


   
    –>
 
 
 
 
 
 
 
    –>
          jarfile=”${build.dir}/hadoop-${name}-${version}.jar”
      manifest=”${root}/META-INF/MANIFEST.MF”]]>
     
     
   
 

2.5 在build.xml文件中查找 ,在该行下面添加如下内容:

 
     
           
     

 

2.6 在文件中搜索,并在该行下添加如下内容:

   

2.7 修改 Bundle-ClassPath

使用编辑器打开META-INF文件夹中的MANIFEST.MF文件,在文件中搜索Bundle-ClassPath,可以看到该行内容如下:

Bundle-ClassPath: classes/,
 lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar

2.8 用ant开始编译

      保存build.xml文件后,在build.xml文件上点击右键,并选择Run As -> Ant Build

2.9  安装插件

      编译后的plugin文件会保存在hadoop-1.0.4/build/contrib/eclipse-plugin文件夹中,文件名为hadoop-eclipse-plugin-1.0.4.jar 。

将该文件复制到eclipse安装目录的plugins文件夹下,并重启eclipse。 

2.10 测试

       在eclipse的window菜单中选择Show View -> Other,在Show View窗口中选择MapReduce Tools下的Map/Reduce Locations,点击OK

Map/Reduce开发环境

问题记录:

1. An internal error occurred during: “Connecting to DFS localhost”.

详细信息如下:

java.lang.NoClassDefFoundError: org/codehaus/jackson/map/JsonMappingException

找到刚才添加的lib目录下的几个jar文件,分别解压,然后通过betterzip将这些字节码分别添加到classes下面

Map/Reduce开发环境

问题2:Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException

      使用jps发现NameNode进程没有正确运行。解决的办法就是先停止服务,然后重新格式化namenode。

bin/hadoop namenode -format

重新启动后,运行该插件无问题

Map/Reduce开发环境

问题3:Unable to load realm info from SCDynamicStore 

    这个问题是hadoop官方的一个bug,详细bug介绍可以参考这个链接:https://issues.apache.org/jira/browse/HADOOP-7489

一般在是当start-all.sh 的时候,会抛出这样的异常:

   Unable to load realm info from SCDynamicStore

网络上有一种解决方法,解决单机部署还行,对于伪分布式部署还是不行: 

就是在hadoop-env.sh文件中加上这一行: 

export HADOOP_OPTS=”-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk” 

(意思是设置启动hadoop时设定相关的JVM参数)

~~~EOF~~~

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Vier empfohlene KI-gestützte Programmiertools Vier empfohlene KI-gestützte Programmiertools Apr 22, 2024 pm 05:34 PM

Dieses KI-gestützte Programmiertool hat in dieser Phase der schnellen KI-Entwicklung eine große Anzahl nützlicher KI-gestützter Programmiertools zu Tage gefördert. KI-gestützte Programmiertools können die Entwicklungseffizienz verbessern, die Codequalität verbessern und Fehlerraten reduzieren. Sie sind wichtige Helfer im modernen Softwareentwicklungsprozess. Heute wird Dayao Ihnen 4 KI-gestützte Programmiertools vorstellen (und alle unterstützen die C#-Sprache). https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot ist ein KI-Codierungsassistent, der Ihnen hilft, Code schneller und mit weniger Aufwand zu schreiben, sodass Sie sich mehr auf Problemlösung und Zusammenarbeit konzentrieren können. Git

So richten Sie WeChat Mac ein, um Sprachnachrichten automatisch in Text umzuwandeln – So richten Sie die Konvertierung von Sprache in Text ein So richten Sie WeChat Mac ein, um Sprachnachrichten automatisch in Text umzuwandeln – So richten Sie die Konvertierung von Sprache in Text ein Mar 19, 2024 am 08:28 AM

Kürzlich haben einige Freunde den Redakteur gefragt, wie man WeChat Mac so einrichtet, dass er Sprachnachrichten automatisch in Text umwandelt. Im Folgenden finden Sie eine Methode zum Einrichten von WeChat Mac, um Sprachnachrichten automatisch in Text umzuwandeln. Schritt 1: Öffnen Sie zunächst die Mac-Version von WeChat. Wie im Bild gezeigt: Schritt 2: Klicken Sie anschließend auf „Einstellungen“. Wie im Bild gezeigt: Schritt 3: Klicken Sie dann auf „Allgemein“. Wie im Bild dargestellt: Schritt 4: Aktivieren Sie anschließend die Option „Sprachnachrichten im Chat automatisch in Text umwandeln“. Wie im Bild gezeigt: Schritt 5: Schließen Sie abschließend das Fenster. Wie im Bild gezeigt:

Erfahren Sie, wie Sie mobile Anwendungen mit der Go-Sprache entwickeln Erfahren Sie, wie Sie mobile Anwendungen mit der Go-Sprache entwickeln Mar 28, 2024 pm 10:00 PM

Tutorial zur Entwicklung mobiler Anwendungen in der Go-Sprache Da der Markt für mobile Anwendungen weiterhin boomt, beginnen immer mehr Entwickler damit, sich mit der Verwendung der Go-Sprache für die Entwicklung mobiler Anwendungen zu befassen. Als einfache und effiziente Programmiersprache hat die Go-Sprache auch großes Potenzial für die Entwicklung mobiler Anwendungen gezeigt. In diesem Artikel wird detailliert beschrieben, wie die Go-Sprache zum Entwickeln mobiler Anwendungen verwendet wird, und es werden spezifische Codebeispiele angehängt, um den Lesern den schnellen Einstieg und die Entwicklung eigener mobiler Anwendungen zu erleichtern. 1. Vorbereitung Bevor wir beginnen, müssen wir die Entwicklungsumgebung und die Tools vorbereiten. Kopf

Welcher KI-Programmierer ist der beste? Entdecken Sie das Potenzial von Devin, Tongyi Lingma und SWE-Agent Welcher KI-Programmierer ist der beste? Entdecken Sie das Potenzial von Devin, Tongyi Lingma und SWE-Agent Apr 07, 2024 am 09:10 AM

Am 3. März 2022, weniger als einen Monat nach der Geburt von Devin, dem weltweit ersten KI-Programmierer, entwickelte das NLP-Team der Princeton University einen Open-Source-KI-Programmierer-SWE-Agenten. Es nutzt das GPT-4-Modell, um Probleme in GitHub-Repositorys automatisch zu lösen. Die Leistung des SWE-Agenten auf dem SWE-Bench-Testsatz ist ähnlich wie die von Devin, er benötigt durchschnittlich 93 Sekunden und löst 12,29 % der Probleme. Durch die Interaktion mit einem dedizierten Terminal kann der SWE-Agent Dateiinhalte öffnen und durchsuchen, die automatische Syntaxprüfung verwenden, bestimmte Zeilen bearbeiten sowie Tests schreiben und ausführen. (Hinweis: Der obige Inhalt stellt eine geringfügige Anpassung des Originalinhalts dar, die Schlüsselinformationen im Originaltext bleiben jedoch erhalten und überschreiten nicht die angegebene Wortbeschränkung.) SWE-A

3 Möglichkeiten, HEIC-Fotos auf dem Mac in JPG zu konvertieren 3 Möglichkeiten, HEIC-Fotos auf dem Mac in JPG zu konvertieren Mar 15, 2024 pm 08:43 PM

Standardmäßig nimmt das iPhone Fotos von der Kamera im HEIC-Format auf. HEIC steht für High Efficiency Image Container und kann mehr Pixeldaten als PNG- oder JPG-Dateien speichern, wodurch im Vergleich zu anderen Formaten deutlich weniger Speicherplatz auf dem iPhone-Speicher beansprucht wird. Diese Dateien funktionieren am besten auf iPhones, werden jedoch im Internet nicht allgemein akzeptiert, da sie häufig zu verschwommenen/körnigen Bildern führen, wenn Sie sie mit Geräten teilen, die nicht von Apple stammen. Um sicherzustellen, dass HEIC-Bilder auf anderen Geräten kompatibel sind, müssen Sie sie möglicherweise in das JPG-Format konvertieren. In diesem Artikel erfahren Sie, wie Sie HEIC-Bilder auf dem Mac in JPG konvertieren. So konvertieren Sie HEIC-Fotos in JPG auf dem Mac [3 Methoden] Methode

Mar 18, 2024 pm 05:43 PM

Freunde, wissen Sie, wie man Momente auf WeChat Mac postet? Wenn Sie interessiert sind, schauen Sie es sich mit mir an. Ich hoffe, es kann allen helfen. Schritt 1: Klicken Sie nach dem Öffnen von WeChat links auf die Schaltfläche „Momente“. Schritt 2: Klicken Sie anschließend oben rechts auf die Kameraschaltfläche. Schritt 3: Geben Sie den Textinhalt ein, den Sie senden möchten. Schritt 4: Klicken Sie anschließend auf „Wer zuschauen darf“. Schritt 5: Wählen Sie im Popup-Fenster die sichtbaren Bedingungen aus und klicken Sie auf OK. Schritt 6: Klicken Sie abschließend auf die Schaltfläche „Veröffentlichen“.

So formatieren Sie ein Laufwerk mit GUID auf dem Mac So formatieren Sie ein Laufwerk mit GUID auf dem Mac Apr 12, 2024 am 09:13 AM

Das Formatieren des Laufwerks Ihres Mac-Systems ist für die ordnungsgemäße Funktion von entscheidender Bedeutung. Es hilft, verschiedene Systemprobleme zu verhindern und Ihren Mac insgesamt stabiler zu machen. Während Mac natürlich verschiedene Partitionierungsschemata unterstützt, bietet GUID im Vergleich zu anderen Optionen modernere und vielseitigere Funktionen. Auch für neuere Macs unerlässlich und unterstützt größere Laufwerke, sodass Sie die beste Kompatibilität und Stabilität erhalten. In dieser Anleitung wird ausführlich erläutert, wie Sie ein Laufwerk mithilfe einer GUID unter macOS formatieren. Das heißt, fangen wir an. Warum GUID für die macOS-Installation wichtig ist. Eine GUID (vollständige Form von Globally Unique Identifier) ​​ist ein Partitionierungsschema, das bei der Installation und Ausführung des macOS-Betriebssystems hilft. Es ist besser als herkömmlicher MBR (Hauptleitung).

Auf dem Apple iPhone 16 ist Apple Intelligence nicht mehr vorinstalliert Auf dem Apple iPhone 16 ist Apple Intelligence nicht mehr vorinstalliert Jul 30, 2024 pm 01:18 PM

Laut Brancheninsider Mark Gurman wird Apples Apple Intelligence auf Oktober verschoben. Mit anderen Worten, es wird zuerst auf iOS18.1 gepusht. Das Apple iPhone 16 wird voraussichtlich im September erscheinen, daher wird Apple Intelligence nicht vorinstalliert sein. 1. Apple Intelligence Apple Intelligence ist ein persönliches Intelligenzsystem, das mithilfe eines leistungsstarken generativen Modells neue Funktionen für iPhone, iPad und Mac bereitstellt, um Benutzer beim Kommunizieren, Arbeiten und Ausdrucken zu unterstützen. 2. Verständnis natürlicher Sprache Das in Apple Intelligence eingebettete große Modell verfügt über ein tiefes Verständnis der Bedeutung von Sprache.

See all articles