hadoop分布式安装

1. 将安装包hadoop-3.1.3.tar.gz上次至linux中

在这里插入图片描述

2. 进行解压操作

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

##tar: 解压打包的命令
##z: 当前压缩类型为.tar. gz
##x: 代表是解压命令
##v: 代表在解压过程中显示执行过程
##f: 代表指定打包后的文件名
##C: 指定解压后的目录

3. 修改目录名称

--替换目录
cd /opt/softs

--修改目录名称
mv hadoop-3.1.3/ hadoop3.1.3/

4. 配置环境变量

-- 编辑环境变量配置文件
vim /etc/profile

-- 在文件添加如下配置项
##JAVA_HOME
export JAVA_HOME=/opt/softs/jdk1.8.0
export PATH=$PATH:$JAVA_HOME/bin

##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
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

-- 保存退出后需要使环境变量配置文件的改动生效
source /etc/profile

在这里插入图片描述

输出hadoop环境变量 :

echo $HADOOP_HOME

在这里插入图片描述

修改linux本地hosts,使能通过主机名映射识别对应的ip地址

vim /etc/hosts
192.168.123.51 bigdata01
192.168.123.52 bigdata02
192.168.123.53 bigdata03
192.168.123.54 bigdata04
192.168.123.55 bigdata05
192.168.123.50 bigdatademo

5. 远程传输

5.1 scp远程传输

-- 远程传输/etc/hosts文件
-- scp 需要传输的文件路径目标节点 用户名@ip地址(hostname):文件的目标位置
scp /etc/hosts root@192.168.123.52:/etc
scp /etc/hosts root@192.168.123.53:/etc
scp /etc/hosts root@192.168.123.54:/etc
scp /etc/hosts root@192.168.123.55:/etc

-- 远程传输/etc/profile文件
-- 注意点:远程传输/etc/proflie后需要在目标节点上重新source /etc/profi1e
scp /etc/profile root@bigdata02:/etc
scp /etc/profile root@bigdata03:/etc
scp /etc/profile root@bigdata04:/etc
scp /etc/profile root@bigdata05:/etc

-- 远程传输/opt/softs/hadoop3.1.3目录
scp -r /opt/softs/hadoop3.1.3 root@bigdata02:/opt/softs
scp -r /opt/softs/hadoop3.1.3 root@bigdata03:/opt/softs
scp -r /opt/softs/hadoop3.1.3 root@bigdata04:/opt/softs
scp -r /opt/softs/hadoop3.1.3 root@bigdata05:/opt/softs

-r 递归

6. 免密登录

-- 切换到/root目录
cd /root
-- 查看隐藏目录
ls -al
#a 显示所有的文件(包含隐藏文件)
#l 详细信息显示

-- 切换目录
cd .ssh

--执行创建公钥和私钥的命令
ssh-keygen -t rsa
然后可以回车3次生成两个文件: id_rsa(私钥),id_rsa.pub(公钥)

--将公钥拷贝到要免密登录的节点上
ssh-copy-id bigdata03
ssh-copy-id bigdata04
ssh-copy-id bigdata05

-- 在bigdata04和bigdata05上也进行同样的免密登录操作

-- ssh登录测试
ssh root@bigdata03
ssh root@bigdata04
ssh root@bigdata05

7. 集群规划

集群规划时需要注意
(1)NameNode和SecondaryNameNode不要放置在同一节点上
(2)ResourceManager本身很消耗内存,不要和NameNode或SecondaryNameNode放置在同一节点上

bigdata03bigdata04bigdata05
HDFSNameNode,DataNodeSecondaryNameNode,DataNodeDataNode
YARNNodeManagerNodeManagerResourceManager,NodeManager

8. 修改自定义配置文件

自定义文件的路径: $HADOOP_HOME/etc/hadoop

8.1 hadoop-env.sh

配置如下

cd /opt/softs/hadoop3.1.3/etc/hadoop
ll
vim hadoop-env.sh

-- 修改JAVA_HOME的配置
export JAVA_HOME=/opt/softs/jdk1.8.0


8.2 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>

8.3 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>

8.4 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>

8.5 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://bigdata03:19888/jobhistory/logs</value>
    </property>
    <!-- 设置日志保留时间为7天 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
	
</configuration>

8.6 workers

配置作为datanode节点的hostname

bigdata03
bigdata04
bigdata05

9. rsync差异化远程传输

-- 安装rsync命令
yum install -y rsync

-- 上述安装命令在集群中每一节点上都执行

-- 进行差异化传输
-- rsync -av 差异化比较的源路径 目标节点用户名@hostname:差异化比较的目标路径

-- a 归档拷贝
-- v 显示复制过程

rsync -av /opt/softs/hadoop3.1.3/etc/hadoop/ root@bigdata04:/opt/softs/hadoop3.1.3/etc/hadoop/

注意:如果传输是个文件夹目录的话,文件夹名后面的/不能省略,即hadoop后的/不能省略。

在这里插入图片描述

10. 格式化集群

如果集群是第一次启动,需要在NameNode节点处进行格式化,格式化后,会产生新的集群id
如果对集群进行重新格式化时,需要先停止NameNode和DataNode的运行,并且需要删除所有节点上data和logs目录。然后再进行重新格式化

--格式化命令
hdfs namenode -format

在这里插入图片描述

11.在NameNode节点上(此处为bigdata03)启动hdfs

bigdata03bigdata04bigdata05
HDFSNameNode,DataNodeSecondaryNameNode,DataNodeDataNode
YARNNodeManagerNodeManagerResourceManager,NodeManager
--启动hdfs命令
start-dfs.sh

在对应的节点上查看服务启动情况,根据集群规划中服务设置节点进行检查

jps

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

有DataNode、NameNode、SecondaryNameNode进程服务时,说明hdfs启动成功

12.在ResourceManager节点上(此处为bigdata05)启动yarn

-- 启动yarn命令
start-yarn.sh

在对应的节点上查看服务启动情况,根据集群规划中服务设置节点进行检查

jps

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.在NameNode节点上关闭hdfs

stop-dfs.sh

14.在ResourceManager节点上(此处为bigdata05)关闭yarn

stop-yarn.sh

15.通过web访问hdfs和yarn

首先需要在windows下配置虚拟机ip和hostname的映射
编辑文件 C:WindowsiSystem32%driversletchosts ,添加如下内容

192.168.123.53 bigdata03
192.168.123.54 bigdata04
192.168.123.55 bigdata05

访问hdfs
在浏览器中输入 http://bigdata03:9870

访问yarn
在浏览器中输入 http://bigdata05:8088

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值