虚拟机搭建hadoop环境
这里简单用三台虚拟机,搭建了一个两个数据节点的hadoop机群,仅供新人学习。零零碎碎,花了大概一天时间,总算完成了。
环境
Linux版本:CentOS 6.5
VMware虚拟机
jdk1.6.0_45
主要分为一下几步完成
一、安装CentOS 6.5
当然了,如果没有虚拟机,需要先安装VMware,然后新建虚拟机,选择系统镜像即可,复制几台,比如我的机器4G内存,最多复制两台,一共三台。
建议这时候把所有机器进入管理员root权限:
[root@blue bin]#su
输入密码即可
二、修改IP
复制的三台机器ip一样的,需要配置/etc/sysconfig/network-scripts/ifcfg-eth0文件,有几台修改几次,vim命令打开:
[root@blue bin]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改为:

主机修改为:192.168.183.3
三台机器ip随便都行,比如改为
192.168.183.3
192.168.183.4
192.168.183.5
三、免登陆
我们需要让三台机器能互相进入、控制对方。
1、配置hostname
[root@blue bin]#vim /etc/hosts

所有机器都得有,所以可以直接复制过去
[root@blue bin]#scp -rp /etc/hosts 192.168.183.4:/etc
[root@blue bin]#scp -rp /etc/hosts 192.168.183.5:/etc
2、配置network文件
[root@blue bin]#vim /etc/sysconfig/network
编辑HOSTNAME的值,就是给机器取名字:

另外两台机器也要编辑network文件,比如三台机器分别取名blue、blue2、blue3。
重启机器,命令输入hostname:
就会出现刚才设置的名字.
四、生成key
1、Ssh-keygen命令
[root@blue bin]#ssh-keygen
会生成文件,保存在/root/.ssh/id_rsa,到时候会有提示的,里面有cat id_rsa.pub这个文件。
2、对于blue这台机器:
[root@blue bin]#cat id_rsa.pub > authorized_keys
生成authorized_keys文件
在blue2、blue3都执行
[root@blue bin]#ssh-keygen命令
会生成同样文件,里面包含了控制该机器的钥匙信息
打开blue2、blue3的id_rsa.pub文件会有形如下面内容,

鼠标选中(自动进入剪贴板),粘贴到blue机器的authorized_keys文件里面,这样blue(主机)的authorized_keys里面就是三台机器的钥匙,有了钥匙,就可以访问了。
authorized_keys里面是这样:

3、复制钥匙
把authorized_keys文件远程复制到blue2、blue3机器里面,这样每台机器都有其它机器和自己的钥匙了。
[root@blue bin]#scp –r authorized_keys 192.168.183.4:~/.ssh
[root@blue bin]#scp –r authorized_keys 192.168.183.4:~/.ssh
4、检查
对于blue:
[root@blue bin]#ssh blue2
[root@blue bin]#ssh blue3
会发现不需要密码,如果还需要密码,那就失败了。重新检查,大不了从头再来。
对于另外两台机器blue2、blue3也同样ssh命令检查,不需要密码,就ok!
五、Hadoop环境配置
1、关闭防火墙
这就需要关闭三台机器防火墙:
关闭:[root@blue bin]#service iptables stop
检查:[root@blue bin]#iptables –L
会出现:

表明防火墙成功关闭
2、安装hadoop
在blue机器里面操作
保存hadoop文件,这里是压缩包,放到共享目录里面,将其复制到虚拟机blue的/usr/local/src文件夹下面
[root@blue bin]#cp /mnt/hgfs/share/hadoop-1.2.1-bin.tar.gz /usr/local/src
然后进入虚拟机的/usr/local/src下面:
解压文件
[root@blue bin]#tar -xzvf hadoop-1.2.1-bin.tar.gz
3、修改配置文件
进入/usr/local/src/hadoop-1.2.1/conf文件夹,下面有需要配置的文件
(1)、修改masters文件
修改为:blue
(2)、修改slaves文件
修改为:
blue2
Blue3
(3)、修改core-site.xml文件

(4)、修改mapred-site.xml

(5)、修改hdfs-site.xml

(6)、配置环境修改文件hadoop-env.sh
I:安装java
由于hadoop是基于java的,这里安装java,并且配置JAVA_HOME环境变量
修改这个文件:
[root@blue bin]#vim ~/.bashrc
如下

JAVA_HOME值就是jdk的安装路径,这里安装在/usr/local/src下面
Ii:[root@blue bin]#source ~/.bashrc 刷新文件,因为刚才修改过,除非重启,
命令:
[root@blue bin]#Java
如果出现一些信息,表明配置java环境成功!
Iii:[root@blue bin]#vim Hadoop-env.sh
末尾加一行
export JAVA_HOME= /usr/local/src/jdk1.6.0_45
以上几步需要细心,保证不敲错一个字符!
4、复制hadoop到另外两台机器blue2、blue3
[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 192.168.183.4:/usr/local/src
或者:
[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 blue2:/usr/local/src
因为配置了network文件,每台机器ip与hostname唯一对应,并且重启生效了,所以用ip与名字是一样的,如果没有重启,需要设置临时名字:
[root@blue bin]#hostname blue
[root@blue bin]#hostname blue2
[root@blue bin]#hostname blue3
[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 192.168.183.5:/usr/local/src
或者:
[root@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 blue3:/usr/local/src
建议这里再检查一下三台机器的防火墙是否关了,命令:
[root@blue bin]#Setenforce 0
[root@blue bin]#Getenforce
如果出现Permissive,表明关掉了,否则service iptables stop关掉防火墙。
5、格式化节点
进入目录:
[root@blue bin]#cd /usr/local/src/hadoop-1.2.1/bin
执行hadoop命令:
[root@blue bin]#./hadoop namenode –format
6、启动hadoop
[root@blue bin]#./start-all.sh
7、这时执行命令:
首先在父亲(blue)里面,如果父亲都有问题,肯定有问题。
[root@blue bin]#jps

出现的四个与上面图片的必须一样,否则表明有前面的5个配置文件有问题,返回去检查。
如果没有问题,再对blue2、blue3两台机器执行命令:
[root@blue bin]#jps
哈哈,会发现错误:bash:jps:command not found
其实是不能发现java的环境变量,前面只配置了父亲blue的java环境变量。
需要把主机blue的环境变量文件.bashrc复制到两台孩子机器blue2、blue3的对应位置下面,覆盖原有的.bashrc文件。需要三台机器jdk位置安装一样哦,这里前面都统一安装在/usr/local/src目录下面。
[root@blue bin]#scp -rp ~/.bashrc blue2:~/
[root@blue bin]#scp -rp ~/.bashrc blue3:~/
还要分别在blue2、blue3里面,记得source ~/.bashrc,重新加载文件,才能生效
8、停止hadoop
[root@blue bin]#./stop-all.sh
继续5、6步,即在blue里面的hadoop的bin目录下面,这里所有执行的文件都在bin目录,下面。
然后在孩子节点机器blue2、blue3命令:
[root@blue bin]#jps:

英文意思是:4609数据节点、4700任务节点
出现的三个必须一样,否则表明前面的5个配置文件有问题,返回去检查。然后重复8——5——6——7步骤。
如果不出意外,按照这种步骤是可以配置成功的!
虚拟机搭建hadoop环境的更多相关文章
- virtualbox 虚拟3台虚拟机搭建hadoop集群
用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...
- 基于CentOS与VmwareStation10搭建hadoop环境
基于CentOS与VmwareStation10搭建hadoop环境 目 录 1. 概述.... 1 1.1. 软件准备.... 1 1.2. 硬件准备.... 1 2. 安装与配置虚拟机.. ...
- 用三台虚拟机搭建Hadoop全分布集群
用三台虚拟机搭建Hadoop全分布集群 所有的软件都装在/home/software下 虚拟机系统:centos6.5 jdk版本:1.8.0_181 zookeeper版本:3.4.7 hadoop ...
- Docker搭建Hadoop环境
文章目录 Docker搭建Hadoop环境 Docker的安装与使用 拉取镜像 克隆配置脚本 创建网桥 执行脚本 Docker命令补充 更换镜像源 安装vim 启动Hadoop 测试Word Coun ...
- 【一】、搭建Hadoop环境----本地、伪分布式
## 前期准备 1.搭建Hadoop环境需要Java的开发环境,所以需要先在LInux上安装java 2.将 jdk1.7.tar.gz 和hadoop 通过工具上传到Linux服务器上 3. ...
- Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) (转载)
Hadoop在处理海量数据分析方面具有独天优势.今天花了在自己的Linux上搭建了伪分布模式,期间经历很多曲折,现在将经验总结如下. 首先,了解Hadoop的三种安装模式: 1. 单机模式. 单机模式 ...
- (转)超详细单机版搭建hadoop环境图文解析
超详细单机版搭建hadoop环境图文解析 安装过程: 一.安装Linux操作系统 二.在Ubuntu下创建hadoop用户组和用户 三.在Ubuntu下安装 ...
- 基于《Hadoop权威指南 第三版》在Windows搭建Hadoop环境及运行第一个例子
在Windows环境上搭建Hadoop环境需要安装jdk1.7或以上版本.有了jdk之后,就可以进行Hadoop的搭建. 首先下载所需要的包: 1. Hadoop包: hadoop-2.5.2.tar ...
- Linux 下搭建 Hadoop 环境
Linux 下搭建 Hadoop 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Hadoop 环境 CSDN:Linux 下搭建 Hadoop 环境 环境要求 操作系统:CentOS ...
随机推荐
- js菜鸟进阶-jQuery源码分析(1)-基本架构
导读: 本人JS菜鸟一枚,为加强代码美观和编程思想.所以来研究下jQuery,有需要进阶JS的同学很适合阅读此文!我是边看代码(jquery2.2.1),边翻“javascript高级程序设计”写的, ...
- Java8学习(3)- Lambda 表达式
猪脚:以下内容参考<Java 8 in Action> 本次学习内容: Lambda 基本模式 环绕执行模式 函数式接口,类型推断 方法引用 Lambda 复合 上一篇Java8学习(2) ...
- Java - static的注意点
静态函数与静态变量无需生成对象 静态函数只能调用静态变量 装载类的时候执行静态代码块 静态函数中不能使用this /* * For test static * 2014-10-26 */ public ...
- Python蜕变-2017-4-23
我的第一篇博客,这是试水练习.这次上的菜是Haporxy配置文件操作. <1> 上需求: 具体配置文件如下: global log 127.0.0.1 local2 daemon maxc ...
- git中使用命令将远程仓库拉取项目在本地文件夹
在有些时候,我们往往从github或者gitlab或者coding上面直接下载项目下来运行,但是这种情况往往没有使用git远程拉取来的安全(或者叫装逼), 所以这里我以gitLab为例子,说一下如何将 ...
- 如何使用命令行cmd执行java程序
如果你的电脑上没有像idea eclipse这类的IDE,但是因为工作需要必须要执行java代码怎么办呢? 这个时候就需要使用电脑最原始的执行方式 既命令行 1:首先你得安装了jdk与jre (这里就 ...
- nessus重置密码
许久不用的nessus密码居然忘记了,查了下: cmd下进入到nessus的安装目录 提升为管理员,登录系统 如果想用之前的账号,可以直接在系统内重置密码.
- Final 关键字
1.涵义 最一般的意思就是声明 "这个东西不能改变".之所以要禁止改变,可能是考虑到两方面的因素:设计或效率. final 关键字可以用来修饰变量.方法和类,修饰变量表示变量不能被 ...
- 解决lxml不含etree模块导致scrapy startproject ***出错
本文环境:win10(64) python3.6(64) 背景:之前已成功安装scrapy(1.4.0),但在命令行敲 scrapy startproject ***出错,错误提示:from ... ...
- this final 关键字
this: 1:将当前对象的值返回(谁调用就指谁). 2:添加this关键字可以区分局部变量和成员变量. 3:使用this可以调用其他构造函数(前提是this正处于构造函数中). final: 1:修 ...