硬件配置:1台NameNode节点、2台DataNode节点

一、Linux环境配置

这里我只配置NameNode节点,DataNode节点的操作相同。

1.1、修改主机名

命令:vi /etc/sysconfig/network
修改内容:
NETWORKING=yes
HOSTNAME=master
命令:hostname master

1.2、修改ip地址(桥接模式)

命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改内容:(保留最简配置)
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.12.80
NETMASK=255.255.255.0
GATEWAY=192.168.12.254
命令:service network restart 重启网络服务

1.3、配置主机名和ip地址的映射关系

命令:vi /etc/hosts
修改内容:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.12.80 master
192.168.12.81 slave1
192.168.12.82 slave2

1.4、关闭防火墙

命令:service iptables status 查看防火墙状态
命令:service iptables stop  关闭防火墙

1.5、设置防火墙开机不启动

命令:chkconfig iptables --list 查看防火墙开机启动状态
命令:chkconfig iptables off  设置防火墙开机不启动

二、java环境配置

使用软件SSHSecureShellClient进行文件的上传、远程命令执行等。

2.1、上传jdk

创建文件夹用于存放jdk文件,下载用于linux操作系统的jdk版本。
命令:mkdir java

2.2、解压jdk

命令:tar -zxvf jdk-8u121-linux-x64.tar.gz -C /home/bi/java

2.3、修改环境变量

命令:vi /etc/profile
修改内容:
export JAVA_HOME=/home/bi/java/jdk1.8.0_121
export PATH=${JAVA_HOME}/bin:$PATH
命令:source /etc/profile 重新加载环境变量脚本

2.4、验证java是否生效

命令:java -version

2.5、将java文件夹复制到DataNode节点下,并配置JDK环境变量

命令:
scp -r java bi@slave1:/home/bi/java
scp -r java bi@slave2:/home/bi/java

三、hadoop环境配置

3.1、上传hadoop安装包

创建文件夹用于存放hadoop安装文件
命令:mkdir hadoop

3.2、解压hadoop安装包

命令:tar -zxvf hadoop-2.7.3.tar.gz -C /home/bi/hadoop
在hadoop中有几个重要的目录:
sbin:启动或者停止hadoop相关服务的脚本
bin:对hadoop相关服务进行操作的脚本
etc:hadoop相关配置文件
share:hadoop依赖的相关jar包和文档
lib:hadoop本地库

3.3、修改环境变量

命令:vi /etc/profile
修改内容:
export HADOOP_HOME=/home/bi/hadoop/hadoop-2.7.3
export PATH=${JAVA_HOME}/bin:$PATH:${HADOOP_HOME}/bin
命令:source /etc/profile

3.4、配置hadoop(完全分布式)

命令:mkdir data 在hadoop文件夹下创建data文件夹用于存放hdfs数据
进入目录/hadoop/hadoop-2.7.3/etc/hadoop下:
1)修改core-site.xml文件
<configuration>
<!-- 配置NameNode地址-->            
<property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://master:9000</value>
            </property>
<!-- 配置HDFS数据存储目录 -->
            <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/home/bi/hadoop/hadoop-2.7.3/data</value>
            </property>
</configuration>
2)修改hdfs-site.xml文件

<configuration>
<!-- 配置HDFS副本备份数 -->
            <property>
                    <name>dfs.replication</name>
                    <value>1</value>
            </property>
            <!-- 配置SecondaryNameNode地址 -->
            <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>master:50090</value>
            </property>
</configuration>
3)修改mapred-site.xml文件
<configuration>
<!-- 配置mapreduce运行在yarn上 -->
            <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property>
            <property>
                    <name>mapreduce.jobhistory.address</name>
                    <value>master:10020</value>
            </property>
            <property>
                    <name>mapreduce.job.tracker</name>
                    <value>master:9001</value>
            </property>
</configuration>
4)修改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>
<!-- 配置resourcemanager的地址 -->
            <property>
                    <name>yarn.resourcemanager.address</name>
                    <value>master:8032</value>
            </property>
            <property>
                     <name>yarn.resourcemanager.scheduler.address</name>
                     <value>master:8030</value>
            </property>
            <property>
                     <name>yarn.resourcemanager.resource-tracker.address</name>
                     <value>master:8031</value>
            </property>
            <property>
                     <name>yarn.resourcemanager.admin.address</name>
                     <value>master:8033</value>
            </property>
            <property>
                     <name>yarn.resourcemanager.webapp.address</name>
                     <value>master:8088</value>
            </property>
</configuration>
5)修改slaves文件
修改内容:(删除文件中其他内容)
slave1
slave2
6)修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件
修改内容:
export JAVA_HOME=/home/bi/java/jdk1.8.0_121

3.5、配置ssh免密码登录

1)执行下列命令,让master节点能够免密码登录自身服务器
命令:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 0600 ~/.ssh/authorized_keys
2)让master节点可以免密码登录到两个子节点(slave1、slave2)
为了实现这个功能,两个slave节点的公钥文件中必须要包含主节点的公钥信息,这样master就可以顺利安全的访问这两个slave节点了。
命令:
scp -r id_rsa.pub bi@slave1:/home/bi/.ssh/authorized_keys
scp -r id_rsa.pub bi@slave2:/home/bi/.ssh/authorized_keys
命令:测试免密码登录是否成功
ssh slave1
ssh slave2

3.6、将master节点配置的hadoop文件复制到两个子节点(slave1、slave2)

命令:
scp -r hadoop bi@slave1:/home/bi
scp -r hadoop bi@slave2:/home/bi

3.7、格式化NameNode

命令:hdfs namenode -format

3.8、启动hadoop

命令:sbin目录
sbin/start-all.sh

3.9、查看启动结果

命令:jps(master节点)
命令:jps(slave节点)
也可以打开界面:192.168.12.80:50070、192.168.12.80:8088查看节点状态

Hadoop环境搭建|第二篇:hadoop环境搭建的更多相关文章

  1. 第二篇 基于.net搭建热插拔式web框架(沙箱的构建)

    上周五写了一个实现原理篇,在评论中看到有朋友也遇到了我的问题,真的是有种他乡遇知己的感觉,整个系列我一定会坚持写完,并在最后把代码开源到git中.上一篇文章很多人看了以后,都表示不解,觉得不知道我到底 ...

  2. 【原】Spring整合Redis(第二篇)—SDR环境搭建具体步骤

    [环境参数] Spring版本:4.2.6.RELEASESpring-Data-Redis版本:1.7.2.RELEASE Redis版本:redis-2.4.5-win32-win64 [简要说明 ...

  3. cocos2d-x之android编译环境搭建(第二篇)[版本号:cocos2d-x-3.1.1]

    基于 Android NDK 的学习之旅-----环境搭建 工欲善其事 必先利其器 , 以下介绍下 Eclipse SDK NDK Cygwin CDT 集成开发环境的搭建. 1.Android 开发 ...

  4. Hadoop入门第四篇:手动搭建自己的hadoop小集群

    前言 好几天没有更新了,本来是应该先写HDFS的相关内容,但是考虑到HDFS是我们后面所有学习的基础,而我只是简单的了解了一下而已,后面准备好好整理HDFS再写这块.所以大家在阅读这篇文章之前,请先了 ...

  5. hadoop 初探之第二篇(杂谈)

    NameNode:名称节点,主要功能在于实现保存文件元数据,这些元数据直接保存在内存中,为了保证元数据的持久性,而也会周期性的同步到磁盘上去.磁盘上的数据通常被称为元数据的映像数据 image fil ...

  6. 《安卓网络编程》之第二篇 java环境下网络通信的综合应用

    经过前面内容的学习,我们了解了Java技术中实现网络通信的基本知识.下面将通过一个具体视力的实现过程,讲解客户端和服务器端通信的流程. 服务器端的实现文件是 Server.java,代码如下: imp ...

  7. Hadoop学习笔记(10) ——搭建源码学习环境

    Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...

  8. Hadoop学习之Ubuntu12.04 Hadoop 环境搭建笔记

    SSH无密码配置 Hadoop在Ubuntu12.04上搭建环境 报错及问题 SSH无密码配置 参考:Linux(Centos)配置OpenSSH无密码登陆 注意问题: Hadoop集成环境三台机器都 ...

  9. 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法

    前言 在搭建大数据Hadoop相关的环境时候,遇到很多了很多错误.我是个喜欢做笔记的人,这些错误基本都记载,并且将解决办法也写上了.因此写成博客,希望能够帮助那些搭建大数据环境的人解决问题. 说明: ...

随机推荐

  1. 分布式事务(ACID特性、CAP定律)

    普通事务和分布式事务的区别: 普通事务就是一般所说的数据库事务,事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成.当事务被提交给了DBMS(数据库管理系统),则DBMS(数 ...

  2. 使用ctypes调用系统C API函数需要注意的问题,函数参数中有指针或结构体的情况下最好不要修改argtypes

    有人向我反应,在代码里同时用我的python模块uiautomation和其它另一个模块后,脚本运行时会报错,但单独使用任意一个模块时都是正常的,没有错误.issue链接 我用一个例子来演示下这个问题 ...

  3. Ubuntu-Python2.7安装 scipy,numpy,matplotlib (转)

    sudo apt-get install python-scipy sudo apt-get install python-numpy sudo apt-get install python-matp ...

  4. 用java代码实现

    用java代码实现(1)珠穆朗玛峰高度为8848米,有一张足够大的纸,厚度为0.001米. (2)请问,我折叠多少次,可以折成珠穆朗玛峰的高度/** * @author 18269 * @date 2 ...

  5. 检测jquery是否正确引入

    if(typeof(jQuery)=="undefined"){ alert("jQuery is not imported"); }else{ alert(& ...

  6. 网络流dinic ek模板 poj1273

    这里只是用来存放模板,几乎没有讲解,要看讲解网上应该很多吧…… ek bfs不停寻找增广路到找不到为止,找到终点时用pre回溯,O(VE^2) #include<cstdio> #incl ...

  7. 【2017-06-29】在登录页面自动返回上次请求页面、Js获取table中的行数与列数

    一.在登录页面自动返回上次请求页面 Request.UrlReferrer比如 if (Request.UrlReferrer != null) { //如果能获取来路地址 Response.Redi ...

  8. 用js刷剑指offer(矩形覆盖)

    题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形.请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 牛客网链接 思路 依旧是斐波那契数列 2 * n的大矩形,和n个 ...

  9. RedHat Enterprise Linux 5 配置Samba服务器

    1.修改samba的配置文件 # gedit /etc/samba/smb.conf 在/etc/samba/smb.conf配置文件中找到Share Definitions模块添加以下代码: [ro ...

  10. 关键字final 修饰类、方法、属性、参数类型

    笔记: /** 关键字final(最终的) 标记的类不能被继承, 提高安全性,提高程序的可读性 * 1.final 修饰类,这个类就不能被继承: 如:String类.StringBuffer类.Sys ...