安装分布式

目录

安装hadoop

IP地址和主机的映射

使用远程传输命令

每台虚拟机上都进行免密登录操作

回到第一台虚拟机(bigdata02),进行集群的搭建

​编辑

现在将我们配置的hadoop3.1.3,分发到bigdata04和bigdata05

还有在bigdata03中配置的Hadoop环境变量也要传到04,05中

初始化Hadoop

在bigdata03节点上启动SDFH

启动yarn

检查集群的搭建

关闭虚拟机(一定要关闭!!)


首先克隆三个bigdata

此下操作是在bigdata02中的

安装hadoop


打开/opt/install_packages

目前只配置了jdk

将hadoop配置文件拖拽到 /opt/install_packages目录下

输入 

tar -zxvf /opt/install_packages/hadoop-3.1.3.tar.gz  -C /opt/softs/

进行解压

查看是否已经解压到

之后修改下目录名称 我有强迫症

mv hadoop-3.1.3/ hadoop3.1.3/

配置环境变量

vim /etc/profile

在底部添加

#HADOOP_HOME
export HADOOP_HOME=/opt/softs/hadoop3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root

保存退出

输入

source /etc/profile

验证一下

echo  $HADOOP_HOME

这里是成功的

IP地址和主机的映射

输入

vim /etc/hosts

输入克隆的主机与IP的映射

保存退出

使用远程传输命令

scp 要远程传输的文件 目标主机的用户名@目标主机的IP或者hostname:文件远程传输的位置

将03上的hosts文件传到04和05上

scp /etc/hosts root@bigdata04:/etc/

打开bigdata04,在其中打印/etc/hosts

成功了,之后的bigdata05同理

每台虚拟机上都进行免密登录操作

bigdata03

进入根目录,显示隐藏文件

进入.ssh目录

生成公钥和私钥

ssh-keygen -t rsa

将公钥发送给需要免密登录的主机

ssh-copy-id bigdata03
ssh-copy-id bigdata04
ssh-copy-id bigdata05

之后的bigdata04,05也进行一样的操作

回到第一台虚拟机(bigdata02),进行集群的搭建

集群规划

bigdata03bigdata04bigdata05
HDFSNameNode,DataNode2nn,DataNodeDataNode
YARNNodeManagerNodeManagerResourceManager,NodeManager

因为NameNode,2nn,ResourceManager都很占用资源,所以避免将这些放到同一个节点

开始操作

首先进入  /opt/softs/hadoop3.1.3/etc/hadoop

先配置JAVA_HOME

vim hadoop-env.sh

修改core-site.xml核心配置文件

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://bigdata03:8020</value>
    </property>

    <!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/softs/hadoop3.1.3/data</value>
    </property>

    <!-- 配置HDFS网页登录使用的静态用户为root -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
    </property>
</configuration>

修改 hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    
     <!-- HDFS数据副本数 -->
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
    
    <!-- namenode数据的存储目录 -->
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/opt/softs/hadoop3.1.3/data/dfs/name</value>
	</property>
	
	<!-- datanode数据的存储目录 -->
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/opt/softs/hadoop3.1.3/data/dfs/data</value>
	</property>
   
	<!-- NameNode web端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>bigdata03:9870</value>
    </property>
	<!-- SecondaryNameNode web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>bigdata04:9868</value>
    </property>
</configuration>

修改mapred-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

修改yarn-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <!-- 指定mapreduce走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>bigdata05</value>
    </property>

    <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
	
	 <!-- 开启日志聚集功能 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
	</property>
    <!-- 设置日志聚集服务器地址 -->
    <property>
        <name>yarn.log.server.url</name>
        <value>http://bigdata05:19888/jobhistory/logs</value>
    </property>
    <!-- 设置日志保留时间为7天 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
	
</configuration>

配置Datanode

在/opt/softs/hadoop3.1.3/etc/hadoop目录下修改workers

vim workers

现在将我们配置的hadoop3.1.3,分发到bigdata04和bigdata05

用scp远程传输命令

scp -r 要远程传输的目录 目标主机的用户名@目标主机的IP或者hostname:目录远程传输的位置

scp -r /opt/softs/hadoop3.1.3/ root@bigdata04:/opt/softs/
scp -r /opt/softs/hadoop3.1.3/ root@bigdata05:/opt/softs/

 在bigdata04中查看

存在share就表示成功了。

还有在bigdata03中配置的Hadoop环境变量也要传到04,05中

scp /etc/profile root@bigdata04:/etc/
scp /etc/profile root@bigdata05:/etc/

另外两台也是也要

source /etc/profile

初始化Hadoop

在NameNode所在的节点(bigdata03)执行初始化,因为NameNode在Hadoop分布式文件系统(HDFS)中扮演着核心角色。NameNode负责维护HDFS的目录树结构及文件的元数据信息,包括文件名、文件大小、文件块的位置信息等。初始化过程确保NameNode能够正确加载或创建这些元数据信息。

bigdata03

hdfs namenode -format

查看/opt/softs/hadoop3.1.3/m目录下是否有data

此时04,05上是没有data的

在bigdata03节点上启动SDFH
start-dfs.sh

启动yarn

在ResourceManager所在的节点,即bigdata05

启动的脚本在/opt/softs/hadoop3.1.3/sbin目录下

start-yarn.sh

此时报错

定义YARN用户环境变量:在Hadoop的配置文件中,需要设置YARN ResourceManager和NodeManager应该使用的用户账户,在03的/etc/profile中加入

export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

用scp传给04,05。

重新启动yarn

此时多了04 ResourceManager和NodeManager

检查集群的搭建

bigdata03bigdata04bigdata05
HDFSNameNode,DataNode2nn,DataNodeDataNode
YARNNodeManagerNodeManagerResourceManager,NodeManager

bigdata03

bigdata04

bigdata05

显示无误就成功了

关闭虚拟机(一定要关闭!!)

bigdata03关闭HDFS

stop-dfs.sh

bigdata05关闭yarn

stop-yarn.sh

此时三台虚拟机的进程都是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值