Hadoop --- 入门之环境搭建

前期准备

CentOS7版本的服务器4台:(IP地址可以根据自己服务器或虚拟机的IP地址更改)

192.168.153.136 hadoop01

192.168.153.137 hadoop02

192.168.153.138 hadoop03

192.168.153.139 hadoop04

 

Hadoop包:http://archive.apache.org/dist/hadoop/core/hadoop-2.8.0/(JDK版本是1.7,对应的Hadoop包版本是2.8以上)

JDK安装:https://blog.csdn.net/Ka_Ka314/article/details/78925671(JDK使用的是1.7版本)

lrzsz安装:https://blog.csdn.net/Ka_Ka314/article/details/78925384

网卡配置:https://blog.csdn.net/Ka_Ka314/article/details/82502390

SSH免密:https://blog.csdn.net/Ka_Ka314/article/details/82998917

fw防火墙:https://blog.csdn.net/Ka_Ka314/article/details/83028374

配主机名:https://blog.csdn.net/Ka_Ka314/article/details/82999194

域名映射:vim /etc/hosts中添加4台机器的域名映射

创建用户:在每台机器上创建hadoop用户(本文是使用的虚拟机,在虚拟机创建时已经创建了hadoop用户)

 

环境搭建:

1、创建hadoop的安装目录,在当前用户目录下(~)执行如下命令(该目录根据用户自己习惯指定,本文是统一安装在~/apps):

mkdir apps

 

2、上传hadoop包(hadoop-2.8.0.tar.gz)到hadoop01服务器上:

(1)rz上传

(2)sftp上传

。。。

 

3、解压安装到指定目录:(因为当前用户是hadoop用户,所以sudo)

sudo tar -zxvf hadoop-2.8.0.tar.gz -C apps/

 

4、解压完成后目录结构如下:

bin:

Hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用Hadoop。

etc:

Hadoop配置文件所在的目录,主要包括:

  • hadoop-env.sh:hadoop的环境配置,如配置JAVA_HOME等
  • core-site.xml:集群全局参数,用于定义系统级别的参数,如HDFS  URL、Hadoop的临时目录等
  • hdfs-site.xml:HDFS参数,如名称节点和数据节点的存放位置、文件副本的个数、文件读取权限等
  • mapred-site.xml:Mapreduce参数,包括JobHistory Server和应用程序参数两部分,如reduce任务的默认个数、任务所能够使用内存的默认上下限等
  • yarn-site.xml:集群资源管理系统参数,配置 ResourceManager,NodeManager 的通信端口,web监控端口等

include:

对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。

lib:

该目录包含了Hadoop对外提供的编程动态库和静态库,与include目录中的头文件结合使用。

libexec:

各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息。

sbin:

Hadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本。

share:

Hadoop各个模块编译后的jar包所在的目录。

 

5、配置Hadoop的运行环境JAVA_HOME:

vim etc/hadoop/hadoop-env.sh

修改环境配置文件中的JAVA_HOME,改成当前环境的路径,如下:

 

6、core-site.xml配置(其他参数配置:https://blog.csdn.net/Ka_Ka314/article/details/83058925

 

  

序号

  
 

参数名

 

默认值

 

参数解释

 

1

 

fs.defaultFS

 

file:///

 

文件系统主机和端口

 

2

 

io.file.buffer.size

 

4096

 

流文件的缓冲区大小

 

3

 

hadoop.tmp.dir

 

/tmp/hadoop-${user.name}

 

临时文件夹

配置方式如下:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hdpdata</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
    </property>
</configuration>

 

7、hdfs-site.xml配置(其他参数配置:https://blog.csdn.net/Ka_Ka314/article/details/83058925

  

序号

  
 

参数名

 

默认值

 

参数解释

 

1

 

dfs.namenode.secondary.http-address

 

0.0.0.0:50090

 

定义HDFS对应的HTTP服务器地址和端口

 

2

 

dfs.namenode.name.dir

 

file://${hadoop.tmp.dir}/dfs/name

 

定义DFS的名称节点在本地文件系统的位置

 

3

 

dfs.datanode.data.dir

 

file://${hadoop.tmp.dir}/dfs/data

 

定义DFS数据节点存储数据块时存储在本地文件系统的位置

 

4

 

dfs.replication

 

3

 

缺省的块复制数量

 

5

 

dfs.webhdfs.enabled

 

true

 

是否通过http协议读取hdfs文件,如果选是,则集群安全性较差

配置方式如下:

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

 

8、mapred-site.xml配置(其他参数配置:https://blog.csdn.net/Ka_Ka314/article/details/83058925

  

序号

  
 

参数名

 

默认值

 

参数解释

 

1

 

mapreduce.framework.name

 

local

 

取值local、classic或yarn其中之一,如果不是yarn,则不会使用YARN集群来实现资源的分配

 

2

 

mapreduce.jobhistory.address

 

0.0.0.0:10020

 

定义历史服务器的地址和端口,通过历史服务器查看已经运行完的Mapreduce作业记录

 

3

 

mapreduce.jobhistory.webapp.address

 

0.0.0.0:19888

 

定义历史服务器web应用访问的地址和端口

配置方式如下:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

 

9、yarn-site.xml配置(其他参数配置:https://blog.csdn.net/Ka_Ka314/article/details/83058925

  

序号

  
 

参数名

 

默认值

 

参数解释

 

1

 

yarn.resourcemanager.address

 

0.0.0.0:8032

 

ResourceManager 提供给客户端访问的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等

 

2

 

yarn.resourcemanager.scheduler.address

 

0.0.0.0:8030

 

ResourceManager提供给ApplicationMaster的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等

 

3

 

yarn.resourcemanager.resource-tracker.address

 

0.0.0.0:8031

 

ResourceManager 提供给NodeManager的地址。NodeManager通过该地址向RM汇报心跳,领取任务等

 

4

 

yarn.resourcemanager.admin.address

 

0.0.0.0:8033

 

ResourceManager 提供给管理员的访问地址。管理员通过该地址向RM发送管理命令等。

 

5

 

yarn.resourcemanager.webapp.address

 

0.0.0.0:8088

 

ResourceManager对web 服务提供地址。用户可通过该地址在浏览器中查看集群各类信息

 

6

 

yarn.nodemanager.aux-services

 

 

 

通过该配置项,用户可以自定义一些服务,例如Map-Reduce的shuffle功能就是采用这种方式实现的,这样就可以在NodeManager上扩展自己的服务。

配置方式如下:

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop01</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

 

10、将hadoop安装目录复制到其他机器上(hadoop作为namenode节点,其他机器作为datanode节点)

sudo scp -r apps hadoop02:/home/hadoop/
sudo scp -r apps hadoop03:/home/hadoop/
sudo scp -r apps hadoop04:/home/hadoop/

(因为当前用户是hadoop用户,所以sudo)

 

11、每台机器上配置hadoop环境变量(可以在hadoop01配置完成后,通过scp到其他机器上)

JAVA_HOME=/usr/local/jdk1.7.0_71
HADOOP_HOME=/home/hadoop/apps/hadoop-2.8.0
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME HADOOP_HOME CLASSPATH PATH

配置完成后source该配置:

sudo source /etc/profile

(因为当前用户是hadoop用户,所以sudo)

 

12、namenode上即hadoop01上格式化dfs

hadoop namenode -format

 

13、启动hadoop

(1)启动hadoop前,需要配置下datanode节点,如下:

vim /home/hadoop/apps/hadoop-2.8.0/etc/hadoop/slaves

在该文件中天健datanode节点:(在这里需要注意一点:需要在/etc/hosts下配置下映射)

hadoop02
hadoop03
hadoop04

(2)启动hadoop

cd /home/hadoop/apps/hadoop-2.8.0/sbin

这里面包含了许多的脚本命令:

可以通过start- or stop- 进行启动和停止服务,示例:(启动hdfs)

start-dfs.sh

这时候,该脚本会去找/home/hadoop/apps/hadoop-2.8.0/etc/hadoop/slaves中配置的其他节点,通过ssh的方式启动其他节点的服务,这里需要注意配置下免密登陆

 

14、验证hadoop启动是否成功

(1)通过jsp命令可以查看每台服务器启动的服务

(2)通过http://192.168.153.136:50070界面版可以查看

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值