Hadoop 2.2.0集群搭建
一、环境说明
1、虚拟机平台:VMware10
2、Linux版本号:ubuntu-12.04.3-desktop-i386
3、JDK:jdk1.7.0_51
4、Hadoop版本号:2.2.0
5、集群节点:3个,各自是hadoopMaster。hadoopSlave1。hadoopSlave2
注明:文中fyzwjd是虚拟机username。
二、准备工作
1、安装虚拟机平台,并新建一个Ubuntu虚拟机,记为hadoopMaster。
2、在hadoopMaster上安装JDK。
Jdk一般有两个版本号:Open JDK、SunJDK,建议使用Sun JDK。安装过程例如以下:
先去 Oracle下载Linux下的JDK压缩包。http://www.oracle.com/technetwork/java/javase/downloads/index.html,下好后直接解压。
进入在存放jdk文件夹的当前文件夹,将解压好的jdk1.7.0_51文件夹用最高权限复移动到/usr/lib/jvm文件夹里,此时即使没有jvm文件夹也能够运行例如以下命令。jvm文件夹将得到创建。
sudo mv jdk1.7.0_51 /usr/lib/jvm/
接下来须要环境变量设置,进入当前username的主目录,改动.profile文件。注意。该文件是当前用户的配置文件,假设要对使用计算机的全部用户生效,那么须要设置的文件应该是 /etc/profile。
sudo gedit ~/.profile
在末尾加上:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
exportJRE_HOME=/usr/lib/jvm/jdk1.7.0_51/jre
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
然后保存关闭。此时在命令行输入java -version将会仍然显示java没有安装。
此时。须要使用source更新下.profile文件:
$ source ~/.profile
再次使用java -version命令能够看到例如以下输出:
fyzwjd@ubuntu:~$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build1.7.0_51-b18)
到此,已经将oracle jdk配置完毕。
假设之前系统里面已经安装了openjdk。能够使用例如以下方法将默认jdk更改过来:
$ sudo update-alternatives --install/usr/bin/java java /usr/lib/jvm/jdk1.7.0_51/bin/java 300
输入sun jdk前的数字就好了
$ sudo update-alternatives --install/usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_51/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
3、安装SSH
能够先检查是否已经有ssh,也能够跳过这步,直接安装。
$ sudo ps -ef | grep ssh
假设仅仅有 ssh-agent 就须要安装openssh-server了。
$ sudo apt-get install ssh openssh-server
4、配置SSH公钥
$ ssh-keygen -t rsa -P "yourPassWord"
$ ssh-keygen -t rsa -P "yourPassWord"
ssh-kengen 是用连字符连着的。千万不要分开。另外,password是你的虚拟机password,而不是空(当然,假设你的虚拟机password为空,另当别论)。
5、建立IP和hadoop节点的映射关系
改动etc/hosts文件,在上面增加hadoop节点IP和名称的映射关系。
$ sudo gedit /etc/hosts
在当中加上(ip是节点可配置的ip。自己设定):
192.168.32.*** hadoopMaster
192.168.32.*** hadoopSlave1
192.168.32.*** hadoop Slave2
6、克隆两个Ubuntu虚拟机,作为hadoop的其它两个节点
7、分别改动三个Ubuntu虚拟机的名称
$ sudo gedit /etc/hostname
分别将三个虚拟机名称改为:hadoopMaster,hadoopSlave1,hadoopSlave2。
8、改动三个Ubuntu虚拟机的IP
三、配置SSH无password登陆。
其目的是让hadoopMaster免password登陆hadoopSlave1和hadoopSalve2。过程例如以下:
1、在hadoopMaster上创建授权文件authorized_keys
进入~/.ssh/文件夹下运行”ls –a”,发现開始是没有authorized_keys文件的,能够使用下面两种方法来生成:
(1) 将id_rsa.pub追加到authorized_keys授权文件里;
$ cat id_rsa.pub >> authorized_keys
(2) 复制id_rsa.pub 为 authorized_keys
$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
完毕后就能够无password登录本机了,能够尝试登陆localhost
$ ssh localhost
2、将授权文件复制到hadoopSlave1、hadoopSlave2同样目录下
$ scp authorized_keys fyzwjd@hadoopSlave1:~/.ssh/authorized_keys
$ scp authorized_keys fyzwjd@hadoopSlave2:~/.ssh/authorized_keys
拷贝过程须要password,拷贝之后就能够免password登陆hadoopSlave1和hadoopSlave2了。
四、安装Hadoop2.2,搭建集群
1、在hadoopMaster上安装hadoop
首先到Apache官网上下载hadoop2.2的压缩文件,将其解压到当前用户的根目录中(home/fyzwjd/)。将解压出的目录改名为hadoop。
$ sudo mv hadoop-2.2.0 hadoop
配置之前,先在本地文件系统创建下面目录:~/hadoop/tmp、~/dfs/data、~/dfs/name。
主要涉及的配置文件有7个:都在/hadoop/etc/hadoop目录下,能够用gedit命令对其进行编辑。
~/hadoop/etc/hadoop/hadoop-env.sh
~/hadoop/etc/hadoop/yarn-env.sh
~/hadoop/etc/hadoop/slaves
~/hadoop/etc/hadoop/core-site.xml
~/hadoop/etc/hadoop/hdfs-site.xml
~/hadoop/etc/hadoop/mapred-site.xml
~/hadoop/etc/hadoop/yarn-site.xml
(1) 配置文件1:hadoop-env.sh
改动JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51)
(2) 配置文件2:yarn-env.sh
改动JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51)
(3) 配置文件3:slaves
hadoopSalve1
hadoopSlave2
(4) 配置文件4:core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoopMaster:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/fyzwjd/hadoop/tmp</value>
<description>Abasefor other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.fyzwjd.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.fyzwjd.groups</name>
<value>*</value>
</property>
</configuration>
(5) 配置文件5:hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoopMaster:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/fyzwjd/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/fyzwjd/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) 配置文件6:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoopMaster:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoopMaster:19888</value>
</property>
</configuration>
(7) 配置文件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>hadoopMaster:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoopMaster:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoopMaster:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoopMaster:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoopMaster:8088</value>
</property>
</configuration>
2、将hadoop目录复制到hadoopSlave1和hadoopSlave2上。
scp –r/home/fyzwjd/hadoop fyzwjd@hadoopSlave1:~/
scp –r/home/fyzwjd/hadoop fyzwjd@hadoopSlave2:~/
五、验证与执行
全部的组件启动和停止服务都在/hadoop/sbin文件夹下。一般启动hadoop前会格式化namenode。详细命令參考例如以下:
进入安装文件夹: cd ~/hadoop/
格式化namenode:./bin/hdfs namenode –format
启动hdfs: ./sbin/start-dfs.sh
此时在hadoopMaster上面执行的进程有:namenodesecondarynamenode
hadoopSlave1和hadoopSlave2上面执行的进程有:datanode
启动yarn: ./sbin/start-yarn.sh
此时在hadoopMaster上面执行的进程有:namenodesecondarynamenoderesourcemanager
hadoopSlave1和hadoopSlave2上面执行的进程有:datanode nodemanaget
查看集群状态:./bin/hdfs dfsadmin –report
查看文件块组成: ./bin/hdfsfsck/ -files -blocks
查看HDFS: http://hadoopMaster:50070
查看RM: http:// hadoopMaster:8088
Hadoop 2.2.0集群搭建的更多相关文章
- Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)
现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...
- Hadoop 2.6.0集群搭建
yum install gcc yum install gcc-c++ yum install make yum install autoconfautomake libtool cmake yum ...
- Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)
声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.服务器环境 主机名 IP 用户名 密码 安装目录 master188 192.168.29.188 hadoop hadoop /home/ha ...
- Redis 3.0 集群搭建
Redis 3.0 集群搭建 开启两个虚拟机 分别在两个虚拟机上开启3个Redis实例 3主3从两个虚拟机里的实例互为主备 下面分别在两个虚拟机上安装,网络设置参照codis集群的前两个主机 分别关闭 ...
- hadoop 2.2.0 集群部署 坑
注意fs.defaultFS为2..0新的变量,代替旧的:fs.default.name hadoop 2.2.0 集群启动命令:bin/hdfs namenode -formatsbin/start ...
- Redis 5.0 集群搭建
Redis 5.0 集群搭建 单机版的 Redis 搭建 https://www.jianshu.com/p/b68e68bbd725 /usr/local/目录 mkdir redis-cluste ...
- 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下hadoop2.6.0集群搭建详细过程
一 .centos集群环境配置 1.创建一个namenode节点,5个datanode节点 主机名 IP namenodezsw 192.168.129.158 datanode1zsw 192.16 ...
- hadoop 2.2.0集群安装
相关阅读: hbase 0.98.1集群安装 本文将基于hadoop 2.2.0解说其在linux集群上的安装方法,并对一些重要的设置项进行解释,本文原文链接:http://blog.csdn.net ...
随机推荐
- android adb虚拟机对应的键盘命令
HOME Home button 主界面键 F2, PAGEUP Menu (Soft-Left) ...
- ORACLE 分区表 相关视图
1. 显示当前用户可访问的所有分区表信息﹕ ALL_PART_TABLES 2. 显示当前用户所有分区表的信息﹕ USER_PART_TABLES 3. 显示表分区信息 显示数据库所有分区表的详细分区 ...
- selenium - 弹出框操作
# 6. 弹出框操作 # 6.1 页面弹出框操作# 页面弹出框 是一个html页面的元素,由用户在页面的操作触发弹出# (1)执行触发操作之后,等待弹出框出现之后,# (2)再定位弹出框中的元素并操作 ...
- SQL中使用关键词创建表或字段
有时候我们给表或者字段命名时,会无意中选择了一个SQL中的关键字进行命名,然后就报错了: ERROR: syntax error at or near "limit" MySQL ...
- Shape,expand_dims,slice基本用法
import tensorflow as tf t = tf.constant([[[1, 1, 1], [2, 2, 2]], [[3, 3, 3], [4, 4, 4]], [[5, 5, 5], ...
- Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) A. The King's Race
http://codeforces.com/contest/1075/problem/A On a chessboard with a width of nn and a height of nn, ...
- 【bzoj2843】极地旅行社 LCT
题目描述 不久之前,Mirko建立了一个旅行社,名叫“极地之梦”.这家旅行社在北极附近购买了N座冰岛,并且提供观光服务.当地最受欢迎的当然是帝企鹅了,这些小家伙经常成群结队的游走在各个冰岛之间.Mir ...
- 搜索引擎快捷导航:一个简单的chrome插件(教程)
一.如何通过练习来提高学习新框架的最好姿势是:基于现有的业务来学习.即从工作中学习,从实践中学.但是,如果一直只使用新的框架来重写旧的业务,成长也会趋近于0.第一次,使用新框架时收获可能颇丰:第二次, ...
- NOI2016 区间 【线段树】
题目 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置.换句话说,就是使得存在一个 x,使得对于每一个被 ...
- NOIP2017赛前模拟(5):总结
题目: 1.刮刮卡 已知n(n<=1000000)张刮刮卡按顺序排列,刮开可以获得B元现金和B个积分,购买刮刮卡需要A元,某人若按照顺序刮开的话··当B的总和小于A时便会停止刮卡(即花出去的钱多 ...