安装hadoop集群(Multi Cluster)

简介:

配置环境

本文档安装hadoop集群环境,一个master作为namenode节点,一个slave作为datanode节点:

(1) master:

os: CentOS release 6.5 (Final)

ip: 172.16.101.58

user:root

hadoop-2.9.0.tar.gz

(2) slave:

os: CentOS release 6.5 (Final)

ip: 172.16.101.59

user:root

hadoop-2.9.0.tar.gz


前提条件

(1) master和slave都安装好java环境,并配置好环境变量;

(2)master节点解压好hadoop-2.9.0.tar.gz,并配置好环境变量;

(3)本篇文档使用的是root用户安装,所以需要master上的root用户可以ssh无密码使用root用户登录slave节点;


配置集群文件

在 master节点上执行(本文档先在master节点上配置文件,然后通过scp拷贝到其他slave节点)

(1)slaves文件:将作为 DataNode 的主机名或者ip写入该文件,每行一个,默认为 localhost,所以在伪分布式配置时,节点既作为 NameNode 也作为 DataNode。

[root@sht-sgmhadoopdn-01 hadoop]# cat slaves

172.16.101.59

(2)文件core-site.xml

[root@sht-sgmhadoopdn-01 hadoop]#cat /usr/local/hadoop-2.9.0/etc/hadoop/core-site.xml

<configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://172.16.101.58:9000</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/usr/local/hadoop-2.9.0/tmp</value>

        <description>Abase for other temporary directories.</description>

    </property>

</configuration>

(3)文件hdfs-site.xml

[root@sht-sgmhadoopdn-01 hadoop]# cat /usr/local/hadoop-2.9.0/etc/hadoop/hdfs-site.xml

<configuration>

        <property>

                <name>dfs.namenode.secondary.http-address</name>

                <value>172.16.101.58:50090</value>

        </property>

        <property>

                <name>dfs.replication</name>

                <value>1</value>

        </property>

        <property>

                <name>dfs.namenode.name.dir</name>

                <value>file:/usr/local/hadoop-2.9.0/tmp/dfs/name</value>

        </property>

        <property>

                <name>dfs.datanode.data.dir</name>

                <value>file:/usr/local/hadoop-2.9.0/tmp/dfs/data</value>

        </property>

</configuration>

(4)文件mapred-site.xml

[root@sht-sgmhadoopdn-01 hadoop]# cat /usr/local/hadoop-2.9.0/etc/hadoop/mapred-site.xml

<configuration>

    <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.address</name>

        <value>172.16.101.58:10020</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.webapp.address</name>

        <value>172.16.101.58:19888</value>

    </property>

</configuration>

(5)文件yarn-site.xml

[root@sht-sgmhadoopdn-01 hadoop]# cat /usr/local/hadoop-2.9.0/etc/yarn-site.xml

<configuration>

    <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>172.16.101.58</value>

    </property>

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

</configuration>


配置好后,将 Master上的 /usr/local/hadoop-2.9.0文件复制到各个节点上。因为之前有跑过伪分布式模式,建议在切换到集群模式前先删除之前的临时文件。


[root@sht-sgmhadoopdn-01 local]# rm -rf ./hadoop-2.9.0/tmp

[root@sht-sgmhadoopdn-01 local]# rm -rf ./hadoop-2.9.0/logs

[root@sht-sgmhadoopdn-01 local]# tar -zcf  hadoop-2.9.0.master.tar.gz   /usr/local/hadoop-2.9.0

[root@sht-sgmhadoopdn-01 local]# scp hadoop-2.9.0.master.tar.gz sht-sgmhadoopdn-02:/usr/local/


在 Slave节点上执行

[root@sht-sgmhadoopdn-02 local]# tar -zxf hadoop-2.9.0.master.tar.gz


启动hadoop集群

在 master节点上执行:

#第一次启动需要格式化HDFS,以后再启动不需要

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hdfs namenode -format

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# start-dfs.sh

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# start-yarn.sh

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# mr-jobhistory-daemon.sh start historyserver


[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# jps

20289 JobHistoryServer

19730 ResourceManager

18934 NameNode

19163 SecondaryNameNode

20366 Jps


在 Slave节点上执行:

[root@sht-sgmhadoopdn-02 hadoop]# jps

32147 DataNode

535 Jps

32559 NodeManager


在 master节点上执行:

[root@sht-sgmhadoopdn-01 hadoop]# hdfs dfsadmin -report

Configured Capacity: 75831140352 (70.62 GB)

Present Capacity: 21246287872 (19.79 GB)

DFS Remaining: 21246263296 (19.79 GB)

DFS Used: 24576 (24 KB)

DFS Used%: 0.00%

Under replicated blocks: 0

Blocks with corrupt replicas: 0

Missing blocks: 0

Missing blocks (with replication factor 1): 0

Pending deletion blocks: 0

-------------------------------------------------

Live datanodes (1):                                                             #存活的slave数量

Name: 172.16.101.59:50010 (sht-sgmhadoopdn-02)

Hostname: sht-sgmhadoopdn-02

Decommission Status : Normal

Configured Capacity: 75831140352 (70.62 GB)

DFS Used: 24576 (24 KB)

Non DFS Used: 50732867584 (47.25 GB)

DFS Remaining: 21246263296 (19.79 GB)

DFS Used%: 0.00%

DFS Remaining%: 28.02%

Configured Cache Capacity: 0 (0 B)

Cache Used: 0 (0 B)

Cache Remaining: 0 (0 B)

Cache Used%: 100.00%

Cache Remaining%: 0.00%

Xceivers: 1

Last contact: Wed Dec 27 11:08:46 CST 2017

Last Block Report: Wed Dec 27 11:02:01 CST 2017


Console管理平台

NameNodehttp://172.16.101.58:50070


执行分布式实例MapReduce Job

[root@sht-sgmhadoopdn-01 hadoop]# hdfs dfs -mkdir -p /user/root/input

[root@sht-sgmhadoopdn-01 hadoop]# hdfs dfs -put /usr/local/hadoop-2.9.0/etc/hadoop/*.xml  input


[root@sht-sgmhadoopdn-01 hadoop]# hadoop jar /usr/local/hadoop-2.9.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.0.jar grep input output 'dfs[a-z.]+'

17/12/27 11:25:33 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

17/12/27 11:25:34 INFO client.RMProxy: Connecting to ResourceManager at /172.16.101.58:8032

17/12/27 11:25:36 INFO input.FileInputFormat: Total input files to process : 9

17/12/27 11:25:36 INFO mapreduce.JobSubmitter: number of splits:9

17/12/27 11:25:37 INFO Configuration.deprecation: yarn.resourcemanager.system-metrics-publisher.enabled is deprecated. Instead, use yarn.system-metrics-publisher.enabled

17/12/27 11:25:37 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1514343869308_0001

17/12/27 11:25:38 INFO impl.YarnClientImpl: Submitted application application_1514343869308_0001

17/12/27 11:25:38 INFO mapreduce.Job: The url to track the job:http://sht-sgmhadoopdn-01:8088/proxy/application_1514343869308_0001/

17/12/27 11:25:38 INFO mapreduce.Job: Running job: job_1514343869308_0001

17/12/27 11:25:51 INFO mapreduce.Job: Job job_1514343869308_0001 running in uber mode : false

17/12/27 11:25:51 INFO mapreduce.Job:  map 0% reduce 0%

17/12/27 11:26:14 INFO mapreduce.Job:  map 11% reduce 0%

17/12/27 11:26:15 INFO mapreduce.Job:  map 67% reduce 0%

17/12/27 11:26:29 INFO mapreduce.Job:  map 100% reduce 0%

17/12/27 11:26:32 INFO mapreduce.Job:  map 100% reduce 100%

17/12/27 11:26:34 INFO mapreduce.Job: Job job_1514343869308_0001 completed successfully

17/12/27 11:26:34 INFO mapreduce.Job: Counters: 50

......


[root@sht-sgmhadoopdn-01 hadoop]# hdfs dfs -cat output/*

17/12/27 11:30:08 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

1    dfsadmin

1    dfs.replication

1    dfs.namenode.secondary.http

1    dfs.namenode.name.dir

1    dfs.datanode.data.dir


也可以通过浏览器访问console,查看详细的分析信息:

ResourceManager -http://172.16.101.58:8088


停止hadoop集群

在 master节点上执行:

[root@sht-sgmhadoopdn-01 hadoop]#stop-yarn.sh

[root@sht-sgmhadoopdn-01 hadoop]#stop-dfs.sh

[root@sht-sgmhadoopdn-01 hadoop]#mr-jobhistory-daemon.sh stop historyserver




本文转自 Darren_Chen 51CTO博客,原文链接:http://blog.51cto.com/darrenmemos/2055078,如需转载请自行联系原作者
相关文章
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
186 6
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
80 4
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
38 3
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
60 3
|
2月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
70 1
|
分布式计算 Ubuntu Hadoop
Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)
Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)
1045 0
Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
79 2
|
3天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
28 4
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
111 2
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
76 1