Hadoop 2.5.1集群安装配置
本文的安装只涉及了hadoop-common、hadoop-hdfs、hadoop-mapreduce和hadoop-yarn,并不包含HBase、Hive和Pig等。
http://blog.csdn.net/aquester/article/details/24621005
1. 规划
1.1. 机器列表
|
NameNode |
SecondaryNameNode |
DataNodes |
|
172.16.0.100 |
172.16.0.101 |
172.16.0.110 |
|
172.16.0.111 |
||
|
172.16.0.112 |
1.2. 主机名
|
机器IP |
主机名 |
|
172.16.0.100 |
NameNode |
|
172.16.0.101 |
SecondaryNameNode |
|
172.16.0.110 |
DataNode110 |
|
172.16.0.111 |
DataNode111 |
|
172.16.0.112 |
DataNode112 |
2.设定IP与主机名
# rm -rf /etc/udev/rules.d/*.rules
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
NETMASK=255.255.0.0
GATEWAY=192.168.0.6
IPADDR=192.168.1.20
DNS1=192.168.0.3
DNS2=192.168.0.6
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=NameNode.smartmap
# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.20 NameNode NameNode.smartmap
192.168.1.50 SecondaryNameNode SecondaryNameNode.smartmap
192.168.1.70 DataNode110 DataNode110.smartmap
192.168.1.90 DataNode111 DataNode111.smartmap
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3.免密码登录
3.1. 免密码登录范围
要求能通过免登录包括使用IP和主机名都能免密码登录:
1) NameNode能免密码登录所有的DataNode
2) SecondaryNameNode能免密码登录所有的DataNode
3) NameNode能免密码登录自己
4) SecondaryNameNode能免密码登录自己
5) NameNode能免密码登录SecondaryNameNode
6) SecondaryNameNode能免密码登录NameNode
7) DataNode能免密码登录自己
8) DataNode不需要配置免密码登录NameNode、SecondaryNameNode和其它DataNode。
3.2. 软件安装
# yum install openssh-clients (NameNode、SecondaryNameNode和其它DataNode均执行)
# yum install wget
3.3. SSH配置
vi /etc/ssh/sshd_config (NameNode、SecondaryNameNode和其它DataNode均执行)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
service sshd restart
3.4. SSH无密码配置
# ssh-keygen -t rsa (NameNode、SecondaryNameNode和其它DataNode均执行)
看到图形输出,表示密钥生成成功,目录下多出两个文件
私钥文件:id_raa
公钥文件:id_rsa.pub
将公钥文件id_rsa.pub内容放到authorized_keys文件中:
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys (NameNode、SecondaryNameNode均执行)
将公钥文件authorized_keys分发到各dataNode节点:
(NameNode、SecondaryNameNode均执行)
# scp authorized_keys root@SecondaryNameNode:/root/.ssh/
# scp authorized_keys root@DataNode110:/root/.ssh/
# scp authorized_keys root@DataNode111:/root/.ssh/
# scp authorized_keys root@DataNode112:/root/.ssh/
3.5. SSH无密码登录验证
验证ssh无密码登录:
(NameNode均执行)
# ssh root@localhost
# ssh root@SecondaryNameNode
# ssh root@DataNode110
# ssh root@DataNode111
# ssh root@DataNode112
(SecondaryNameNode均执行)
# ssh root@localhost
# ssh root@NameNode
# ssh root@DataNode110
# ssh root@DataNode111
# ssh root@DataNode112
(DataNode110均执行)
# ssh root@localhost
(DataNode111均执行)
# ssh root@localhost
(DataNode111均执行)
# ssh root@localhost
4.JDK安装与环境变量配置
(以下内容NameNode、SecondaryNameNode和其它DataNode均执行)
4.1. JDK下载
jdk-7u72-linux-x64.tar.gz
# scp jdk-7u72-linux-x64.tar.gz root@192.168.1.50:/opt/
4.2.卸载系统自带的开源JDK
# rpm -qa |grep java
# rpm –e java
4.3.把安装文件拷贝到用户目录
例如:
/opt/java目录下
4.4.解压文件
# tar -xzvf jdk-7u72-linux-x64.tar.gz
解压后,在/opt/java目录下就会生成一个新的目录 jdk1.7.0_72,该目录下存放的是解压后的文件。
至此,安装工作基本完成,下面是要进行环境变量的设置。
注意:如果你下载的文件是rpm 格式的话,可以通过下面的命令来安装:
rpm -ivh jdk-7u72-linux-x64.rpm
4.5.环境变量设置
修改.profile文件 (推荐此种方式,这样其他程序也可以友好的使用JDK了)
# vi /etc/profile
在文件中找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC,改为下面的形式:
export JAVA_HOME=/opt/java/jdk1.7.0_72
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
4.6.让环境变量生效
执行配置文件令其立刻生效
# source /etc/profile
之后执行以下命令验证是否安装成功
# java -version
如果出现下面的信息,则表示安装成功
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)
5.Hadoop安装与配置
5.1.Hadoop下载
# wget http://mirrors.hust.edu.cn/apache/hadoop/common/stable/hadoop-2.5.1.tar.gz
# scp hadoop-2.5.1.tar.gz root@192.168.1.50:/opt/
5.2.解压文件
# tar -zxvf hadoop-2.5.1.tar.gz
5.3.配置
# cd /opt/hadoop-2.5.1/etc/hadoop
cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/core-site.xml
cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/hdfs-site.xml
cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-yarn/hadoop-yarn-common/yarn-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/yarn-site.xml
cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/mapred-site.xml
# mkdir -p /opt/hadoop/tmp/dfs/name
# mkdir -p /opt/hadoop/tmp/dfs/data
# mkdir -p /opt/hadoop/tmp/dfs/namesecondary
5.3.1.core-site.xml
# vi core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.1.20:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
</configuration>
|
属性名 |
属性值 |
涉及范围 |
|
fs.defaultFS |
hdfs://192.168.1.20:9000 |
所有节点 |
|
hadoop.tmp.dir |
/opt/hadoop/tmp |
所有节点 |
|
fs.default.name |
hdfs://192.168.1.20:9000 |
|
5.3.2.hdfs-site.xml
# vi hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>192.168.1.20:50070</value>
</property>
<property>
<name>dfs.namenode.http-bind-host</name>
<value>192.168.1.20</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.1.50:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
|
属性名 |
属性值 |
涉及范围 |
|
dfs.namenode.http-address |
192.168.1.20:50070 |
所有节点 |
|
dfs.namenode.http-bind-host |
192.168.1.20 |
所有节点 |
|
dfs.namenode.secondary.http-address |
192.168.1.50:50090 |
NameNode、SecondaryNameNode |
|
dfs.replication |
2 |
|
2.3.3.mapred-site.xml
# vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>192.168.1.20:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.1.20:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.1.20:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.admin.address</name>
<value>192.168.1.20:10033</value>
</property>
</configuration>
|
属性名 |
属性值 |
涉及范围 |
|
mapreduce.framework.name |
yarn |
所有节点 |
|
mapreduce.jobtracker.http.address |
192.168.1.20:50030 |
|
2.3.4.yarn-site.xml
# vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.1.20</value>
</property>
</configuration>
|
属性名 |
属性值 |
涉及范围 |
|
yarn.resourcemanager.hostname |
192.168.1.20 |
所有节点 |
|
yarn.nodemanager.aux-services |
mapreduce_shuffle |
所有节点 |
|
yarn.nodemanager.hostname |
0.0.0.0 |
所有节点 |
5.3.5.slaves
# vi slaves
DataNode110
DataNode111
5.3.5.secondaryNamenodes
# vi master
SecondaryNameNode
5.3.6.修改JAVA_HOME
分别在文件hadoop-env.sh和yarn-env.sh中添加JAVA_HOME配置
# vi hadoop-env.sh
export JAVA_HOME=/opt/java/jdk1.7.0_72
export HADOOP_HOME=/opt/hadoop/hadoop-2.5.1
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
# vi yarn-env.sh
export JAVA_HOME=/opt/java/jdk1.7.0_72
export HADOOP_HOME=/opt/hadoop/hadoop-2.5.1
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
5.4.环境变量设置
修改.profile文件 (推荐此种方式,这样其他程序也可以友好的使用JDK了)
# vi /etc/profile
在文件中找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC,改为下面的形式:
export JAVA_HOME=/opt/java/jdk1.7.0_72
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/opt/hadoop/hadoop-2.5.1
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export CLASSPATH=$HADOOP_HOME/lib:$CLASSPATH
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=/opt/hadoop/hadoop-2.5.1/lib/native"
5.4.1.让环境变量生效
执行配置文件令其立刻生效
# source /etc/profile
5.5.启动HDFS
5.5.1.格式化NameNode
# hdfs namenode -format
5.5.1.启动HDFS
. /opt/hadoop/hadoop-2.5.1/sbin/start-dfs.sh
5.5.1.启动YARN
. /opt/hadoop/hadoop-2.5.1/sbin/start-yarn.sh
设置logger级别,看下具体原因
export HADOOP_ROOT_LOGGER=DEBUG,console

windows->show view->other-> MapReduce Tools->Map/Reduce Locations



hadoop-2.5.1-src.tar.gz\hadoop-2.5.1-src\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples - TAR+GZIP archive, unpacked size 82,752,131 bytes
Hadoop 2.5.1集群安装配置的更多相关文章
- Hadoop 2.6.1 集群安装配置教程
集群环境: 192.168.56.10 master 192.168.56.11 slave1 192.168.56.12 slave2 下载安装包/拷贝安装包 # 存放路径: cd /usr/loc ...
- CentOS系统下Hadoop 2.4.1集群安装配置(简易版)
安装配置 1.软件下载 JDK下载:jdk-7u65-linux-i586.tar.gz http://www.oracle.com/technetwork/java/javase/downloads ...
- 集群安装配置Hadoop具体图解
集群安装配置Hadoop 集群节点:node4.node5.node6.node7.node8. 详细架构: node4 Namenode,secondnamenode,jobtracker node ...
- hadoop 2.2.0集群安装详细步骤(简单配置,无HA)
安装环境操作系统:CentOS 6.5 i586(32位)java环境:JDK 1.7.0.51hadoop版本:社区版本2.2.0,hadoop-2.2.0.tar.gz 安装准备设置集群的host ...
- CentOS下Hadoop-2.2.0集群安装配置
对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...
- hbase单机环境的搭建和完全分布式Hbase集群安装配置
HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. @hbase单机环境的搭建 ...
- hive集群安装配置
hive 是JAVA写的的一个数据仓库,依赖hadoop.没有安装hadoop的,请参考http://blog.csdn.net/lovemelovemycode/article/details/91 ...
- spark集群安装配置
spark集群安装配置 一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoo ...
- hbase和ZooKeeper集群安装配置
一:ZooKeeper集群安装配置 1:解压zookeeper-3.3.2.tar.gz并重命名为zookeeper. 2:进入~/zookeeper/conf目录: 拷贝zoo_sample.cfg ...
随机推荐
- Unity3D 游戏前端开发技能树(思维导图)
如果做游戏也是一种游戏,那么这个游戏的自由度实在是太高了.(导图源文件链接:http://pan.baidu.com/s/1eSHpH5o 密码:qzl5) 最近要用思维导图软件Xmind把自己的思路 ...
- 35款加速网站开发的 CSS 开发工具
网络有很很多的 CSS 工具和教程可用,它可以帮助设计人员和开发人员轻松.快速地学习 CSS 技术.这些工具中在高效开发 Web 应用程序中发挥重要作用. 在这篇文章中,我们收集了35个最好的 CSS ...
- 常用mysql数据库引擎——MyISAM和InnoDB区别
背景: 昨天做项目时,发现使用事务后回滚不了,后来把数据库引擎从MyISAM换成InnoDB后果断好了,如下图: 正文: MyISAM和InnoDB是mysql常用的数据库引擎,他们的区别如下: 数据 ...
- 【Android】Android Studio 快速打开Github上的Demo
******* 注意 ******* Google 在15年12月2日发布了Android Studio 2.0,比起以前的版本速度提升了很多,所以强烈推荐各位朋友升级IDE! 1.修改:build. ...
- js cookie存储方法
/*! * jQuery Cookie Plugin v1.4.0 * https://github.com/carhartl/jquery-cookie * * Copyright 2013 Kla ...
- SQL Server中的事务日志管理(9/9):监控事务日志
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...
- 经验分享:CSS浮动(float,clear)通俗讲解
很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家. 写在前面的话: 由于CSS内容比较多 ...
- Think different
Here's to the crazy ones.The misfits.The rebels.The troublemakers.The round pegs in the square holes ...
- 画一画javascript原型链
在javascript中,几种数据类型String,Number,Boolean,Object,Function都是函数,可称之为函数对象. 可以说拥有prototype属性的都是函数. 所有对象都拥 ...
- java反射的基础学习代码
java反射的学习,好多东西不太理解,主要分析了constructor,method,field,数组和调用main函数等反射的多个方面小例子. 主要的练习类 package javaAdvanced ...