实验目的:
本实验通过在PC电脑上同时运行3个虚拟机,一个为master节点,两个slave节点。 
 
搭建环境
主机:mac os 10.10
 
OS:CenOS 6.5
虚拟机:VMware fusion
 
 
一、虚拟机配置安装
     本实验采用三台虚拟机作为分布式模拟,因此建立了三台虚拟机。每台虚拟机分别分配1g内存,15G硬盘空间。分别命名为Node1(master192.168.0.1),       Node2(slave192.168.0.2),Node3(slave192.168.0.3
修改/etc/hosts,添加
192.168.0.1 Node1
192.168.0.2 Node2
192.168.0.3 Node3
     1.虚拟机OS安装
  • 三台虚拟机安装linux(CenOS 6.5)
  • 关闭防火墙、iptables(在root权限下,运行chkconfig iptables off永久关闭防火墙,然后运行service iptables status查看防火墙运行状态)
     2.网络配置
  • 由于在局域网环境进行实验,因此虚拟机的网络适配器选择桥接模式(虚拟机-网络适配器-桥接模式)。
  • 同时选择网络适配器设置(虚拟机-网络适配器-网络适配器设置),选择“连接网络适配器”
  • 静态ip设置:局域网可以自行给每台主机设置静态ip,在网络里选择ipv4为手动模式,进行ip配置。(我分别设置为192.168.0.1/2/3)
     验证:分别在三台主机上打开终端,进行ping其他主机的ip,若都能互相ping通,则设置成功
 
二、jdk安装
  在oracle官网下载java SE的jdk。下载后解压到主机上,由于jdk安装网上很多,因此不再细讲jdk安装。
  验证:在终端输入java -version后有提示说明安装成功
 
三.SSH免密码登陆
  由于在互相远程操作的话,我们使用ssh [ip]命令进行ssh登录,需要输入远程主机的密码才能登陆。因此要将ssh设置为免密码登陆。
  在设置的时候要做两方面ssh免密码登陆,一方面是自己登陆到自己(localhost)需要设置,另外一方面是需要将自己到其他各个主机之间都设置为ssh免密码登陆。
  其实ssh免密码登陆的设置,就是将本机的rsa公钥传到远程主机上,将公钥内容放到对方主机的/.ssh文件夹里面的authorized_keys里面,即可实现免密码登陆。
操作如下:
  首先关闭本机的防火墙及iptables等
  Node1(master)
  A:免密码登陆到其他主机
  1.回到用户主目录(cd ~)
  2.运行ssh-keygen -t rsa,一直回车   (生成rsa 密钥)
  3.进入生成的文件夹.ssh,运行scp id_rsa.pub   username@192.168.0.X:/home/username/.ssh/authorized_keys将pub公钥分别传给其他两个主机
  4.再次运行ssh [ip]则不需要密码登陆。
  B:免密码登陆到本机
  将id_rsa.pub里面的内容加到同目录下的 authorized_keys即可。
 
  同理,将其余两个节点都设置为互相ssh免密码登陆。
 
[其实不用这么麻烦,可以将其与两个slave和master自己的id_rsa.pub都加到master的authorized_keys里,然后master的这个authorized_keys都复制到其他节点的.ssh/里面就行了]
  验证:在各个主机上,输入[ssh 目标ip]都不用输入密码,直接登录
 
四、Hadoop配置
  非常重要的来了。中间遇到各种问题,由于查的各种资料不靠谱,搞了一周才把这步搞定。
  1.hadoop下载
    首先,毫无疑问我们得去官网上下载hadoop的包。http://mirror.bit.edu.cn/apache/hadoop/common/
    在界面中,我选择的是2.7.0的版本。选择下载hadoop-2.7.0.tar.gz(当然也能复制下载链接用wget,都一样)
  2.解压hadoop,将其放到用户主目录下,命名为hadoop
  3.配置hadoop文件
    A.配置环境变量
    打开/etc/profile,编辑如下
#set Java   JAVA环境变量
export JAVA_HOME=/usr/java

export JAVA_BIN=/usr/java/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
export JAVA_LIBRARY_PATH=/home/renjie/hadoop/lib/native

#set Hadoop hadoop环境变量
export HADOOP_HOME=/home/renjie/hadoop
export PATH=$PATH:HADOOP_HOME/bin

立即生效:source /etc/profile

   B.在hadoop目录下,分别建立tmp、dfs、dfs/name、dfs/data文件夹

   C.配置hadoop环境文件

    修改hadoop/etc/hadoop/hadoop-env.sh,取消export JAVA_HOME=/usr/java的注释,并且配置java的绝对路径

    修改hadoop/etc/hadoop/yarn-env.sh,同样将java路径配置为绝对路径

   D.修改hadoop/etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.0.1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/renjie/hadoop/tmp</value>
</property>
</configuration>

  E.修改hadoop/etc/hadoop/hdfs-site.xml

<configuration>
<property>
<name>dfs.nameservices</name>
<value>Node1</value>
</property>
<property>
<name>dfs.ha.namenodes.Node1</name>
<value>Node1</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/renjie/hadoop/dfs/data</value>
</property><property>
<name>dfs.namenode.secondary.http-address</name>
<value>Node1:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>

  F.修改hadoop/etc/hadoop/mapred-site.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.0.1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.0.1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.0.1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.0.1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.0.1:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>
</property></configuration>

  G.修改hadoop/etc/hadoop/slaves

  其中注销掉localhost,添加

  Node2

  Node3

五、分发hadoop

  将配置好的hadoop分发到其他节点。

  在用户主目录下,scp -r hadoop username@192.168.0.2:/home/username     //将当前目录下的hadoop文件夹传到192.168.0.2的username用户文件夹下。剩下节点也这样操作

六、初始化

  进入hadoop目录。运行bin/hadoop namenode -format 若最后出现success,则成功初始化

七、运行hadoop

  在master上,进入hadoop/sbin,运行./start-all.sh,运行hadoop

  这个时候如果hadoop没有配置好的话,可能会进行报错。这一步运行后,提示中不能出现任何错误。我做的时候运行这一步,出现了

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...
using builtin-java classes where applicable
这种情况是没有找到本地库。解决方案:http://dl.bintray.com/sequenceiq/sequenceiq-bin/。在这个网站下载对应的版本包。下载后解压,将里面的文件覆盖到hadoop/lib/native/就行。 最后成功运行后,输入jps。出现此时运行的程序,若出现

10914 Jps
9112 ResourceManager
8862 NameNode

则master成功

在slave上,运行jps,若出现

2326 DataNode
3423 Jps

则slave成功。

至此,hadoop成功运行。接下来可以运行example了

 

Hadoop 2.7.0模拟分布式实验环境搭建[亲测]的更多相关文章

  1. hadoop_spark伪分布式实验环境搭建和运行实例详细教程

    hadoop+spark伪分布式环境搭建 安装须知 单机模式(standalone): 该模式是Hadoop的默认模式.这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统 ...

  2. Hadoop2.0伪分布式平台环境搭建

    一.搭建环境的前提条件 环境:ubuntu-16.04 hadoop-2.6.0  jdk1.8.0_161.这里的环境不一定需要和我一样,基本版本差不多都ok的,所需安装包和压缩包自行下载即可. 因 ...

  3. selenium + python自动化测试环境搭建--亲测

    环境准备: 1.下载所学安装包: setuptools https://pypi.python.org/packages/2.7/s/setuptools/ selenium https://pypi ...

  4. 操作系统内核Hack:(一)实验环境搭建

    操作系统内核Hack:(一)实验环境搭建 三四年前,心血来潮,入手<Orange's:一个操作系统的实现>学习操作系统内核,还配套买了王爽的<汇编语言(第二版)>和<80 ...

  5. Apache Spark1.1.0部署与开发环境搭建

    Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...

  6. hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装

    hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装 一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh ...

  7. Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试

    标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9 ...

  8. hadoop3.1.0 window win7 基础环境搭建

    https://blog.csdn.net/wsh596823919/article/details/80774805 hadoop3.1.0 window win7 基础环境搭建 前言:在windo ...

  9. Kafka 0.7.2 单机环境搭建

    Kafka 0.7.2 单机环境搭建当下载完Kafka后,进行解压,其目录结构如下: bin config contrib core DISCLAIMER examples lib lib_manag ...

随机推荐

  1. QListWidget笔记

    1.头文件:#include <QListWidget> 2.继承自:QListView 3.基本代码: #include "mainwindow.h" #includ ...

  2. Python 在windows上安装BeautifulSoup和request以及小案例

    Python以及PyCharm安装成功后,操作如下: 此时,代码import requests不报错了. 那么,Python 在windows上安装BeautifulSoup,怎么操作呢? 1. 打开 ...

  3. 第一课、OpenGL绘制直线等等

    第一课.OpenGL绘制直线等等 分类: [开发技术]OpenGL 2012-01-18 14:59 5217人阅读 评论(0) 收藏 举报 buffer图形c // //  main.c //  o ...

  4. WordPress博客搭建指南

    WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统.WordPress具有插件架构和模板系统.Alexa排行前100万的网站中有超过16.7%的网站使用WordPre ...

  5. SQL Server(五)——常用函数 转

    1.数学函数:操作一个数据,返回一个结果 --取上限ceiling select code,name,ceiling(price) from car ; --取下限 floor select floo ...

  6. 利用C++创建DLL并C#调用

    日期:2018年11月26日 环境:window 10,VS2015 community 一.利用C++创建DLL 1.新建项目: 2.打开CreateDLL.cpp文件,并输入测试代码 #inclu ...

  7. 30个Python物联网小实验3:使用按钮开灯关灯

    使用按钮开灯关灯 接线图非常简单,LED接GPIO17号口,按钮接GPIO2号口,负极接GND地线. 代码也非常简单: from gpiozero import LED, Button from si ...

  8. Fedora/CentOS使用技巧

    命令 获取系统安装包的编译源码及脚本 # dnf download --source package # yumdownloader --source virt-viewer 远程连接windows ...

  9. redis win连接以及配置连接密码

    redis连接格式为 redis-cli -h host -p port -a password 但由于刚安装的redis是没有密码的 因此可以进行直接连接, cd转到redis目录里 redis-c ...

  10. c# new三种用法

    前几天去家公司面试,有一道这样的题:写出c#中new关键字的三种用法,思前想后挖空心思也只想出了两种用法,回来查了下msdn,还真是有第三种用法:用于在泛型声明中约束可能用作类型参数的参数的类型,这是 ...