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”,出现如下信息:
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的相关信息。
2. hadoop eclipse 插件编译
2.1 导入hadoop的eclipse-plugin的工程
用hadoop提供的文件自行编译,导入hadoop的eclipse-plugin文件夹.打开eclipse,在File菜单中选择Import.
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 。
2.3 修改hadoop-1.0.4/src/contrib目录的build-contrib.xml文件
找到
并在该行下面添加以下两行内容。
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
问题记录:
1. An internal error occurred during: “Connecting to DFS localhost”.
详细信息如下:
java.lang.NoClassDefFoundError: org/codehaus/jackson/map/JsonMappingException
找到刚才添加的lib目录下的几个jar文件,分别解压,然后通过betterzip将这些字节码分别添加到classes下面
问题2:Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException
使用jps发现NameNode进程没有正确运行。解决的办法就是先停止服务,然后重新格式化namenode。
bin/hadoop namenode -format
重新启动后,运行该插件无问题
问题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~~~
原文地址:Map/Reduce开发环境, 感谢原作者分享。

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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

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:

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

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

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

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“.

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).

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.
