硬件配置: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. JDBC 学习复习6 学习与编写数据库连接池

    之前的工具类DBUtil暴露的问题 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的 ...

  2. MongoDB知识小结

    一.术语 RDBMS MongoDB 数据库 数据库 表格 集合 行 文档 列 字段 表联合 嵌套文档 主键 主键 (MongoDB 提供了 key 为 _id ) 数据库 数据库名可以是满足以下条件 ...

  3. stm32最小系统制作(原理图,PCB图,焊接等)

    一直想自己做一个最小系统,这次终于把想法付诸实现.     原理图如下:     PCB图如下: 过了多日,板子终于邮到了,就是下面这个熊样.   焊接了稳压电路,发现稳压电路原理图部分画错,没有接地 ...

  4. CSS3自定义滚动条样式方法

    该代码收集于网上资源,非原创 /*定义滚动条宽高及背景,宽高分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 10px; /*对垂直流动条有效*/ height: ...

  5. EditText编辑框

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  6. c# 类成员的可访问性

  7. Linux学习笔记(十四)磁盘管理(二):格式化、挂载以及Swap分区

    一.格式化 第一种写法 mkfs.文件系统 [分区名称(设备文件路径)] 例如:对sdb硬盘的第一个分区以ext3文件系统进行格式化 第二种写法 mkfs -t 文件系统  [分区名称(设备文件路径) ...

  8. centos下关闭自动锁屏

    自己这段时间在学习Linux,选用的系统的为CentOS,在实际操作过程中遇到问题,在无任何操作情况下,系统过一段时间自动锁屏需要重新输入密码.经过多次尝试以后终于成功!解决方法如下: Setting ...

  9. idou老师教你学Istio 25:如何用istio实现监控和日志采集

    大家都知道istio可以帮助我们实现灰度发布.流量监控.流量治理等功能.每一个功能都帮助我们在不同场景中实现不同的业务.那Istio是如何帮助我们实现监控和日志采集的呢? 这里我们依然以Bookinf ...

  10. 第九届蓝桥杯国赛+第二天的第11届acm省赛的总结

    第九届蓝桥杯国赛+第二天的第11届acm省赛的总结 25号坐的去北京的火车,10个小时的火车,然后挤了快两个小时的地铁,最终达到了中国矿业大学旁边的订的房间.12个小时很难受,晕车症状有点严重,吃了快 ...