Hadoop 2分布式集群环境搭建

Hadoop 2分布式集群环境搭建,第1张

Hadoop 2分布式集群环境搭建

一台Ubuntu主机作Master,一台Ubuntu主机做slave01,一台Ubuntu主机做slave02。三台主机机器处于同一局域网下。

修改三台机器的/etc/hosts文件,添加同样的配置:

sudo vim /etc/hosts

#只写这几行剩下的全删掉
116.63.143.179 master
192.168.0.11 slave01
192.168.0.12 slave02

配置ssh无密码登录本机和访问集群机器

在三台虚拟机中,使用以下命令安装 ssh:

sudo apt-get install openssh-server

在 master 节点上进行 ssh 配置,在 master 节点上执行以下命令:

su root

cd /root/.ssh

ssh-keygen -t rsa

ssh-copy-id -i /root/.ssh/id_rsa.pub master

ssh-copy-id -i /root/.ssh/id_rsa.pub slave01

ssh-copy-id -i /root/.ssh/id_rsa.pub slave02

在 master 上对每一个节点进行测试,看是否能进行免密登录: ssh slaver1

安装JDK

在/usr 目录下新建 java 文件夹,然后将 jdk 压缩包复制在 java 文件夹下并进行解压。执行:

cd /usr

mkdir java

sudo tar -zxvf jdk-8u221-linux-x64.tar.gz

在/etc/profile 内配置环境变量:vim /etc/profile

添加如下信息:

export JAVA_HOME=/usr/java/jdk1.8.0_221

export CLASSPATH=:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

刷新环境配置。然后检测 Java 版本: source /etc/profile java -version

安装Hadoop

先在master主机上做安装Hadoop,暂时不需要在slave01,slave02主机上安装Hadoop.稍后会把master配置好的Hadoop发送给slave01,slave02.
在master主机执行如下 *** 作:

sudo tar -zxf ~/home/hadoop-2.7.1.tar.gz -C /usr/local    # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.7.1/ ./hadoop            # 将文件夹名改为hadoop
sudo chown -R root ./hadoop       # 修改文件权限

vim ~/.bashrc 文件,添加如下内容:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

接着让环境变量生效,执行如下代码: source ~/.bashrc

Hadoop集群配置

修改master主机中的Hadoop配置文件,这些文件都位于/usr/local/hadoop/etc/hadoop目录下。

在 /usr/local/hadoop目录下添加目录:

mkdir tmp

mkdir hdfs

mkdir hdfs/name

mkdir hdfs/data

修改slaves:
这里把DataNode的主机名写入该文件,每行一个。这里让master节点主机仅作为NameNode使用,因此把原来的localhost删掉。

slave01
slave02

 修改core-site.xml

  
      
          hadoop.tmp.dir
          file:/usr/local/hadoop/tmp
          Abase for other temporary directories.
      
      
          fs.defaultFS
          hdfs://master:9000
      
  

修改hdfs-site.xml

注意:dfs.namenode.http-address 一定要设置成0.0.0.0:50070 参考(14条消息) Hadoop HDFS的namenode WEB访问50070端口打不开解决方法_技术笔记-CSDN博客_50070打不开


        dfs.replication
        3
    
    
        dfs.webhdfs.enabled
        true
    
    
        dfs.namenode.http-address
        0.0.0.0:50070
    
    
        dfs.namenode.name.dir
        file:/usr/local/hadoop/hdfs/name
    
    
        dfs.datanode.data.dir
        file:/usr/local/hadoop/hdfs/data
    

 修改mapred-site.xml(复制mapred-site.xml.template,再修改文件名)


        mapreduce.framework.name
        yarn
    
    
        mapreduce.jobhistory.address
        master:10020
   
   
         mapreduce.jobhistory.webapp.address
         master:19888
   

修改yarn-site.xml


        yarn.resourcemanager.hostname
        master
    
      
        yarn.nodemanager.aux-services  
        mapreduce_shuffle  
      
      
        yarn.resourcemanager.address  
        master:8032  
      
      
        yarn.resourcemanager.scheduler.address  
        master:8030  
      
      
        yarn.resourcemanager.resource-tracker.address  
        master:8035  
      
      
        yarn.resourcemanager.admin.address  
        master:8033  
      
      
        yarn.resourcemanager.webapp.address  
        master:8088  
    
注意:hadoop-env.sh中,再显示地重新声明一遍JAVA_HOME

export JAVA_HOME=/usr/java/jdk1.8.0_221

 配置好后,将 master 上的 /usr/local/hadoop 文件夹复制到各个节点上。之前有跑过伪分布式模式,建议在切换到集群模式前先删除之前的临时文件。在 master 节点主机上执行:

 cd /usr/local/
tar -zcf ~/hadoop.master.tar.gz ./hadoop #打成压缩包
cd ~
scp ./hadoop.master.tar.gz slave01:/home
scp ./hadoop.master.tar.gz slave02:/home

在slave01,slave02节点上执行:

sudo rm -rf /usr/local/hadoop/
sudo tar -zxf /home/hadoop.master.tar.gz -C /usr/local
sudo chown -R root /usr/local/hadoop

启动/关闭hadoop集群

先登录华为云控制台,修改安全组开放所有端口比较方便(500709000.....)

在master主机上执行如下命令:

cd /usr/local/hadoop
bin/hdfs namenode -format
sbin/start-all.sh

运行后,在master,slave01,slave02运行jps命令,查看:

本地Web访问:http://华为云公网ip:50070 

 

关闭Hadoop集群:

cd /usr/local/hadoop
sbin/stop-all.sh

若要重新格式化namenode则要先:

cd /usr/local/hadoop

rm -rf ./hadoop/tmp   # 删除临时文件
rm -rf ./hadoop/logs/*   # 删除日志文件

rm -rf hdfs/data/*  
rm -rf hdfs/name/*  

再进行重新启动

bin/hdfs namenode -format
sbin/start-all.sh

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5069225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存