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 环境,包括安装 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系统安装 四、静态网络...