centos7上Hadoop2.7.2完全分布式部署

发布时间 2023-05-28 19:12:17作者: 何雪原

1.规划

node1                  node2                      node3
datanode             datanode                 datanode
namenode          resourcemanager    secondarynamenode
nodemanager     nodemanager         nodemanager

2.设置环境

2.1 修改hostname主机名  注:分别在三台机器上执行下列命令  设置主机名

hostnamectl set-hostname node1

hostnamectl set-hostname node2

hostnamectl set-hostname node3

  

 

2.2 关闭防火墙     注:在三台机器上均需要执行

 systemctl stop firewalld
 systemctl disable firewalld

2.3 关闭selinux    注:在三台机器上均需要执行

vim /etc/selinux/config
SELINUX=disabled

#setenforce 0

2.4 创建hadoop用户    注:在三台机器上均需要执行

useradd -d /hadoop hadoop
echo 123|passwd --stdin hadoop

2.5 修改/etc/hosts     注:在三台机器上均需要执行

[root@node1 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.100.10 node1
192.168.100.11 node2
192.168.100.12 node3

2.6 修改sudo配置文件    注:在三台机器上均需要执行

vim /etc/sudoers
## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
hadoop  ALL=(ALL)       ALL

2.7  配置免密登录   注:在三台机器上均需要执行下列命令

[root@node1 ~]# ssh-keygen -t rsa   ##三次回车   创建密钥

[root@node1 ~]# ssh-copy-id hadoop@node1  ##同步当前主机公钥到node1

[root@node1 ~]# ssh-copy-id hadoop@node2  ##同步当前主机公钥到node2
[root@node1 ~]# ssh-copy-id hadoop@node3  ##同步当前主机公钥到node3

2.8 安装jdk    注:在三台机器上均需要执行下列命令

[root@node1 soft]# rpm -ivh jdk-8u371-linux-x64.rpm 

 

3 安装hadoop-2.7.2 注:只在node1上执行,使用Hadoop用户执行命令

3.1 解压安装包

tar -zxf hadoop-2.7.2.tar.gz -C /hadoop/ 
ln -s /hadoop/hadoop-2.7.2 /hadoop/hadoop

3.2 修改Hadoop配置文件

cd hadoo/hadoop/etc/hadoop/
vim core-site.xml
  <property>
    <name>fs.defaultFS</name>
        <value>hdfs://node1:9000</value>
  </property>

  <property>


vim hdfs-site.xml 
  <property>
    <name>dfs.replication</name>
        <value>1</value>
  </property>

  <property>
    <name>dfs.namenode.secondary.http-address</name>
        <value>node3</value>
  </property>

vim yarn-site.xml 
  <property>
    <name>yarn.resourcemanager.hostname</name>
        <value>node2</value>
  </property>

  <property>
    <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
  </property>

vim mapred-site.xml
        <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
        </property>

3.3 修改 /etc/profile

sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk-1.8-oracle-x64
export HADOOP_HOME=/hadoop/hadoop
export PATH=$PATH:$JAVA_HOME:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

3.4 同步hadoop安装包

-bash-4.2$ pwd
/hadoop
-bash-4.2$ scp -r hadoop-2.7.2 hadoop@node2:/hadoop

-bash-4.2$ scp -r hadoop-2.7.2 hadoop@node3:/hadoop


su - root scp -r /etc/profile root@node2:/etc/profile scp -r /etc/profile root@node3:/etc/profile

3.5 使用Hadoop用户在node2、node3上执行下列命令  注:设置软连接 有利于以后的版本升级

cd /hadoop
ln -s hadoop-2.7.2 hadoop

4 启动hadoop

##在node1上使用hadoop用户执行
start-all.sh