This is Xiao Yang's blog.|

我是小杨

园龄:4年11个月粉丝:6关注:1

hadoop-HDFS集群搭建伪分布式/分布式模式

官网导读

http://hadoop.apache.org/docs/r2.6.5/

支持最好的平台:GNU/Linux

依赖的软件:Javassh:免密登录,远程连接,远程登录远程执行文件,ssh在远程登陆的情况下,不会加载etc下的配置文件,可以

ssh root@远程地址 'source /etc/profile ; 命令'

部署模式:

伪分布式,分布式

基础设施

操作系统,环境,网络,必须软件

搭建步骤在下面,这里主要是每个步骤的原理

1.设置IP及主机名

不必多说

2.关闭防火墙&selinux

3.设置hosts映射

保证可以通过设置的名称访问其他主机

4.生成公钥,私钥,只要一台机器有另一台机器的公钥文件,另一台机器就可以免密登录这台机器

部署配置

修改hadoop-env.sh

背身文件自带export JAVA_HOME=${JAVA_HOME}

因为远程加载不能加载环境变量,所以要改为绝对路径

export JAVA_HOME=/usr/java/default

修改core-site.xml

<value>hdfs://node01:9000</value>

说明了namenode的位置

修改hdfs-site.xml

<property>
	<name>dfs.replication</name>
		<value>3</value>
    </property>
<property>
	<name>dfs.namenode.name.dir</name>
    	<value>/var/bigdata/hadoop/local</value>//说明元数据的存放位置
</property>
<property>
	<name>dfs.namenode.secondary.http-address</name>
    <value>node01:50090</value>//控制角色的启动secondary是帮助namenode合并滚动
</property>
<property>
	<name>dfs.namenode.checkpoint.dir</name>
    <value>node01:50090</value>//控制角色的启动secondary是检查点的路径
</property>

3说明有3个节点

修改slaves

放datanode的名称

初始化&运行

namenode格式化元数据 千万不要重复操作,出错了除外

hdfs namenode -format

创建目录,并初始化一个空的fsimage文件

VERSION文件-》CID(集群id)

datanode格式化

start-dfs.sh

命令行使用

hdfs dfs   //查看支持的hadoop命令
hdfs dfs -mkdir /user/root
hdfs dfs -put hadoop-2.6.5 /user/root

Hadoop分布式搭建

所用环境:CentOS-7-x86_64-DVD-1511
jdk-8u171-linux-x64
hadoop-2.7.3.tar

集群节点:master: 192.168.200.20/24
slave1: 192.168.200.30/24
slave2: 192.168.200.40/24

安装虚拟机: 安装完成后克隆出来两台从节点 这样虚拟机就安装完成了,一共三台

更改主机名称: hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2
bash(立即生效)

关闭主从节点防火墙: systemctl stop firewalld

更改/etc/hosts文件 IP映射 ip对应主机名
在这里插入图片描述
通过scp命令发布到其他节点:
scp /etc/hosts root@slave1:/etc/hosts
scp /etc/hosts root@slave2:/etc/hosts
在这里插入图片描述
主节点配置本地源 安装ftp 在这里插入图片描述
从slave节点使用主节点ftp源
在这里插入图片描述
接下来配置SSH免密登录
为什么配置ssh免密登录呢?因为在集群启动过程中由主节点master远程启动从节点slave上的进程服务需要进行ssh登录,配置好免密主节点登录从节点ssh就不需要输入密码了。

在主节点生成密钥文件: ssh-keygen –t rsa 一路回车

在这里插入图片描述
id_rsa是私钥文件 id_rsa.pub是公钥文件

在这里插入图片描述
接下来将公钥文件发布到从节点,先发送到主节点
ssh-copy-id -i /root/.ssh/id_rsa.pub master
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
在这里插入图片描述
ssh免密配置完成

配置时间同步服务NTP
为什么要配置NTP服务?因为Hadoop集群对时间要求很高,主节点和各个从节点必须要同步,配置时间同步服务为了进行集群间的时间同步。

通过tzselect命令 5 9 1 1 顺序获取北京时间写法但是不会生效

在这里插入图片描述
设置环境变量:TZ=‘Asia/Shanghai’; export TZ 写入到profile文件中

首先在主从节点安装ntp服务:yum install –y ntp

配置文件/etc/ntp.conf
主节点注释文件当中的server开头的行 然后添加:
restrict 192.168.200.20 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10

在这里插入图片描述
从节点注释文件中server开头文件添加时间同步 server master

在这里插入图片描述
只启动主节点的ntp服务其他节点不要启动

配置任务计划Crontab:
从节点每天早上八点到晚上五点每半个小时同步一次,主节点不需要配置
/usr/sbin/ntpdate master
在这里插入图片描述
启动NTP命令: systemctl start ntpd

从节点同步测试
在这里插入图片描述
Java jdk配置 ------主从节点都需要配置

解压jdk 配置环境变量

export JAVA_HOME=/root/software/jdk1.8.0_171
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
在这里插入图片描述
使文件立即生效:source /etc/profile
测试 在这里插入图片描述
同样的步骤进行从节点配置

准备工作完成开始安装Hadoop----以下操作为主节点
Common模块 core-site.xml
HDFS模块 hdfs-site.xml
MapReduce模块 mapred-site.xml
Yarn模块 yarn-site.xml

上传Hadoop到Linux
解压hadoop到software目录下

配置文件目录为:/root/software/hadoop-2.7.3/etc/hadoop
修改配置文件:core-site.xml

<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/software/tmp/</value>
</property>

在这里插入图片描述
hadoop-env.sh配置java jdk环境
export JAVA_HOME=/root/software/jdk1.8.0_171
在这里插入图片描述

配置hdfs-site.xml

<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>

在这里插入图片描述
复制模板文件生成:cp mapred-site.xml.template mapred-site.xml

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>master:19888</value>
        </property>
</configuration>

在这里插入图片描述
配置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>
        <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> 

在这里插入图片描述
配置yarn-env.xml 配置java环境变量
在这里插入图片描述
slave添加集群节点 因为我们已经配置好映射所以直接填写主机名
在这里插入图片描述
拷贝Hadoop安装文件到集群HDFS节点

scp -r /root/software/hadoop-2.7.3/ slave1:/root/software/
scp -r /root/software/hadoop-2.7.3/ slave2:/root/software/

添加Hadoop环境变量 主动节点都需要配置
export HADOOP_HOME=/root/software/hadoop-2.7.3
export PATH= H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:PATH
在这里插入图片描述
开始格式化主节点NameNode:
目录:/root/software/hadoop-2.7.3/bin
执行命令:./hdfs namenode -format

启动Hdfs集群 ./start-dfs.sh
主节点启动: SecondaryNameNode NameNode
从节点启动: DataNode

在这里插入图片描述
在这里插入图片描述
启动yarn集群 ./start-yarn.sh

启动日志服务: ./mr-jobhistory-daemon.sh start historyserver

查看进程:
主节点启动:
ResourceManager JobHistoryServer
在这里插入图片描述
从节点启动:NodeManager
在这里插入图片描述
通过网页访问hdfs:50070
在这里插入图片描述
通过网页访问yarn:8088
在这里插入图片描述

本文作者:我是小杨

本文链接:https://www.cnblogs.com/Liguangyang/p/16492758.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   我是小杨  阅读(80)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 小城夏天 REOL
小城夏天 - REOL
00:00 / 00:00
An audio error has occurred.

作词 : 陶旧

作曲 : 盛骁

编曲 : WayMen歪门/KENNY妮妮

制作人 : 蒋雪儿 Snow.J

橘黄色的日落 吞没在海平线

夜色慢慢摊开 露出星光点点

我听着耳机中jay的音乐

从等你下课 到手写的从前

冒泡汽水和你都是夏天感觉

着迷你眉间柔情似海的双眼

心动像风来的不知不觉

此刻 世界聚焦你的出现

wo~~~ say wo~~~

wo~~~ say wo~~~

我在小城夏天陪你遇见浪漫

晚风吹过耳畔你显得很好看

微醺的傍晚 时间过很慢

我在小城夏天遇见了另一半

这座城市有我的思念和喜欢

闷热的季节 因你而梦幻

橘黄色的日落 吞没在海平线

夜色慢慢摊开 露出星光点点

我听着耳机中j a y的音乐

从等你下课 到手写的从前

冒泡汽水和你都是夏天感觉

着迷你眉间柔情似海的双眼

心动像风来的不知不觉

此刻 世界聚焦你的出现

wo~~~ say wo~~~

wo~~~ say wo~~~

我在小城夏天陪你遇见浪漫

晚风吹过耳畔你显得很好看

微醺的傍晚 时间过很慢

我在小城夏天遇见了另一半

这座城市有我的思念和喜欢

闷热的季节 因你而梦幻

吉他 : 张赫伦/Kingtheta

混音师 : LBI利比

和声 : LBI利比

监制 : 蒋雪儿 Snow.J

统筹 : 柯自俊

OP : 青风音乐Cheerful Music

SP : 乐无限Eternal Music

【未经授权不得翻唱或使用】