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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值