1. Hadoop2.2.0 下载
下载地址:
http://archive.apache.org/dist/hadoop/core/hadoop-2.2.0/
2. 集群环境搭建
设置CentOS静态IP地址的步骤:
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
在里面添加如下语句:
IPADDR=192.168.61.0
NETMASK=255.255.255.0
NETWORK=192.168.0.0
设置好之后,需要让IP地址生效,运行下面命令:
$ sudo service network restart
$ ifconfig (检验设置是否生效)
设置hostname步骤如下:
$ sudo vim /etc/sysconfig/network (将里面的HOSTNAME修改为你的hostname)
$ hostname (查看主机名)
1. 修改etc/hosts文件
添加集群中所有节点的IP和hostname的映射关系。
compute-0-0 192.168.61.1
compute-0-1 192.168.61.2
compute-0-2 192.168.61.3
2. 在所有的机器上建立相同的用户grid
$ useradd grid
$ passwd grid
为每个账户分配sudo的权限。修改/etc/sudoers文件,增加:
grid ALL=(ALL)ALL
3. 安装SSH
该配置主要是为了实现在机器之间执行指令时不需要输入密码。在所有机器上建立.ssh目录,执行一下操作:
$ mkdir .ssh
$ ssh-keygen –t rsa 生成密钥对
然后一直按Enter键,就会按照默认的选项将生成的密钥对保存在.ssh/id_rsa文件中。接着执行如下命令:
$ cd .ssh
$ cp id_rsa authorized_keys(把id_rsa.pub追加到授权的key里面去,cat id_rsa.pub >> authorized_keys)
$ scp authorized_keys compute-0-1:/home/grid/.ssh
最后进入所有机器的.ssh目录下,改变authorized_keys文件的许可权限:
$ chmod 644 authorized_keys(该文件的权限不能高于644,600也可)
重启 SSH服务,使配置生效:
$ service sshd restart
4. 安装JDK(尽量集群中的java保持一致)
下载地址:
http://www.oracle.com/technetwork/java/javase/archive-139210.html
选择java的安装目录/usr/,新建一个java文件夹,并将jdk-7u40-linux-i586.tar.gz移动到/usr/java下,命令如下:
$ cd /usr
$ mkdir java
$ tar –zxvf jdk-7u40-linux-i586.tar.gz
$ rm –rf jdk-7u40-linux-i586.tar.gz(为了节省空间)
至此,JDK安装完毕,下面配置环境变量,打开/etc/profile,具体方法如下:
$ vim /etc/profile
JAVA_HOME=/usr/java/jdk1.7.0_40
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin
export JAVA_HOME,PATH,CLASSPATH
然后使用source /etc/profile
验证是否安装成功:java -version
5. 关闭每台机器的防火墙
/etc/init.d/iptables stop //关闭防火墙
chkconfig iptables off //关闭开机启动
3. Hadoop2.2.0安装
1. 解压hadoop-2.2.0.tar.gz文件。
将第一步分下载的hadoop-2.2.0.tar.gz解压到/home/grid路径下。
注意:每台机器的安装路径要相同!
2. hadoop配置过程
配置之前,需要在集群上每个节点的文件系统创建以下文件夹:
~/dfs/name
~/dfs/data
~/tmp
这里要涉及到的配置文件有7个:
~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
~/hadoop-2.2.0/etc/hadoop/yarn-env.sh
~/hadoop-2.2.0/etc/hadoop/slaves
~/hadoop-2.2.0/etc/hadoop/core-site.xml
~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml
~/hadoop-2.2.0/etc/hadoop/mapred-site.xml
~/hadoop-2.2.0/etc/hadoop/yarn-site.xml
以上个别文件默认不存在,可以复制相应的template文件获得。
配置文件1:hadoop-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/java/jdk1.7.0_40)
配置文件2:yarn-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/java/jdk1.7.0_40)
配置文件3:slaves(这个文件里面保存所有slave节点)
写入所有的从节点。
compute-0-1
compute-0-2
配置文件4:core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs:// compute-0-0:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/grid/tmp</value>
</property>
<property>
</configuration>
配置文件5:hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>compute-0-0:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/grid/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/grid/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
配置文件6:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>compute-0-0:19888</value>
</property>
</configuration>
配置文件7:yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle .class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>compute-0-0:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>compute-0-0:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value> cloud001:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value> cloud001:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value> cloud001:8088</value>
</property>
</configuration>
3. 复制到其他节点
这里可以写一个shell脚本进行操作(有大量节点时比较方便)
#!/bin/bash
scp –r /home/grid/hadoop-2.2.0 grid@compute-0-2:~/
scp –r /home/grid/hadoop-2.2.0 grid@compute-0-3:~/
注:由于我们集群里面compute-0-0是64bit,而comput-0-1和compute-0-2是32bit的,所以不能直接复制,而采用单独安装hadoop,复制替换相关配置文件:
#!/bin/bash
scp /home/grid/hadoop-2.2.0/etc/hadoop/hadoop-env.sh grid@compute-0-1: ~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
scp /home/grid/hadoop-2.2.0/etc/hadoop/hadoop-env.sh grid@compute-0-2: ~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
scp /home/grid/hadoop-2.2.0/etc/hadoop/yarn-env.sh grid@compute-0-1: ~/hadoop-2.2.0/etc/hadoop/yarn-env.sh
scp /home/grid/hadoop-2.2.0/etc/hadoop/yarn-env.sh grid@compute-0-2: ~/hadoop-2.2.0/etc/hadoop/yarn-env.sh
scp /home/grid/hadoop-2.2.0/etc/hadoop/slaves grid@compute-0-1: ~/hadoop-2.2.0/etc/hadoop/slaves
scp /home/grid/hadoop-2.2.0/etc/hadoop/slaves grid@compute-0-2: ~/hadoop-2.2.0/etc/hadoop/slaves
scp /home/grid/hadoop-2.2.0/etc/hadoop/core-site.xml grid@compute-0-1: ~/hadoop-2.2.0/etc/hadoop/core-site.xml
scp /home/grid/hadoop-2.2.0/etc/hadoop/core-site.xml grid@compute-0-2: ~/hadoop-2.2.0/etc/hadoop/core-site.xml
scp /home/grid/hadoop-2.2.0/etc/hadoop/hdfs-site.xml grid@compute-0-1: ~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml
scp /home/grid/hadoop-2.2.0/etc/hadoop/hdfs-site.xml grid@compute-0-2: ~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml
scp /home/grid/hadoop-2.2.0/etc/hadoop/mapred-site.xml grid@compute-0-1: ~/hadoop-2.2.0/etc/hadoop/mapred-site.xml
scp /home/grid/hadoop-2.2.0/etc/hadoop/mapred-site.xml grid@compute-0-2: ~/hadoop-2.2.0/etc/hadoop/mapred-site.xml
scp /home/grid/hadoop-2.2.0/etc/hadoop/yarn-site.xml grid@compute-0-1: ~/hadoop-2.2.0/etc/hadoop/yarn-site.xml
scp /home/grid/hadoop-2.2.0/etc/hadoop/yarn-site.xml grid@compute-0-2: ~/hadoop-2.2.0/etc/hadoop/yarn-site.xml
4. 启动hadoop
进入安装目录:
cd ~/hadoop-2.2.0/
格式化namenode:
./bin/hdfs namenode –format
启动hdfs:
./sbin/start-dfs.sh
此时在compute-0-0上面运行的进程有:
NameNode SecondaryNameNode
在compute-0-1和compute-0-2上面运行的进程有:
DataNode
启动yarn:
./sbin/start-yarn.sh
此时在compute-0-0上面运行的进程有:
NameNode SecondaryNameNode ResourceManager
在compute-0-1和compute-0-2上面运行的进程有:
DataNode NodeManaget
查看集群状态:
./bin/hdfs dfsadmin –report
查看文件块组成:
./bin/hdfsfsck / -files –blocks
查看HDFS:
http://localhost:50070
查看RM
http://localhost:8088
5. 验证安装是否成功
运行示例程序,现在hdfs上创建一个文件夹
./bin/hdfs dfs –mkdir /input
./bin/hadoop jar ./share/hadoop-mapreduce-example.jar writer input
DataNode无法启动的解决方法:
你可以查看一下datanode上面的log信息,datanode无法启动的原因八成是你多次format namenode造成的。log中有详细原因,解放方法也很简单,主要是两个问题:
1. clusterID不一致,namenode的cid和datanode的cid不一致,导致的原因是对namenode进行format的之后,datanode不会进行format,所以datanode里面的cid还是和format之前namenode的cid一样,解决办法是删除datanode里面的dfs.datanode.data.dir目录和tmp目录,然后再启动start-dfs.sh
2.即使删除iptables之后,仍然报Datanode denied communication with namenode: DatanodeRegistration错误,参考文章http://stackoverflow.com/questions/17082789/cdh4-3exception-from-the-logs-after-start-dfs-sh-datanode-and-namenode-star,可以知道需要把集群里面每个houst对应的ip写入/etc/hosts文件就能解决问题。
分享到:
相关推荐
### VMware下完全分布式Hadoop集群安装笔记 #### 一、准备工作与环境搭建 **1. 安装VMware** 在开始之前,首先需要一个虚拟化平台来模拟多台计算机之间的交互,这里选择的是VMware。根据您的操作系统选择合适的...
Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程 按照文档中的操作步骤,一步步操作就可以完全实现hadoop2.2.0版本的完全分布式集群搭建过程
Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程.
搭建完全分布式Hadoop集群.doc
我自己写的非常全的安装伪分布式hadoop集群的文档!!! 全部过程都有,非常详细的过程,无缺漏!
### 完全分布式模式的Hadoop集群安装 #### 实验背景与目的 在现代大数据处理领域,Apache Hadoop因其强大的数据处理能力而受到广泛青睐。本文档旨在介绍如何在Linux环境下,利用三台虚拟机(一台主机两台从机)...
完全分布式 Hadoop 2.3 安装与配置 Hadoop 介绍 Hadoop 是一个开源的分布式计算框架,它具有高可靠性、高扩展性、高效性、高容错性和低成本等特点。Hadoop 的核心组件包括 HDFS(Hadoop Distributed File System)...
非常详细的hadoop集群搭建教程,包含SSH免密码登录,基本上按照教程上一步一步操作就能搭建成功,非常适合大数据初学者使用
本人搭建hadoop完全分布式集群时,写的文档,内有详细步骤,
基于Hadoop的常规案例,在Windows和Linux上搭建伪分布式hadoop集群 -------- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到...
"Hadoop集群安装笔记" Hadoop集群安装笔记是一篇详细的安装指南,旨在帮助新手快速搭建Hadoop学习环境。以下是该笔记中的重要知识点: Hadoop集群安装目录 在安装Hadoop集群之前,需要准备好安装环境。安装环境...
部署全分布模式Hadoop集群 实验报告一、实验目的 1. 熟练掌握 Linux 基本命令。 2. 掌握静态 IP 地址的配置、主机名和域名映射的修改。 3. 掌握 Linux 环境下 Java 的安装、环境变量的配置、Java 基本命令的使用。 ...
通过本教程,读者能够了解并掌握在单机环境下搭建伪分布式Hadoop集群的全过程。 #### 二、准备工作 1. **操作系统安装**: - 选择使用wubi工具进行Ubuntu 10.10的安装。 - 安装过程中建议断开网络连接以避免不必...
本文将详细介绍如何搭建多节点 Hadoop 环境,包括安装 Ubuntu 操作系统、安装 Hadoop 软件、配置 SSH 无密码登录、配置 Hadoop 集群等步骤。 一、安装 Ubuntu 操作系统 在开始搭建 Hadoop 环境之前,需要安装 ...
【Hadoop集群安装手册】 Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储海量数据。本手册将详细介绍如何在5台虚拟机上手动安装和配置Hadoop集群,供初学者和专业人士参考。 ### 安装...
手把手教你搭建分布式Hadoop家族集群视频教程(视频+讲义+笔记+配置),内容包括 Hadoop,SQOOP,Hive,Hbase的安装配置及集群搭建。内容包括但不限于: 01_回顾集群架构及配置集群时间同步 02_配置主节点与从节点...
hadoop集群搭建Hadoop集群安装和搭建(全面超详细的过程) 文章目录 Hadoop集群安装和搭建(全面超详细的过程) 前言 一、虚拟机的安装 二、Linux系统安装 1.环境准备 2.虚拟机安装 三、Centos系统安装 四、静态网络...