栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

centos7创建hadoop3集群

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

centos7创建hadoop3集群

1.更新centos7的国内镜像文件(推荐aliyun)
wget -O /etc/yum.repos.d/CentOS-base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

2.下载lrzsz(上传下载文件lrzsz)
yum -y install lrzsz

3.创建两个文件夹
创建上传文件的目录
 mkdir -p /root/soft
创建安装软件的目录
 mkdir -p /root/module

3.进入上传文件的目录上传

cd /root/soft
rz


jdk-8u161-linux-x64.tar.gz
hadoop-3.1.4.tar.gz

4.解压
tar -zxvf jdk-8u161-linux-x64.tar.gz  -C /root/module
tar -zxvf hadoop-3.1.4.tar.gz  -C /root/module

5.配置环境变量
vim /etc/profile

export JAVA_HOME=/root/module/jdk1.8.0_161
export PATH=$PATH:/root/moodule/jdk1.8.0_161/bin
export CLASSPATH=.:/root/module/jdk1.8.0_161/lib/tools.jar:/root/module/jdk1.8.0_161/lib/dt.jar

export HADOOP_HOME=/root/module/hadoop-3.1.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

6.编辑配置文件
创建目录(后面会用到)
mkdir /root/module/hadoop-3.1.4/hdfs/temp
mkdir /root/module/hadoop-3.1.4/hdfs/data
mkdir /root/module/hadoop-3.1.4/hdfs/name
找到五个文件编辑以下内容

core-site.xml,hadoop.env.sh,hdfs-site.xml,mapred-site.xml,yarn-site.xml

    1.core-site.xml(倒数第三行:hdfs://第一台虚拟机用户名:9000)



     hadoop.tmp.dir
     file:/root/module/hadoop-3.1.4/hdfs/temp
     Abase for other temporary directories.


     fs.default.name
     hdfs://jiujiu1:9000


    2.hadoop.env.sh

export JAVA_HOME=/root/module/jdk1.8.0_161
export HADOOP_HOME=/root/module/hadoop-3.1.4

    3.hdfs-site.xml



     dfs.replication
     3


     dfs.namenode.name.dir
     file:/root/module/hadoop-3.1.4/hdfs/name


     dfs.datanode.data.dir
     file:/root/module/hadoop-3.1.4/hdfs/data

    4.mapred-site.xml



     mapreduce.framework.name
     yarn

    5.yarn-site.xml(第六行:第三台主机名)


    
    
    
        yarn.resourcemanager.hostname
        jiujiu3
    

    
    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    


 
7.将虚拟机的文件拷贝两份

 

拷贝之后,将拷贝出的两份中的lck后缀的文件(是文件,不是文件夹,文件夹删了就需要你重新装了)删除,不然虚拟机会打不开

开机前点开拷贝出的两台虚拟机设置(一定要在关机状态下操作)

一定要确保MAC地址不一样,不然会导致虚拟机网络用不了

 打开的过程中会弹出一个窗口,点击我已移动虚拟机

随后进入修改ip地址跟用户名,区分三个虚拟机
vim /etc/sysconfig/network-scripts/ifcfg-ens33

vim /etc/hostname

8.三台虚拟机连接secure CRT
8.1开机关闭防火墙
    systemctl disable firewalld.service
立刻关闭防火墙
    systemctl stop firewalld.service
查看防火墙状态
    firewall-cmd --state
8.2关闭最小linux最小安全系统
    vim /etc/selinux/config
配置
    SELINUX=disable
8.3查看时间是否同步
    date
时间不同步
    /usr/sbin/ntpdate ntp4.aliyun.com
8.4后面需要用到免密登录(免密登录就是在本台虚拟机不需要其他虚拟机的密码就可以登录其他虚拟机,后面操作会用上)
创建目录存放钥匙
    mkdir -p /root/.ssh
进入该目录,生成公钥和私钥
      cd /root/.ssh
    ssh-keygen -t rsa
点击三下空格
将每台机器的公钥复制到其中一台
    ssh-copy-id jiujiu1
查看公钥是否都在文件里
    vim authorized_keys
将密码文件夹分发给其他机器
    scp /root/.ssh/authorized_keys jiujiu2:/root/.ssh/
                
                scp /root/.ssh/authorized_keys jiujiu3:/root/.ssh/
将密码文件夹分发给其他机器
    scp /root/.ssh/authorized_keys jiujiu2:/root/.ssh/
                
    scp /root/.ssh/authorized_keys jiujiu3:/root/.ssh/
ssh jiujiu2
    不需要密码就成功了
exit 
    退出登录

9.编写运行服务脚本

创建目录存放脚本
    mkdir -p /root/shell
进入该目录编辑文件
    cd /root/shell
    vim shell.sh
编辑以下内容

#! /bin/bash
if [ $# -lt 1 ];then
    echo"请输入参数:start|stop|status"
    exit
fi
case $1 in
"start")
base="/root/module/hadoop-3.1.4/bin"
    echo "**********************jiujiu1 start*******************"

      ssh jiujiu1 "$base/hdfs --daemon start namenode"
      ssh jiujiu2 "$base/hdfs --daemon start secondarynamenode"
      ssh jiujiu3 "$base/yarn --daemon start resourcemanager"

    echo "**********************jiujiu2 start*******************"
    
    for x in jiujiu1 jiujiu2 jiujiu3
    do
        ssh $x "$base/hdfs --daemon start datanode"
        ssh $x "$base/yarn --daemon start nodemanager"
    done 
      
      
    echo "**********************jiujiu3 start*******************"

      
;;
"stop")
    echo "**********************jiujiu1 stop*******************"
base="/root/module/hadoop-3.1.4/bin"
      ssh jiujiu1 "$base/hdfs --daemon stop namenode"
      ssh jiujiu2 "$base/hdfs --daemon stop secondarynamenode"
      ssh jiujiu3 "$base/yarn --daemon stop resourcemanager"

    echo "**********************jiujiu2 stop*******************"
    echo "**********************jiujiu3 stop*******************"
    
    for x in jiujiu1 jiujiu2 jiujiu3
    do
        ssh $x "$base/hdfs --daemon stop datanode"
        ssh $x "$base/yarn --daemon stop nodemanager"
    done
;;
"status")
    for x in jiujiu1 jiujiu2 jiujiu3
    do
    echo "**********************$x status*******************"

        ssh $x "/root/module/jdk1.8.0_161/bin/jps"
    done

    
;;
esac


给予该脚本一定权限
    chmod 777 shell.sh
查看该目录下的文件权限
    ls -al
运行脚本
1.进入该目录
    cd /root/shell
    ./shell.sh status(查看服务状态)
    ./shell.sh start(运行服务)
    ./shell.sh stop(停止服务)
2.在根目录下
    ./shell/shell.sh status
    ./shell/shell.sh start
    ./shell/shell.sh stop
10.在浏览器打开hadoop
    192.168.40.24:9870(第一台虚拟机的ip地址:9870)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/288782.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号