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开发环境, 感谢原作者分享。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Cet outil de programmation assistée par l'IA a mis au jour un grand nombre d'outils de programmation assistée par l'IA utiles à cette étape de développement rapide de l'IA. Les outils de programmation assistés par l'IA peuvent améliorer l'efficacité du développement, améliorer la qualité du code et réduire les taux de bogues. Ils constituent des assistants importants dans le processus de développement logiciel moderne. Aujourd'hui, Dayao partagera avec vous 4 outils de programmation assistés par l'IA (et tous prennent en charge le langage C#). J'espère que cela sera utile à tout le monde. https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot est un assistant de codage IA qui vous aide à écrire du code plus rapidement et avec moins d'effort, afin que vous puissiez vous concentrer davantage sur la résolution de problèmes et la collaboration. Git

Récemment, certains amis ont demandé à l'éditeur comment configurer WeChat Mac pour convertir automatiquement les messages vocaux en texte ? Voici une méthode pour configurer WeChat Mac pour convertir automatiquement les messages vocaux en texte. Les amis dans le besoin peuvent venir en savoir plus. Étape 1 : Tout d’abord, ouvrez la version Mac de WeChat. Comme le montre l'image : Étape 2 : Ensuite, cliquez sur « Paramètres ». Comme le montre l'image : Étape 3 : Ensuite, cliquez sur « Général ». Comme le montre l'image : Étape 4 : Cochez ensuite l'option « Convertir automatiquement les messages vocaux du chat en texte ». Comme le montre l'image : Étape 5 : Enfin, fermez la fenêtre. Comme le montre l'image :

Didacticiel d'application mobile de développement du langage Go Alors que le marché des applications mobiles continue de croître, de plus en plus de développeurs commencent à explorer comment utiliser le langage Go pour développer des applications mobiles. En tant que langage de programmation simple et efficace, le langage Go a également montré un fort potentiel dans le développement d'applications mobiles. Cet article présentera en détail comment utiliser le langage Go pour développer des applications mobiles et joindra des exemples de code spécifiques pour aider les lecteurs à démarrer rapidement et à commencer à développer leurs propres applications mobiles. 1. Préparation Avant de commencer, nous devons préparer l'environnement et les outils de développement. tête

Le 3 mars 2022, moins d'un mois après la naissance de Devin, le premier programmeur d'IA au monde, l'équipe NLP de l'Université de Princeton a développé un agent SWE pour programmeur d'IA open source. Il exploite le modèle GPT-4 pour résoudre automatiquement les problèmes dans les référentiels GitHub. Les performances de l'agent SWE sur l'ensemble de tests du banc SWE sont similaires à celles de Devin, prenant en moyenne 93 secondes et résolvant 12,29 % des problèmes. En interagissant avec un terminal dédié, SWE-agent peut ouvrir et rechercher le contenu des fichiers, utiliser la vérification automatique de la syntaxe, modifier des lignes spécifiques et écrire et exécuter des tests. (Remarque : le contenu ci-dessus est un léger ajustement du contenu original, mais les informations clés du texte original sont conservées et ne dépassent pas la limite de mots spécifiée.) SWE-A

Par défaut, l'iPhone prend les photos de l'appareil photo au format HEIC. HEIC signifie High Efficiency Image Container et peut contenir plus de données de pixels que les fichiers PNG ou JPG, occupant beaucoup moins d'espace sur le stockage de l'iPhone par rapport aux autres formats. Ces fichiers fonctionnent mieux sur les iPhones, mais ne sont pas largement acceptés sur Internet car ils donnent souvent des images floues/granuleuses lorsque vous les partagez avec des appareils non Apple. Pour vous assurer que les images HEIC sont compatibles sur d'autres appareils, vous devrez peut-être les convertir au format JPG. Cet article explique comment convertir des images HEIC en JPG sur Mac. Comment convertir des photos HEIC en JPG sur Mac [3 méthodes]

Amis, savez-vous comment publier des Moments sur WeChat Mac ? Aujourd'hui, je vais vous expliquer comment publier des Moments sur WeChat Mac. Si vous êtes intéressé, venez jeter un œil avec moi, j'espère que cela pourra vous aider. Étape 1 : Après avoir ouvert WeChat, cliquez sur le bouton Moments à gauche. Étape 2 : Ensuite, cliquez sur le bouton de l'appareil photo en haut à droite. Étape 3 : Saisissez le contenu texte que vous souhaitez envoyer. Étape 4 : Ensuite, cliquez sur qui peut regarder. Étape 5 : Dans la boîte de dialogue contextuelle, sélectionnez les conditions visibles et cliquez sur OK. Étape 6 : Enfin, cliquez sur le bouton Publier.

Le formatage du disque de votre système Mac est crucial pour son bon fonctionnement. Il permet d’éviter divers problèmes système et rend votre Mac globalement plus stable. Bien que Mac prenne naturellement en charge divers schémas de partitionnement, GUID offre des fonctionnalités plus modernes et polyvalentes par rapport aux autres options. Également essentiel pour les Mac les plus récents et prend en charge les disques plus grands, vous offrant la meilleure compatibilité et stabilité. Ce guide examinera en profondeur comment formater un disque à l'aide d'un GUID sur macOS. Cela dit, commençons. Pourquoi le GUID est important pour l'installation de macOS Un GUID (forme complète de Globally Unique Identifier) est un schéma de partitionnement qui permet d'installer et d'exécuter le système d'exploitation macOS. C'est mieux que le MBR traditionnel (principal

Depuis l'arrivée de la gamme iPad Pro OLED alimentée par Apple M4, les aficionados d'Apple Silicon attendent avec impatience l'arrivée du SoC M4 sur la gamme Mac. Le M4 a indéniablement constitué un bond en avant majeur en termes de performances de calcul et graphiques - leapfr
