hadoop 2.2.0集群安装详细步骤(简单配置,无HA)
- 安装环境
操作系统:CentOS 6.5 i586(32位)
java环境:JDK 1.7.0.51
hadoop版本:社区版本2.2.0,hadoop-2.2.0.tar.gz - 安装准备
设置集群的hosts,切换到root用户下,用vi编辑器修改/etc/hosts配置文件:vi /etc/hosts 10.1.5.125 master
10.1.5.126 slave1
10.1.5.127 slave2 127.0.0.1 localhost配置集群各个节点之间的ssh无密码互信,也就是从master开始,ssh到master、slave1和slave2上都不需要密码,反向ssh到master则不必设置。互信设置需要在hadoop2用户下执行命令如下:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys hadoop@slave1:/home/hadoop/.ssh/
scp ~/.ssh/authorized_keys hadoop@slave2:/home/hadoop/.ssh/这样就将生成的授权秘钥拷贝到了slave1和slave2的/home/hadoop2/.ssh目录下,还需要执行非常重要的一步才能实现无密码互信,修改权限:
chmod ~/.ssh/authorized_keys
该步骤必须在master、slave1和slave2上分别执行。
- hadoop安装
将hadoop-2.2.0.tar.gz拷贝到hadoop2用户的工作目录/home/hadoop2,执行解压命令,并修改文件夹名称为hadoop2:tar -zxvf hadoop-2.2..tar.gz
mv hadoop-2.2. hadoop2先配置hadoop2的环境变量,修改~/.bash_profile(JAVA_HOME、PATH和CLASSPATH已经在root用户下设置在/etc/profile文件中):
vi .bash_profile export HADOOP_HOME=$HOME/hadoop2
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export YARN_HOME=${HADOOP_HOME}
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
export HADOOP_PID_DIR=/var/hadoop/pids 执行source命令,立即生效:
source .bash_profile进入hadoop2的配置文件夹~/hadoop2/etc/hadoop/目录下,修改配置各个文件,
core-site.xml:vi core-site.xml <configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property> <property>
<name>io.file.buffer.size</name>
<value></value>
</property> <property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop2/tmp</value>
<description>Abase for other temporary directories.</description>
</property> </configuration>hdfs-site.xml:
vi hdfs-site.xml <configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:</value>
</property> <property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop2/dfs/name</value>
</property> <property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoop2/dfs/data,/hdfs/data</value>
</property> <property>
<name>dfs.replication</name>
<value></value>
</property> <property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property> </configuration>hadoop-env.sh(本机的安装路径为/opt/jdk1.7):
vi hadoop-env.sh export JAVA_HOME=${JAVA_HOME}yarn-site.xml:
vi 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>master:</value>
</property> <property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:</value>
</property> <property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:</value>
</property> <property> <name>yarn.resourcemanager.admin.address</name>
<value>master:</value>
</property> <property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:</value>
</property>
</configuration>mapred-site.xml:
vi mapred-site.xml <configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property> <property>
<name>mapreduce.jobhistory.address</name>
<value>master:</value>
</property> <property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:</value>
</property> </configuration>slaves:
vi slaves master
slave1
slave2此设置中,将master也作为一个datanode节点来使用,只有在集群机器数量不足的情况下才会如此设置。
这样就设置完成了,然后将/home/hadoop2/hadoop2目录,整个拷贝到slave1和slave2的hadoop2的工作目录下,就算完成了安装:scp -r /home/hadoop2/hadoop2 slave1:/home/hadoop2
scp -r /home/hadoop2/hadoop2 slave2:/home/hadoop2 启动集群
执行hadoop2的sbin目录下的启动脚本:sbin/start-dfs.sh
(此命令启动了namenode、secondaryNamenode以及datanode) sbin/start-yarn.sh
(此命令启动了ResourceManager和NodeManager,相当于hadoop1中的jobtracker和TaskTracker)然后用jps命令来查看运行的java进程,如果下列进程都存在,则说明集群正常启动:
NameNode
SecondaryNameNode
ResourceManager
NodeManager
DataNode至此,hadoop 2.2.0集群安装完毕。
注意事项
需要注意的一点是:hadoop集群的进程pid文件默认保存在linux的/tmp目录下,而/tmp目录为保存临时文件的目录,会定期清除,所以我们最好手动修改hadoop集群的pid文件的存放目录。配置步骤如下:
在/var目录下创建目录/var/hadoop/pids,作为hadoop的pid文件存放目录,并且需要修改目录的所有者和所属组群,因为hadoop2用户需要向该目录下写入pid文件:cd /var
sudo mkdir hadoop
cd hadoop
sudo mkdir pids sudo chown -R hadoop2:hadoop2 /var/hadoop/pids然后修改hadoop2的配置文件如下:
vi hadoop-env.sh export HADOOP_PID_DIR=/var/hadoop/pids vi yarn-env.sh export YARN_PID_DIR=/var/hadoop/pids
然后重新启动集群就可以了。
hadoop 2.2.0集群安装详细步骤(简单配置,无HA)的更多相关文章
- redis3.0.0 集群安装详细步骤
Redis集群部署文档(centos6系统) Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对 ...
- hadoop 2.2.0集群安装
相关阅读: hbase 0.98.1集群安装 本文将基于hadoop 2.2.0解说其在linux集群上的安装方法,并对一些重要的设置项进行解释,本文原文链接:http://blog.csdn.net ...
- KafKa集群安装详细步骤
最近在使用Spring Cloud进行分布式微服务搭建,顺便对集成KafKa的方案做了一些总结,今天详细介绍一下KafKa集群安装过程: 1. 在根目录创建kafka文件夹(service1.serv ...
- Redis集群安装详细步骤
环境: Centos7 redis3.0 三台虚拟机主机名分别为 master node1 node2 如果单机的时候设置过密码最好把密码去掉,避免位置的错误. 拍个快照方便恢复. 1.创 ...
- Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)
现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...
- hadoop 2.2.0 集群部署 坑
注意fs.defaultFS为2..0新的变量,代替旧的:fs.default.name hadoop 2.2.0 集群启动命令:bin/hdfs namenode -formatsbin/start ...
- CentOS下Hadoop-2.2.0集群安装配置
对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...
- hadoop2.2.0集群安装和配置
hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等. 注意:apache提供的hadoop-2.2.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C+ ...
- Linux单机环境下HDFS伪分布式集群安装操作步骤v1.0
公司平台的分布式文件系统基于Hadoop HDFS技术构建,为开发人员学习及后续项目中Hadoop HDFS相关操作提供技术参考特编写此文档.本文档描述了Linux单机环境下Hadoop HDFS伪分 ...
随机推荐
- pku oj overhang叠加卡片求最少的卡片数
这个估计是里面第二简单的了,因为第一简单的是求a+b 哈哈,一submit就ac了 题目如下: Description How far can you make a stack of cards ov ...
- 数据库——IN、ANY、SOME 和 ALL 操作符的使用
sql中all,any,some用法 简介: --All:对所有数据都满足条件,整个条件才成立,例如:5大于所有返回的id select * from #A where 5>All(select ...
- 【大数据笔记】白话详解Zookeeper的一致性
下面内容主要摘抄于<<Hadoop实战>>,红色高亮部分是本人添加的白话注释. Zookeeper 是一种高性能.可扩展的服务. Zookeeper 的读写速度非常快,并且读的 ...
- [LintCode]判断一个字符串是否包含另一个字符串的所有字符
问题描述: 比较两个字符串A和B,确定A中是否包含B中所有的字符.字符串A和B中的字符都是 大写字母. 样例 给出 A = "ABCD" B = "ACD",返 ...
- 单片机小白学步系列(二十) IO口原理
IO口操作是单片机实践中最基本最重要的一个知识,本篇花了比較长的篇幅介绍IO口的原理. 也是查阅了不少资料,确保内容正确无误,花了非常长时间写的. IO口原理原本须要涉及非常多深入的知识,而这里尽最大 ...
- Windows下进程通信方式
当线程分属于不同进程,也就是分驻在不同的地址空间时,它们之间的通讯需要跨越地址空间的边界,便得采取一些与同一进程中不同线程间通讯不同的方法.在Windows程序中,各个进程之间常常需要交换数据,进行数 ...
- thinkphp 无限级分类的思想 分析
$list=$cate->field("id,name,pid,path,concat(path,'-',id) as bpath")->order('bpath')- ...
- 关于Unity中的帧动画组件的编写
一.帧动画 1: 美术准备好一个连续动作的离散图片;2: 程序在准确的时间来切换这个图片;3: 优点: 简单,速度快; 缺点:资源占用相对过大; 二.frame_anim组件编写 1: 代码里面强制要 ...
- 【转】 如何利用C#代码来进行操作AD
要用代码访问 Active Directory域服务,需引用System.DirectoryServices命名空间,该命名空间包含两个组件类,DirectoryEntry和 DirectorySea ...
- am335x backlight
/****************************************************************************** * am335x backlight * ...