centos7创建hadoop3集群

该博客详细介绍了如何在CentOS7系统中配置Hadoop3.1.4环境,包括更新国内镜像、安装lrzsz、创建目录、上传和解压文件、配置环境变量、编辑配置文件、拷贝虚拟机文件、修改MAC地址、设置SSH免密登录以及编写并运行服务脚本。此外,还涉及了关闭防火墙、禁用SELINUX、时间同步等系统设置。
摘要由CSDN通过智能技术生成

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(倒数第三行:<value>hdfs://第一台虚拟机用户名:9000</value>)

<configuration>
<property>
     <name>hadoop.tmp.dir</name>
     <value>file:/root/module/hadoop-3.1.4/hdfs/temp</value>
     <description>Abase for other temporary directories.</description>
</property>

<property>
     <name>fs.default.name</name>
     <value>hdfs://jiujiu1:9000</value>
</property>
</configuration>


    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

<configuration>
<property>
     <name>dfs.replication</name>
     <value>3</value>
</property>
<property>
     <name>dfs.namenode.name.dir</name>
     <value>file:/root/module/hadoop-3.1.4/hdfs/name</value>
</property>
<property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/root/module/hadoop-3.1.4/hdfs/data</value>
</property>
</configuration>

    4.mapred-site.xml

<configuration>
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>
</configuration>

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

<configuration>
    <!-- Site specific YARN configuration properties -->
    <!--集群master,-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>jiujiu3</value>
    </property>
    <!-- NodeManager上运行的附属服务-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
 
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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值