CentOS7.0下Hadoop2.7.3的集群搭建
集群服务器规划
使用3台CentOS-6.8虚拟机进行集群搭建
服务 | ip | 主机名称 | 用户 | HDFS | YARN |
hadoop1 | 192.168.1.40 | hadoop1 | root | NameNode,Datenode,SecondaryNameNode | ResourceManager,NodeManager, |
hadoop2 | 192.168.1.39 | hadoop2 | root | Datenode | NodeManager |
hadoop3 | 192.168.1.38 | hadoop3 | root | Datenode | NodeManager |
软件安装步骤概述
1、获取安装包
2、解压缩和安装
3、修改配置文件
4、初始化,配置环境变量,启动,验证
Hadoop安装
1、规划
规划安装用户:root
规划安装目录:/home/hadoop/apps
规划数据目录:/home/hadoop/data
注:apps和data文件夹需要自己单独创建
2、上传解压缩
#wget http://archive.apache.org/dist/hadoop/core/hadoop-2.6.5/hadoop-2.6.5-src.tar.gz
#tar -zxf hadoop-2.6.5-src.tar.gz -C /usr/local/src/
3、修改配置文件
配置文件目录:/use/local/src/hadoop-2.6.5/etc/hadoop
A. hadoop-env.sh
[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh
修改JAVA_HOME
export JAVA_HOME=/usr/local/jdk1.8.0_73
B. core-site.xml
[hadoop@hadoop1 hadoop]$ vi core-site.xml
fs.defaultFS : 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务
hadoop.tmp.dir : hadoop集群在工作的时候存储的一些临时文件的目录
<configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop1:9000</value></property><property><name>hadoop.tmp.dir</name><value>/home/hadoop/data/hadoopdata</value></property>
</configuration>
C. hdfs-site.xml
[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml
dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。
dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。
dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。
dfs.secondary.http.address:secondarynamenode 运行节点的信息,和 namenode 不同节点
<configuration><property><name>dfs.namenode.name.dir</name><value>/home/hadoop/data/hadoopdata/name</value><description>为了保证元数据的安全一般配置多个不同目录</description></property><property><name>dfs.datanode.data.dir</name><value>/home/hadoop/data/hadoopdata/data</value><description>datanode 的数据存储目录</description></property><property><name>dfs.replication</name><value>2</value><description>HDFS 的数据块的副本存储个数, 默认是3</description></property><property><name>dfs.secondary.http.address</name><value>hadoop3:50090</value><description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description></property>
</configuration>
D. mapred-site.xml
[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[hadoop@hadoop1 hadoop]$ vi mapred-site.xml
mapreduce.framework.name:指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 。
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
E. yarn-site.xml
[hadoop@hadoop1 hadoop]$ vi yarn-site.xml
yarn.resourcemanager.hostname:yarn总管理器的IPC通讯地址
yarn.nodemanager.aux-services:
<configuration><!-- Site specific YARN configuration properties --><property><name>yarn.resourcemanager.hostname</name><value>hadoop4</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value><description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description></property></configuration>
F. slaves
[hadoop@hadoop1 hadoop]$ vi slaves
hadoop1
hadoop2
hadoop3
4、把安装包分别分发给其他的节点
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
[hadoop@hadoop1 hadoop]$ scp -r /usr/local/src/hadoop-2.6.5/ hadoop2:~/usr/local/src/
[hadoop@hadoop1 hadoop]$ scp -r /usr/local/src/hadoop-2.6.5/ hadoop3:~/usr/local/src/
5、配置Hadoop环境变量
千万注意:
1、如果你使用root用户进行安装。 vi /etc/profile 即可 系统变量
2、如果你使用普通用户进行安装。 vi ~/.bashrc 用户变量
[hadoop@hadoop1 ~]$ vi /etc/profile
export HADOOP_HOME=/usr/local/src/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
使环境变量生效
[hadoop@hadoop1 bin]$ source /etc/profile
6、查看hadoop版本
[hadoop@hadoop1 bin]$ hadoop version
Hadoop 2.7.5
Subversion Unknown -r Unknown
Compiled by root on 2017-12-24T05:30Z
Compiled with protoc 2.5.0
From source with checksum 9f118f95f47043332d51891e37f736e9
This command was run using /home/hadoop/apps/hadoop-2.7.5/share/hadoop/common/hadoop-common-2.7.5.jar
[hadoop@hadoop1 bin]$
7、Hadoop初始化
注意:HDFS初始化只能在主节点上进行
[hadoop@hadoop1 ~]$ hadoop namenode -format
View Code
8、启动
A. 启动HDFS
注意:不管在集群中的那个节点都可以
[root@WEB40 hadoop]# start-dfs.sh
19/04/15 10:42:02 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [WEB40]
WEB40: starting namenode, logging to /usr/local/src/hadoop-2.6.5/logs/hadoop-root-namenode-WEB40.out
WEB40: starting datanode, logging to /usr/local/src/hadoop-2.6.5/logs/hadoop-root-datanode-WEB40.out
WEB39: starting datanode, logging to /usr/local/src/hadoop-2.6.5/logs/hadoop-root-datanode-WEB39.out
service: starting datanode, logging to /usr/local/src/hadoop-2.6.5/logs/hadoop-root-datanode-service.out
Starting secondary namenodes [WEB40]
WEB40: starting secondarynamenode, logging to /usr/local/src/hadoop-2.6.5/logs/hadoop-root-secondarynamenode-WEB40.out
B. 启动YARN
注意:只能在主节点中进行启动
[root@WEB40 hadoop]# start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /usr/local/src/hadoop-2.6.5/logs/yarn-root-resourcemanager-WEB40.out
WEB40: starting nodemanager, logging to /usr/local/src/hadoop-2.6.5/logs/yarn-root-nodemanager-WEB40.out
WEB39: starting nodemanager, logging to /usr/local/src/hadoop-2.6.5/logs/yarn-root-nodemanager-WEB39.out
service: starting nodemanager, logging to /usr/local/src/hadoop-2.6.5/logs/yarn-root-nodemanager-service.out
9、查看4台服务器的进程
hadoop1
hadoop2
hadoop3
10、启动HDFS和YARN的web管理界面
HDFS : http://192.168.1.40:50070
YARN : http://192.168.1.40:8088
疑惑: fs.defaultFS = hdfs://hadoop1:9000
解答:客户单访问HDFS集群所使用的URL地址
同时,HDFS提供了一个web管理界面 端口:50070
HDFS界面
点击Datanodes可以查看四个节点
YARN界面
点击Nodes可以查看节点
回到顶部
Hadoop的简单使用
创建文件夹
在HDFS上创建一个文件夹/test/input
[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input
查看创建的文件夹
[hadoop@hadoop1 ~]$ hadoop fs -ls /
Found 1 items
drwxr-xr-x - hadoop supergroup 0 2018-03-03 11:33 /test
[hadoop@hadoop1 ~]$ hadoop fs -ls /test
Found 1 items
drwxr-xr-x - hadoop supergroup 0 2018-03-03 11:33 /test/input
[hadoop@hadoop1 ~]$
上传文件
创建一个文件words.txt
[hadoop@hadoop1 ~]$ vi words.txt
hello zhangsan
hello lisi
hello wangwu
上传到HDFS的/test/input文件夹中
[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input
查看是否上传成功
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/input
Found 1 items
-rw-r--r-- 2 hadoop supergroup 39 2018-03-03 11:37 /test/input/words.txt
[hadoop@hadoop1 ~]$
下载文件
将刚刚上传的文件下载到~/data文件夹中
[hadoop@hadoop1 ~]$ hadoop fs -get /test/input/words.txt ~/data
查看是否下载成功
[hadoop@hadoop1 ~]$ ls data
hadoopdata words.txt
[hadoop@hadoop1 ~]$
运行一个mapreduce的例子程序: wordcount
[hadoop@hadoop1 ~]$ hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /test/input /test/output
在YARN Web界面查看
查看结果
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/output
Found 2 items
-rw-r--r-- 2 hadoop supergroup 0 2018-03-03 11:42 /test/output/_SUCCESS
-rw-r--r-- 2 hadoop supergroup 35 2018-03-03 11:42 /test/output/part-r-00000
[hadoop@hadoop1 ~]$ hadoop fs -cat /test/output/part-r-00000
hello 3
lisi 1
wangwu 1
zhangsan 1
[hadoop@hadoop1 ~]$
CentOS7.0下Hadoop2.7.3的集群搭建相关推荐
- hadoop2.7.2分布式集群搭建(三台)
hadoop2.7.2分布式集群搭建(三台节点) 系统环境搭建 1.三台节点设置主机名和IP 2.配置主机的映射 3.ssh免密登录 4.关闭防火墙 5.关闭seliunx 6.安装jdk 7.设置n ...
- CentOS7.3下二进制安装Kubernetes1.9集群 开启TLS
Kubernetes的相关原理性的东西之前有叙述过,网上也有很多,这里主要是写的自己在使用二进制的方式搭建Kubernetes1.9的一些方法,对学习的东西做一个自我的总结. Kubernetes有许 ...
- RHEL6.0下LVS-DR+ipvsadm实现服务集群
LVS-RT类型的Web服务的集群 示意图如下: 说明: 本实验是在虚拟机环境下的集群配置,是对web服务进行负载均衡集群. 在实际工作中,reserver1和realserver2的web服务的网页 ...
- hadoop-2.7.2 分布式集群搭建
1.机器信息 五台centos 64位机器 2.集群规划 Server Name Hadoop Cluster Zookeeper Ensemble HBase Cluster Hadoop01 ...
- Hadoop2.7.2之集群搭建(三台)
原文地址:http://blog.csdn.net/uq_jin/article/details/51513307 如果你还没有虚拟机,请参考:http://blog.csdn.net/uq_jin/ ...
- rancher2.0安装mysql_高可用rancher集群搭建
我在使用rancher过程中遇到的问题: 一开始是用的单机的环境,没有设置启动内存,而且mysql使用的是内嵌的数据库.Rancher Server在运行了几个月后变的极慢,甚至不能再添加和启动.删除 ...
- Ambari集群搭建
[集群规划] 虚拟机1 虚拟机2 虚拟机3 内 存 5GB 5GB 5GB 磁 盘 115GB 115GB 115GB host名 vm01 vm02 vm03 ip地址 192.168.1.100 ...
- 单台主机 kafka + zookeeper 集群搭建
文章转自: https://www.jianshu.com/p/dc4770fc34b6 在单台主机上搭建kafka + zookeeper 集群. zookeeper 集群搭建 kafka是通过zo ...
- 记一次在K8s集群搭建的MySQL主从无法正常启动之数据迁移恢复实践
本章目录:记一次在K8s集群搭建的MySQL主从无法正常启动之数据迁移恢复实践 描述:在K8s集群中里利用bitnami提供的mysql:5.7.32-debian-10-r61镜像并利用helm进行 ...
最新文章
- mysql 主从配置
- 侠客X开发工作已经持续了2个月左右了。
- jsp可以使用iframe_使用 JavaScript object URLs,可以处理图像、音频和视频
- 接口也可以创建对象吗_面试时,一个小小的设计模式可以把你虐成渣
- namespace mismatch错误处理方法
- driver nvidia web_黑苹果 macOS 10.13.6 17G66 安装 nVidia WebDriver
- RDD、DataFrame和DataSet的区别
- 【汇率预测】基于matlab模拟退火算法优化BP神经网络汇率预测【含Matlab源码 689期】
- nexus下载 通过官网下载
- 一年级古诗《画》知识点心田花开汇总
- 苹果蒸发639亿 华尔街陷入苹果需求全恐慌模式
- axure不能导出图片_Axure7.0导出图片提示内存不足,如何解决?
- oracle11g64位怎么用sql,PLSQLDeveloper连接Oracle11g64位数据库配置详解(图文)
- webpack中对CSS压缩
- JWT详细教程与使用
- python 插值 —— 如何实现插值,以及错误ValueError: A value in x_new is below the interpolation range.
- 服务器域名解析步骤总结
- 突破圈层,个体崛起,欢迎想突破自己的你
- mysql学号数据类型_数据库常见数据类型和约束
- linux控制台单人五子棋简书,实现一个质量过硬五子棋