Hadoop完全式分布安装

  • 前提条件
  • 配置网络
  • 关闭防火墙及Selinux
  • 配置hosts文件
  • 克隆
  • 创建用户
  • 配置用户
  • 配置用户权限
  • 安装DJK
  • 配置jdk环境变量
  • 验证JDK
  • SSH免密登录
  • 安装hadoop
  • 配置Hadoop环境变量验证安装配置
  • 配置Hadoop
  • 复制
  • 验证安装配置
  • 格式化NameNode:
  • 查看Java进程
  • 启动YARN并查看集群
  • web验证



实验环境和要求:

主机名

IP地址

所分配角色

node1

192.168.183.110

Master,NameNode

node2

192.168.183.120

Slave,DateNode

node2

192.168.183.130

Slave,DateNode

要求:
通过Centos7成功部署Hadoop集群

前提条件

配置网络

nmcli connection  modify "ens33" ipv4.method manual ipv4.addresses "192.168.183.110/24" ipv4.gateway "192.168.183.2" ipv4.dns "114.114.114.114" connection.autoconnect yes

##重启网络
nmcli con down ens33
nmcli con up ens33

关闭防火墙及Selinux

##关闭防火墙及开机自启
systemctl stop firewalld.service
systemctl disabled firewalld.service

##修改SELinux
setenforce 0

vim /etc/selinux/config		

SELINUX=disabled

配置hosts文件

##在hosts文件中添加如下
vim /etc/hosts

192.168.183.110 node1
192.168.183.120 node2
192.168.183.130 node3

克隆

至此已配置好一台主机的基础环境;关机创建快照并基于快照创建完整的克隆,然后克隆两台主机。开启三台主机,并修改其中两台主机IP并重启网络即可

hadoop yarn 全分布式 hadoop完全分布式部署_centos


hadoop yarn 全分布式 hadoop完全分布式部署_hadoop_02

创建用户

配置用户

groupadd hadoop
useradd -g hadoop hduser
passwd hduser

hadoop yarn 全分布式 hadoop完全分布式部署_大数据_03

配置用户权限

vim /etc/sudoers

hduser ALL=(ALL) ALL

hadoop yarn 全分布式 hadoop完全分布式部署_hadoop_04

安装DJK

上传源码包并解压安装

hadoop yarn 全分布式 hadoop完全分布式部署_vim_05


hadoop yarn 全分布式 hadoop完全分布式部署_hadoop yarn 全分布式_06

配置jdk环境变量

sudo gedit /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile

hadoop yarn 全分布式 hadoop完全分布式部署_vim_07

验证JDK

java -version

hadoop yarn 全分布式 hadoop完全分布式部署_大数据_08

SSH免密登录

##在主节点(node1)上生成SSH密钥对 连续敲回车键
ssh-keygen -t rsa

hadoop yarn 全分布式 hadoop完全分布式部署_大数据_09

#将公钥复制到node2、node3上
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

hadoop yarn 全分布式 hadoop完全分布式部署_大数据_10

安装hadoop

hadoop所需源码包和jdk包一起上传了

tar zxvf hadoop-2.10.1.tar.gz
mv hadoop-2.10.1 hadoop

hadoop yarn 全分布式 hadoop完全分布式部署_centos_11

配置Hadoop环境变量验证安装配置

sudo vim /etc/profile

#hadoop
export HADOOP_HOME=/home/hduser/hadoop
export PATH=$HADOOP_HOME/bin:$PATH

hadoop yarn 全分布式 hadoop完全分布式部署_hadoop_12

配置Hadoop

cd ~/hadoop/etc/hadoop/ 以下七个配置文件都在~/hadoop/etc/hadoop/下,并修改其内容
配置hadoop-env.sh文件vim hadoop-env.sh

最后添加以下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64

配置yarn-en.sh文件vim yarn-en.sh

export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64

配置workers文件vim workers

node2
node3

以下四个配置文件中都会有一对<configuration>只需要在<configuration>对中添加内容即可,不需要做其他更改 配置core-site.xml文件vim core-site.xml

添加如下内容:
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://node1:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/home/hduser/hadoop/tmp</value>
        </property>

hadoop yarn 全分布式 hadoop完全分布式部署_大数据_13

配置hdfs-site.xml文件vim hdfs-site.xml

添加如下内容:
         <property>
                <name>dfs.http.address</name>
                <value>0.0.0.0:50070</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>node1:50090</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/home/hduser/hadoop/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/home/hduser/hadoop/dfs/data</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.webhdfs.enabled</name>
                <value>true</value>
        </property>

hadoop yarn 全分布式 hadoop完全分布式部署_vim_14

配置mapred-site.xml文件vim mapred-site.xml

添加如下内容:
        <property>
                <name>yarn.app.mapreduce.am.env</name>
                <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
        </property>
        <property>
                <name>mapreduce.map.env</name>
                <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
        </property>
        <property>
                <name>mapreduce.reduce.env</name>
                <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
        </property>

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

hadoop yarn 全分布式 hadoop完全分布式部署_centos_15

配置yarn-site.xml文件vim yarn-site.xml

添加如下内容:
        <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>node1:8032</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>node1:8030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>node1:8035</value>
        </property>
        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>node1:8033</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>node1:8088</value>
        </property>

hadoop yarn 全分布式 hadoop完全分布式部署_centos_16

复制

##将配置好的node1节点中的文件复制到node2、node3的相同目录下
scp -r /home/hduser/hadoop node3:/home/hduser/
scp -r /home/hduser/hadoop node2:/home/hduser/

验证安装配置

格式化NameNode:

cd /hadoop
bin/hdfs namenode -format	##格式化只需要执行一次即可,执行多次否则会报错

查看Java进程

sbin/start-dfs.sh
jps

hadoop yarn 全分布式 hadoop完全分布式部署_hadoop_17


如果jps提示不是系统命令则需要看自己的jdk的环境变量是否配置正确

启动YARN并查看集群

sbin/start-yarn.sh
bin/hdfs dfsadmin -report

hadoop yarn 全分布式 hadoop完全分布式部署_vim_18


hadoop yarn 全分布式 hadoop完全分布式部署_vim_19

web验证

浏览器中输入192.168.183.110:50070

hadoop yarn 全分布式 hadoop完全分布式部署_大数据_20