hadoop-test

Hadoop运行的三种模式

    单机模式:只有一个JVM进程数,只运行在一台机器上(作测试用);

    伪分布模式:有多个JVM进程数,运行在同一台机器上;

    分布式(完全分布式)模式:多个JVM进程数,运行在三台或三台以上的机器上。

    说明:

    以下进入Hadoop集群的搭建,从单机模式到完全分布式,都是在root用户下进行,hadoop的主目录(安装路径)为/opt/hadoop-2.7.3,在配置hadoop文件时需注意文件的路径。如果在普通用户下,要注意权限、环境变量等,记得使用sudo命令。

一、Hadoop单机模式的搭建

    1、创建用户

        useradd hadoop

        passwd hadoop (直接输入两次密码即可)

        注意:我都是用root用户操作,故这一步可以不用切换到hadoop用户。

    2、网络配置、修改主机名、配置网络映射

        网络配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0

        需要配置IP地址、子网掩码、网关、DNS域名解析服务器

        vi  /etc/sysconfig/network-scripts/ifcfg-eth0

        注意:CentOS7和8里面,网络配置文件为:/etc/sysconfig/network-scripts/ifcfg-ens33

        主机名配置文件 /etc/sysconfig/network,修改HOSTNAME=主机名

        vi   /etc/sysconfig/network

        将HOSTNAME=localhost.localdomain修改为HOSTNAME=BigData01

        注意:CentOS7或8,主机名配置文件为:/etc/hostname,直接删除以前的,添加主机名

        配置网络映射 /etc/hosts

        vi  /etc/hosts

        在最后一行添加 ip地址 主机名        如:182.168.182.66  BigData01

        重启网络服务:

        service  network  restart

    3、安装ssh服务

        查看是否安装ssh

        rpm  -qa  |  grep  ssh

        apt install rpm

        如果有openssh-clients、openssh-server,则不需要安装

        如果没有,则需要安装,安装命令如下:

        yum  install  -y  openssh-clients  openssh-server

        apt  install  openssh-server

        apt  install  openssh-client

        启动ssh服务

        service  sshd  start

        start:开启、restart:重启、stop:关闭、status:状态

        <!--

        1. 安装SSH,配置SSH无密码登录

        sudo apt-get install openssh-server

        因为 ssh 默认禁止 root 用户访问,需要修改 sshd_config 文件中的 PermitRootLogin 数据为 yes,再重启sshd服务 ,重启命令:systemctl restart sshd.service

        vi /etc/ssh/sshd_config

        找到:

        # Authentication:

        #LoginGraceTime 2m

        #PermitRootLogin prohibit-password

        修改为:

        PermitRootLogin yes

        进入 ~/.ssh/ 目录,若不存在,需要执行一次 ssh localhost

        cd ~/.ssh/

        按四下回车

        ssh-keygen -t rsa

        授权

        cat ./id_rsa.pub >> ./authorized_keys

        使命令登陆本机:

        ssh localhost 输入 yes

        然后按提示输入主机密码,exit可退出当前主机

        下一次连接就不用输入密码了

        -->


 

    4、防火墙的管理

        service  iptables  start  # 临时关闭防火墙

        chkconfig  iptables  off  # 永久关闭防火墙

        start:开启、restart:重启、stop:关闭、status:状态

        如果找不到iptables,可以执行:

        yum  install  -y  iptables   # 在线安装、需要联网

        注意: 如果上述命令不可用的情况,可使用以下命令执行关闭防火墙:

        systemctl  stop  firewalld    # 停止防火墙

        systemctl  mask  firewalld    # 重新启动防火墙

        <!--

        sudo ufw status: 查看防火墙状态,inactive是关闭状态,active是开启状态

        sudo ufw enable:开启防火墙

        sudo ufw default deny:启动默认防御,作用:关闭所有外部对本机的访问(本机访问外部正常)

        sudo ufw disable:关闭防火墙

        sudo ufw allow|deny [service]:禁用防火墙

        -->

    5、安装jdk

        1 使用XShell 6或者secureCRT远程登录

        2 上传JDK到/opt目录下,Windows-->Linux

        3 查看Linux是否安装java jdk

        rpm  -qa  |  grep  java

        如果查询有其他java版本,则需要卸载

        rpm  -e  --nodeps  包名

        4 解压上传的jdk,解压到/opt目录下

        tar -zxvf /opt/jdk-8u161-linux-x64.tar.gz -C /opt/

        5 配置环境变量

        vi  /etc/profile

        在这个文件最后添加如下两行:

        export JAVA_HOME=/opt/jdk1.8.0_161

        export PATH=$JAVA_HOME/bin:$PATH

        6 使这个配置文件生效

        source /etc/profile

        7 验证

        java -version

        <!--

        安装 OpenJDK 17

        sudo apt update

        sudo apt install openjdk-17-jre-headless  # version 17.0.3+7-0ubuntu0.20.04.1

        JAVA_HOME 环境变量

        首先使用update-alternatives找到 Java 安装路径:

        sudo update-alternatives --config java

        /usr/lib/jvm/java-17-openjdk-amd64/bin/java

        Java 安装路径,打开/etc/environment文件:

        /** sudo nano /etc/environment

        sudo vim /etc/environment

        在文件的末尾,添加下面的行:

        JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64/bin/java"

        想要让修改在当前 shell 生效,你可以登出系统,再登入系统,或者运行下面的命令:

        source /etc/environment

        验证 JAVA_HOME 环境变量被正确设置:

        echo $JAVA_HOME

        配置环境变量

        vi  /etc/profile

        在这个文件最后添加如下两行:

        export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

        export PATH=$JAVA_HOME/bin:$PATH

        使这个配置文件生效

        source /etc/profile

        验证

        java -version

        -->

    6、安装hadoop

        1 上传hadoop安装包到Linux下的/opt目录

        2 解压安装包到/opt目录

        tar -zxvf /opt/hadoop-2.7.3.tar.gz -C /opt/

        3 配置环境变量

        vi /etc/profile

        在文件最后添加如下两行

        export HADOOP_HOME=/opt/hadoop-2.7.3

        export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

        这个是在Java的基础上配置的,故配置文件内有三行,如图:

        使配置文件生效

        source /etc/profile

        4 验证

        hadoop version

        <!--

        1、上传或下载hadoop-3.3.3.tar.gz

        至目录 /usr/local/

        官网下载:hadoop3.1.3

        wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.3/hadoop-3.3.3.tar.gz

        2、解压

        tar -zxvf hadoop-3.3.3.tar.gz

        3、重命名

        mv hadoop-3.3.3 hadoop

        4、修改文件权限

        sudo chown -R root /usr/local/hadoop

        ls -l

        cat /etc/group

        5、进入hadoop目录

        cd /usr/local/hadoop

        6、验证hadoop版本

        ./bin/hadoop version

        7、配置env文件  修改JDK路径

        vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh

        添加:export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

        配置环境变量

        vi /etc/profile

        在文件最后添加如下三行

        export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

        export HADOOP_HOME=/usr/local/hadoop

        export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

        使这个配置文件生效

        source /etc/profile

        验证

        hadoop version

        -->

   

    7、验证hadoop版本

        /usr/local/hadoop

         ./bin/hadoop version

    8、配置env文件 修改JDK路径

        cat /usr/local/hadoop/etc/hadoop/hadoop-env.sh

        more /usr/local/hadoop/etc/hadoop/hadoop-env.sh

        vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh

        vi /usr/local/hadoop/etc/hadoop/mapred-env.sh

        vi /usr/local/hadoop/etc/hadoop/yarn-env.sh

        添加:

        export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

        Esc :wq 保存并退出



 

    9、修改核心组件文件

        vi /usr/local/hadoop/etc/hadoop/core-site.xml

        配置里面添加:

        <configuration>

            <property>

                <name>hadoop.tmp.dir</name>

                <value>file:/usr/local/hadoop/tmp</value>

                <description>Abase for other temporary directories.</description>

            </property>

            <property>

                <name>fs.defaultFS</name>

                <value>hdfs://localhost:9000</value>

            </property>

        </configuration>

    10、修改文件系统文件

        vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml

        配置里面添加:

        <configuration>

            <property>

                <name>dfs.replication</name>

                <value>1</value>

            </property>

            <property>

                <name>dfs.namenode.name.dir</name>

                <value>file:/usr/local/hadoop/tmp/dfs/name</value>

            </property>

            <property>

                <name>dfs.datanode.data.dir</name>

                <value>file:/usr/local/hadoop/tmp/dfs/data</value>

            </property>

            <property>

                <name>dfs.namenode.http-address</name>

                <value>0.0.0.0:50700</value>

            </property>

        </configuration>

    11、修改文件yarn文件

        vi /usr/local/hadoop/etc/hadoop/yarn-site.xml

        配置里面添加:

        <configuration>

            <property>

                <name>yarn.nodemanager.aux-services</name>

                <value>mapreduce_shuffle</value>

            </property>

            <property>

                <name>yarn.resourcemanager.webapp.address</name>

                <value>ubuntu:8088</value>

            </property>

            <property>

                <name>yarn.resourcemanager.hostname</name>

                <value>ubuntu</value>

            </property>

            <property>

                <name>yarn.resourcemanager.address</name>

                <value>ubuntu:8032</value>

            </property>

            <property>

                <name>yarn.resourcemanager.scheduler.address</name>

                <value>ubuntu:8030</value>

            <property>

                <name>yarn.resourcemanager.resource-tracker.address</name>

                <value>ubuntu:8031</value>

            </property>

            <property>

                <name>yarn.resourcemanager.admin.address</name>

                <value>ubuntu:8033</value>

            </property>

            <property>

                <name>yarn.resourcemanager.webapp.address</name>

                <value>ubuntu:8088</value>

            </property>

        </configuration>

    12、修改文件mapreduce文件

        vi /usr/local/hadoop/etc/hadoop/mapred-site.xml

        配置里面添加:

        <configuration>

            <property>

                <name>mapreduce.framework.name</name>

                <value>yarn</value>

            </property>

        </configuration>

    13、配置完成,执行 NameNode 的格式化

        进入目录cd /usr/local/hadoop

        格式化命令./bin/hdfs namenode -format

    14、root用户启动hadoop需要的配置

        在start-dfs.sh,stop-dfs.sh 两个文件顶部添加以下参数

        vi /usr/local/hadoop/sbin/start-dfs.sh

        vi /usr/local/hadoop/sbin/stop-dfs.sh

            HDFS_DATANODE_USER=root

            HADOOP_SECURE_DN_USER=hdfs

            HDFS_NAMENODE_USER=root

            HDFS_SECONDARYNAMENODE_USER=root

        在start-yarn.sh,stop-yarn.sh两个文件顶部添加以下参数

        vi /usr/local/hadoop/sbin/start-yarn.sh

        vi /usr/local/hadoop/sbin/stop-yarn.sh

            YARN_RESOURCEMANAGER_USER=root

            HADOOP_SECURE_DN_USER=yarn

            YARN_NODEMANAGER_USER=root

    15、开启 NameNode 和 DataNode 守护进程

        ./sbin/start-dfs.sh

    16、查看进程

        安装插件:sudo apt install openjdk-17-jdk-headless

        查看进程:jps

    17、关机注意

        关机前一定要关闭hadoop,不然下回启动会报错,需要重新格式化,数据就丢失了

        关闭命令./sbin/stop-dfs.sh

        下次启动 hadoop 时,不用NameNode 的初始化,

        只需要运行 ./sbin/start-dfs.sh 就可以!

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值