Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建
目录结构 Hadoop集群(CDH4)实践之 (0) 前言 Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建 Hadoop集群(CDH4)实践之 (2) HBaseZookeeper搭建 Hadoop集群(CDH4)实践之 (3) Hive搭建 Hadoop集群(CHD4)实践之 (4) Oozie搭建 Hadoop集群(CHD4)实践之 (5) Sqoop安
目录结构
Hadoop集群(CDH4)实践之 (0) 前言
Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建
Hadoop集群(CDH4)实践之 (2) HBase&Zookeeper搭建
Hadoop集群(CDH4)实践之 (3) Hive搭建
Hadoop集群(CHD4)实践之 (4) Oozie搭建
Hadoop集群(CHD4)实践之 (5) Sqoop安装
本文内容
Hadoop集群(CDH4)实践之 (1) Hadoop(HDFS)搭建
参考资料
http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/CDH4-Installation-Guide.html
环境准备
OS: CentOS 6.4 x86_64
Servers:
hadoop-master: 172.17.20.230 内存10G
- namenode
hadoop- secondarynamenode: 172.17.20.234 内存10G
- secondarybackupnamenode,jobtracker
hadoop-node-1: 172.17.20.231 内存10G
- datanode,tasktracker
hadoop-node-2: 172.17.20.232 内存10G
- datanode,tasktracker
hadoop-node-3: 172.17.20.233 内存10G
- datanode,tasktracker
对以上角色做一些简单的介绍:
namenode - 整个HDFS的命名空间管理服务
secondarynamenode - 可以看做是namenode的冗余服务
jobtracker - 并行计算的job管理服务
datanode - HDFS的节点服务
tasktracker - 并行计算的job执行服务
本文定义的规范,避免在配置多台服务器上产生理解上的混乱:
所有直接以 $ 开头,没有跟随主机名的命令,都代表需要在所有的服务器上执行,除非后面有单独的//开头或在标题说明。
1. 选择最好的安装包
为了更方便和更规范的部署Hadoop集群,我们采用Cloudera的集成包。
因为Cloudera对Hadoop相关的系统做了很多优化,避免了很多因各个系统间版本不符产生的很多Bug。
这也是很多资深Hadoop管理员所推荐的。
https://ccp.cloudera.com/display/DOC/Documentation/
2. 安装Java环境
由于整个Hadoop项目主要是通过Java开发完成的,因此需要JVM的支持。
登陆www.oracle.com(需要创建一个ID),从以下地址下载一个64位的JDK,如jdk-7u45-linux-x64.rpm
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
$ sudo rpm -ivh jdk-7u45-linux-x64.rpm
$ sudo vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.7.0_45 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
$ sudo chmod +x /etc/profile.d/java.sh
$ source /etc/profile
3. 配置Hadoop安装源
$ sudo rpm --import http://archive.cloudera.com/cdh4/redhat/5/x86_64/cdh/RPM-GPG-KEY-cloudera
$ cd /etc/yum.repos.d/
$ sudo wget http://archive.cloudera.com/cdh4/redhat/6/x86_64/cdh/cloudera-cdh4.repo
4. 安装Hadoop相关套件,选择MRv1的框架支持
$ sudo yum install hadoop-hdfs-namenode //仅在hadoop-master上安装
$ sudo yum install hadoop-hdfs-secondarynamenode //仅在hadoop-secondary上安装
$ sudo yum install hadoop-0.20-mapreduce-jobtracker //仅在hadoop-secondary上安装
$ sudo yum install hadoop-hdfs-datanode //仅在hadoop-node上安装
$ sudo yum install hadoop-0.20-mapreduce-tasktracker //仅在hadoop-node上安装
$ sudo yum install hadoop-client
5. 创建Hadoop配置文件
$ sudo cp -r /etc/hadoop/conf.dist /etc/hadoop/conf.my_cluster
6. 激活新的配置文件
$ sudo alternatives --verbose --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.my_cluster 50
$ sudo alternatives --set hadoop-conf /etc/hadoop/conf.my_cluster
$ cd /etc/hadoop/conf
7. 添加hosts记录并修改对应的主机名
$ sudo vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.17.20.230 hadoop-master 172.17.20.234 hadoop-secondary 172.17.20.231 hadoop-node-1 172.17.20.232 hadoop-node-2 172.17.20.233 hadoop-node-3
8. 安装LZO支持
$ cd /etc/yum.repos.d
$ sudo wget http://archive.cloudera.com/gplextras/redhat/6/x86_64/gplextras/cloudera-gplextras4.repo
$ sudo yum install hadoop-lzo-cdh4
9. 配置hadoop/conf下的文件
$ sudo vim /etc/hadoop/conf/masters
hadoop-master
$ sudo vim /etc/hadoop/conf/slaves
hadoop-node-1 hadoop-node-2 hadoop-node-3
10. 创建hadoop的HDFS目录
$ sudo mkdir -p /data/{1,2,3,4}/mapred/local
$ sudo chown -R mapred:hadoop /data/{1,2,3,4}/mapred/local
$ sudo mkdir -p /data/1/dfs/nn /nfsmount/dfs/nn /data/1/dfs/ns /data/{1,2,3,4}/dfs/dn
$ sudo chown -R hdfs:hdfs /data/1/dfs/nn /nfsmount/dfs/nn /data/1/dfs/ns /data/{1,2,3,4}/dfs/dn
$ sudo chmod 700 /data/1/dfs/nn /nfsmount/dfs/nn /data/1/dfs/ns /data/{1,2,3,4}/dfs/dn
$ sudo mkdir /data/tmp
$ sudo chmod 1777 /data/tmp
11. 配置core-site.xml
$ sudo vim /etc/hadoop/conf/core-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://heylinux.com/archives/configuration.xsl"?> fs.defaultFS hdfs://hadoop-master:8020 hadoop.tmp.dir /data/tmp/hadoop-${user.name} hadoop.proxyuser.oozie.hosts * hadoop.proxyuser.oozie.groups * hadoop.proxyuser.hive.hosts * hadoop.proxyuser.hive.groups *
12. 配置hdfs-site.xml
$ sudo vim /etc/hadoop/conf/hdfs-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://heylinux.com/archives/configuration.xsl"?> dfs.namenode.name.dir /data/1/dfs/nn,/nfsmount/dfs/nn dfs.namenode.http-address hadoop-master:50070 fs.namenode.checkpoint.period 3600 fs.namenode.checkpoint.dir /data/1/dfs/ns dfs.namenode.secondary.http-address hadoop-secondary:50090 dfs.replication 3 dfs.permissions.superusergroup supergroup dfs.datanode.data.dir /data/1/dfs/dn,/data/2/dfs/dn,/data/3/dfs/dn dfs.datanode.max.xcievers 4096
13. 配置mapred-site.xml
$ sudo vim /etc/hadoop/conf/mapred-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://heylinux.com/archives/configuration.xsl"?> mapred.job.tracker hadoop-secondary:8021 mapred.local.dir /data/1/mapred/local,/data/2/mapred/local,/data/3/mapred/local
14. 格式化HDFS分布式文件系统
$ sudo -u hdfs hadoop namenode -format //仅在hadoop-master上执行一次
15. 启动Hadoop进程
在hadoop-master上启动namenode
$ sudo /etc/init.d//etc/init.d/hadoop-hdfs-namenode start
在hadoop-secondary上启动secondarynamenode,jobtracker
$ sudo /etc/init.d/hadoop-hdfs-secondarynamenode start
$ sudo /etc/init.d/hadoop-0.20-mapreduce-jobtracker start
在hadoop-node上启动datanode,tasktracker
$ sudo /etc/init.d/hadoop-hdfs-datanode start
$ sudo /etc/init.d/hadoop-0.20-mapreduce-tasktracker start
16. 创建mapred.system.dir以及/tmp HDFS目录
以下HDFS操作仅需在任意一台主机上执行一次
$ sudo -u hdfs hadoop fs -mkdir /tmp
$ sudo -u hdfs hadoop fs -chmod -R 1777 /tmp
$ sudo -u hdfs hadoop fs -mkdir -p /var/lib/hadoop-hdfs/cache/mapred/mapred/staging
$ sudo -u hdfs hadoop fs -chmod 1777 /var/lib/hadoop-hdfs/cache/mapred/mapred/staging
$ sudo -u hdfs hadoop fs -chown -R mapred /var/lib/hadoop-hdfs/cache/mapred
$ sudo -u hdfs hadoop fs -ls -R /
$ sudo -u hdfs hadoop fs -mkdir /tmp/mapred/system
$ sudo -u hdfs hadoop fs -chown mapred:hadoop /tmp/mapred/system
17. 配置HADOOP_MAPRED_HOME
$ sudo vim /etc/profile.d/hadoop.sh
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-0.20-mapreduce
$ source /etc/profile
18. 查看整个集群的状态
通过网页进行查看:http://hadoop-master:50070
19. 至此,Hadoop(HDFS)的搭建就已经完成。

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)

En tant qu'application de gestion de messagerie, Microsoft Outlook nous permet de planifier des événements et des rendez-vous. Il nous permet de rester organisés en fournissant des outils pour créer, gérer et suivre ces activités (également appelées événements) dans l'application Outlook. Cependant, des événements indésirables sont parfois ajoutés au calendrier dans Outlook, ce qui crée de la confusion pour les utilisateurs et spamme le calendrier. Dans cet article, nous explorerons divers scénarios et étapes qui peuvent nous aider à empêcher Outlook d'ajouter automatiquement des événements à mon calendrier. Événements Outlook – Un bref aperçu Les événements Outlook sont polyvalents et disposent de nombreuses fonctionnalités utiles comme suit : Intégration du calendrier : dans Outlook

Partage de pratiques de groupe Dream Weaver CMS Station Ces dernières années, avec le développement rapide d'Internet, la construction de sites Web est devenue de plus en plus importante. Lors de la création de plusieurs sites Web, la technologie des groupes de sites est devenue une méthode très efficace. Parmi les nombreux outils de création de sites Web, DreamWeaver CMS est devenu le premier choix de nombreux passionnés de sites Web en raison de sa flexibilité et de sa facilité d'utilisation. Cet article partagera une expérience pratique sur le groupe de stations Dreamweaver CMS, ainsi que quelques exemples de code spécifiques, dans l'espoir de fournir une aide aux lecteurs qui explorent la technologie des groupes de stations. 1. Qu'est-ce que le groupe de stations Dreamweaver CMS ? CMS Dream Weaver

Description du scénario pour que les nœuds évacuent complètement de ProxmoxVE et rejoignent le cluster Lorsqu'un nœud du cluster ProxmoxVE est endommagé et ne peut pas être réparé rapidement, le nœud défectueux doit être expulsé proprement du cluster et les informations résiduelles doivent être nettoyées. Sinon, les nouveaux nœuds utilisant l'adresse IP utilisée par le nœud défectueux ne pourront pas rejoindre le cluster normalement ; de même, une fois le nœud défectueux qui s'est séparé du cluster réparé, bien que cela n'ait rien à voir avec le cluster, il le fera. ne pas pouvoir accéder à la gestion Web de ce nœud unique. En arrière-plan, des informations sur les autres nœuds du cluster ProxmoxVE d'origine apparaîtront, ce qui est très ennuyeux. Expulsez les nœuds du cluster. Si ProxmoxVE est un cluster hyper-convergé Ceph, vous devez vous connecter à n'importe quel nœud du cluster (à l'exception du nœud que vous souhaitez supprimer) sur le système hôte Debian et exécuter la commande.

Pratiques de codage PHP : refus d'utiliser des alternatives aux instructions Goto Ces dernières années, avec la mise à jour et l'itération continues des langages de programmation, les programmeurs ont commencé à accorder plus d'attention aux spécifications de codage et aux meilleures pratiques. Dans la programmation PHP, l'instruction goto existe depuis longtemps en tant qu'instruction de flux de contrôle, mais dans les applications pratiques, elle entraîne souvent une diminution de la lisibilité et de la maintenabilité du code. Cet article partagera quelques alternatives pour aider les développeurs à refuser d'utiliser les instructions goto et à améliorer la qualité du code. 1. Pourquoi refuser d’utiliser l’instruction goto ? Tout d'abord, réfléchissons à pourquoi

La version mobile de WeChat Reading App est un très bon logiciel de lecture. Ce logiciel fournit de nombreux livres et ouvrages. Vous pouvez les lire à tout moment, n'importe où avec une recherche en un clic et les lire en ligne. Tous sont officiellement autorisés et de différents types. des livres sont soigneusement rangés et profitez d’une atmosphère de lecture confortable et relaxante. Changez les modes de lecture de différents scénarios, mettez à jour les derniers chapitres du livre en continu chaque jour, prenez en charge la connexion en ligne à partir de plusieurs appareils et le téléchargement par lots sur l'étagère. Vous pouvez le lire avec ou sans Internet, afin que tout le monde puisse en découvrir plus de connaissances. Désormais, l'éditeur le détaille en ligne. Promouvoir la méthode de visualisation du catalogue pour les partenaires de lecture de WeChat. 1. Ouvrez le livre dont vous souhaitez consulter le catalogue et cliquez au milieu du livre. 2. Cliquez sur l'icône à trois lignes dans le coin inférieur gauche. 3. Dans la fenêtre contextuelle, affichez le catalogue de livres

Golang est un langage de programmation puissant et efficace largement utilisé pour créer des services et des applications Web. Dans les services réseau, la gestion du trafic est un élément crucial. Elle peut nous aider à contrôler et à optimiser la transmission des données sur le réseau et à garantir la stabilité et les performances des services. Cet article présentera les meilleures pratiques de gestion du trafic à l'aide de Golang et fournira des exemples de code spécifiques. 1. Utilisez le package net de Golang pour la gestion de base du trafic. Le package net de Golang fournit un moyen de gérer les données réseau.

Sélectionnez le style du catalogue dans Word, et il sera automatiquement généré une fois l'opération terminée. Analyse 1. Accédez à Word sur votre ordinateur et cliquez pour importer. 2Après avoir entré, cliquez sur le répertoire du fichier. 3 Sélectionnez ensuite le style du répertoire. 4. Une fois l'opération terminée, vous pouvez voir que le répertoire de fichiers est automatiquement généré. Supplément : la table des matières de l'article de résumé/notes est générée automatiquement, y compris les titres de premier niveau, les titres de deuxième niveau et les titres de troisième niveau, généralement pas plus que les titres de troisième niveau.

Les joueurs peuvent collecter différents matériaux pour construire des bâtiments lorsqu'ils jouent dans le Royaume de Mistlock. De nombreux joueurs veulent savoir si les bâtiments ne peuvent pas être construits à l'état sauvage dans le Royaume de Mistlock. . Des bâtiments peuvent-ils être construits à l’état sauvage dans Mistlock Kingdom Réponse : Non. 1. Les bâtiments ne peuvent pas être construits dans les zones sauvages du Royaume de Mist Lock. 2. Le bâtiment doit être construit dans le cadre de l'autel. 3. Les joueurs peuvent placer eux-mêmes l'Autel du Feu Spirituel, mais une fois qu'ils auront quitté le champ de tir, ils ne pourront plus construire de bâtiments. 4. Nous pouvons également creuser directement un trou dans la montagne pour en faire notre maison, nous n’avons donc pas besoin de consommer de matériaux de construction. 5. Il existe un mécanisme de confort dans les bâtiments construits par les joueurs eux-mêmes, c'est-à-dire que plus l'intérieur est bon, plus le confort est élevé. 6. Un confort élevé apportera des bonus d'attributs aux joueurs, tels que
