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集群安装笔记
Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程 按照文档中的操作步骤,一步步操作就可以完全实现hadoop2.2.0版本的完全分布式集群搭建过程
Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程.
我自己写的非常全的安装伪分布式hadoop集群的文档!!! 全部过程都有,非常详细的过程,无缺漏!
Linux操作系统下,使用三台虚拟机搭建Hadoop集群,包括实验环境变量的配置,Hadoop集群的安装及测试详细步骤。
非常详细的hadoop集群搭建教程,包含SSH免密码登录,基本上按照教程上一步一步操作就能搭建成功,非常适合大数据初学者使用
本人搭建hadoop完全分布式集群时,写的文档,内有详细步骤,
基于Hadoop的常规案例,在Windows和Linux上搭建伪分布式hadoop集群 -------- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到...
适用于完全分布式Hadoop安装,可供对hadoop感兴趣的人员参考学习。
部署全分布模式Hadoop集群 实验报告一、实验目的 1. 熟练掌握 Linux 基本命令。 2. 掌握静态 IP 地址的配置、主机名和域名映射的修改。 3. 掌握 Linux 环境下 Java 的安装、环境变量的配置、Java 基本命令的使用。 ...
对于 90%以上想学习 Spark 的人而言,如何构建 Spark 集群是其最大的难点之一, 为了解决大家构建 Spark 集群的一切困难,家林把 Spark 集群的构建分为了四个步骤,从 零起步,不需要任何前置知识,涵盖操作的每一个...
手把手教你搭建分布式Hadoop家族集群视频教程(视频+讲义+笔记+配置),内容包括 Hadoop,SQOOP,Hive,Hbase的安装配置及集群搭建。内容包括但不限于: 01_回顾集群架构及配置集群时间同步 02_配置主节点与从节点...
资源名称:vmware虚拟机下hadoop集群安装过程内容简介: Hadoop俗称分布式计算,最早作为一个开源项目,最初只是来源于谷歌的两份白皮书。然而正如十年前的Linux一样,虽然Hadoop最初十分简单,但随着近些年来...
hadoop HA高可用性完全分布式集群安装 内付下载地址和说明文档
haodop超详细安装教程:包含jdk配置,ssh免密登录以及单机版hadoop安装配置、伪分布式hadoop安装及配置,以及分布式集群安装配置。
Hadoop伪分布式集群环境搭建 Hadoop伪分布式集群环境搭建
分布式与云计算Hadoop集群搭建是一个关于搭建Hadoop集群并实现map-reduce的实验PPT,附有详细的方法和步骤
Hadoop集群搭建及Hive的安装与使用
第一天 hadoop的基本概念 伪分布式hadoop集群安装 hdfs mapreduce 演示 第二天 hdfs的原理和使用操作、编程 第三天 mapreduce的原理和编程 第四天 常见mr算法实现和shuffle的机制 第五天 hadoop2.x中HA机制的...
hadoop集群安装笔记,我个人在自己的本机虚拟3台机器,搭建hadoop的学习环境,在安装过程中,出现这样那样的问题,并记录下来分享给大家,希望都新手有帮助。