Hadoop全分布式模式搭建详细流程

一、准备4台虚拟机
四台主机名分别设置为:master slave1 slave2 slave3(自定义)
1、关闭防火墙、设置静态IP
2、设置host文件,配置主机名

vi /etc/hostname	
#将localhost.localdomain改成master.localdomain
#master是你要定义的主机名
vi /etc/hosts
#配置hosts文件
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.180.88  master
192.168.180.100 slave1
192.168.180.101 slave2
192.168.180.102 slave3
192.168.180.103 dtinone

将配置发送到其他主机

scp  -r /etc/hosts root@slave1:/etc/
scp  -r /etc/hosts root@slave2:/etc/
scp  -r /etc/hosts root@slave3:/etc/

测试

ping slave1
ping slave2
ping slave3

二、安装配置JDK
1、将jdk压缩文件拷贝到/opt/appUtils目录下(可以自己选择)
2、解压jdk压缩文件到要安装目录下/opt/apps/

tar -zxvf jdk-8u241-linux-x64.tar.gz -C /opt/apps

3、配置jdk环境变量

vi /etc/profile
#末尾添加
export JAVA_HOME=/opt/apps/jdk1.8.0_241
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin
#立即生效环境变量
source /etc/profile

4、将jdk复制到其他主机

scp -r /opt/apps/jdk1.8.0_241 root@slave1:/opt/apps
scp -r /opt/apps/jdk1.8.0_241 root@slave2:/opt/apps
scp -r /opt/apps/jdk1.8.0_241 root@slave3:/opt/apps

5、将环境变量配置文件复制到其他主机

scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
scp -r /etc/profile root@slave3:/etc/

分别执行立即生效

source /etc/profile

测试jdk是否正确安装

java -version

显示java版本信息说明jdk安装成功

java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

三、安装hadoop集群
1、下载hadoop压缩文件,直接官网就apache可以下载
2、将压缩文件放到虚拟主机中/opt/appUtils目录(可以自己选择)
3、解压安装

tar -zxvf hadoop-2.7.3.tar.gz -C /opt/apps/

4、配置环境变量

vi /etc/profile
#末尾添加
#hadoop  //此行为注释
export HADOOP_HOME=/opt/apps/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

立即生效

source /etc/profile

5、配置hadoop集群
5.1、配置core-site.xml文件

cd /opt/apps/hadoop-2.7.3/etc/hadoop
vi core-site.xml
#文件的<configuration></configuration>内添加配置信息
<!-- 指定HDFS中NameNode的地址 -->
     <property>
     <name>fs.defaultFS</name>
         <value>hdfs://master:9000</value>
     </property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
     <property>
     <name>hadoop.tmp.dir</name>
     <value>/opt/apps/hadoop-2.7.3/data</value>
     </property>

注意:在添加配置文件的时候,每行前后不能有空格,作业自己写或者复制网上的配置时要检查一下
5.2、配置hadoop-env.sh

#找到export JAVA_HOME=在后面添加java环境变量
export JAVA_HOME=/opt/apps/jdk1.8.0_241

5.3、配置hdfs-site.xml

vi hdfs-site.xml
#文件的<configuration></configuration>内添加配置信息
<!-- 设置dfs副本数,不设置默认是3个   -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
<!-- 设置secondname的端口   -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>slave1:50090</value>
    </property>

5.4配置slaves文件,有的hadoop版本是works

vi slaves
master
slave1
slave2
slave3

5.5、配置mapred-env.sh

vi mapred-env.sh
#找到export JAVA_HOME=在后面添加java环境变量
export JAVA_HOME=/opt/apps/jdk1.8.0_241

5.6、配置mapred-site.xml

vi mapred-site.xml
#文件的<configuration></configuration>内添加配置信息
<!-- 指定mapreduce运行在yarn上 -->
    <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
    </property>

5.7、配置yarn-env.sh

vi yarn-env.sh
#找到export JAVA_HOME=在后面添加java环境变量
export JAVA_HOME=/opt/apps/jdk1.8.0_241

5.8、配置yarn-site.xml

vi yarn-site.xml
#文件的<configuration></configuration>内添加配置信息
<!-- reducer获取数据的方式 -->
     <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
     </property>
<!-- 指定YARN的ResourceManager的地址 -->
     <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>slave1</value>
     </property>

6、将安装好的hadoop分发到其他主机节点

scp -r /opt/apps/hadoop-2.7.3 root@slave1:/opt/apps/
scp -r /opt/apps/hadoop-2.7.3 root@slave2:/opt/apps/
scp -r /opt/apps/hadoop-2.7.3 root@slave3:/opt/apps/

7、将环境变量配置文件拷贝到其他主机

scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
scp -r /etc/profile root@slave3:/etc/

分别执行立即生效

source /etc/profile

8、设置SSH免密访问
要求任意两台主机之间都要设置免密访问
master主机下:

ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
ssh-copy-id slave3

slave1主机下:

ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
ssh-copy-id slave3

slave2主机下:

ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
ssh-copy-id slave3

slave3主机下:

ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
ssh-copy-id slave3

9、启动集群
我们在core-site.xml配置了运行时文件存放位置data
,实际上生成的目录里面没有,需要嗯自己创建,如果不配置这个目录,那么会自动存放在根目录下的tmp目录中

cd /opt/apps/hadoop-2.7.3
mkdir data

9.1、第一次启动集群需要进行格式化namenode

hadf namenode -format
#启动集群
#1、启动HDFS,在master上启动
cd sbin
start-dfs.sh

9.2、启动yarn

#启动yarn在主机slave1上,因为我们在yarn-site.xml中配置了在slave1上启动  所以需要单独启动
start-yarn.sh

9.3、jps查看进程
master主机下:

[root@master sbin]# jps
3474 NameNode
2979 NodeManager
3603 DataNode
3883 Jps

slave1主机下:

[root@slave1 sbin]#jps
10528 DataNode
10624 SecondaryNameNode
10722 ResourceManager
10834 NodeManager
11354 Jps

slave2主机下:

[root@slave2 hadoop]# jps
2114 NodeManager
2214 Jps
1979 DataNode

slave3主机下:

[root@slave3 hadoop]# jps
1796 DataNode
1928 NodeManager
2028 Jps

我们把SecondaryNameNode以及ResourceManage配置在slave1里面,所以slave1里面的进程较多。当不配置时会默认在主节点master里面
9.4、在web端查看
在网页地址栏输入master:50070
在这里插入图片描述
这时候说明我们的Hadoop全分布式集群搭建(单点)完成,后面的高可用和联邦根据需求修改几个配置文件即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值