当前位置:   article > 正文

Hadoop学习(一)——环境配置(特别顺利版!!!已经排坑了)_hadoop环境配置

hadoop环境配置

软件:VM Ware

iso镜像:CentOS7

Hadoop版本:Hadoop-3.3.3

目录

一、创建虚拟机并安装CentOS系统

二、静态网络配置

三、安装Hadoop

1.下载Hadoop安装包

2.下载JDK安装包

3. 安装过程

4.克隆虚拟机 

5.配置hoats文件和免密登录

6.Hadoop集群节点配置

7.格式化并启动节点

【好了之后一定要快照!!!避免重新安装!!】


【一起从0开始学Hadoop!!!】

一、创建虚拟机并安装CentOS系统

  1. # 切换成root用户
  2. su

  1. # 检查网络是否连通
  2. ping www.baidu.com

  1. # centOS换源
  2. https://blog.csdn.net/qq_35261940/article/details/122019530
  1. # 安装net-tools
  2. yum upgrade
  3. yum install net-tools
  • yum upgrade

        需要输入y,确保继续运行

  • yum install net-tools

【这种情况是已经存在了,所以什么都不用做,如果没有,等待安装完成就行】

二、静态网络配置

  1. # 查看防火墙状态
  2. systemctl status firewalld.service
  3. # 关闭防火墙
  4. systemctl stop firewalld.service

  1. # 查看ip地址和Mac地址(ens33 的 enter 后面)
  2. ifconfig
  3. # 这里我的ip地址是192.168.50.160
  4. # Mac地址是00:0c:29:e5:8a:93

  1. # 配置网络文件
  2. vi /etc/sysconfig/network-scripts/ifcfg-ens33

【使用 i 进入编辑模式,依次按下 esc   :   输入wq 后按回车键,进行保存并退出】
BOOTPROTO的值设置为static

ONBOOT的值设置为yes

子网掩码默认设置为255.255.255.0
网关的值为将ip地址中最后一段的值改为2
DNS使用谷歌提供的免费dns1:8.8.8.8

  1. # 重启网络服务,检查是否配置成功
  2. systemctl restart network
  3. ping www.baidu.com

  1. # 重启虚拟机,检查是否在ip没有改变的情况下仍然能连通网络
  2. reboot
  3. ifconfig
  4. ping www.baidu.com

三、安装Hadoop

  1. # 新建目录
  2. mkdir -p /export/data
  3. mkdir -p /export/servers
  4. mkdir -p /export/software

1.下载Hadoop安装包

  • 方法一:通过Filezilla传至虚拟机

Index of /dist/hadoop/common/hadoop-3.1.3

  • 方法二:通过wget下载
wget https://mirrors.ustc.edu.cn/apache/hadoop/common/hadoop-3.3.3/hadoop-3.3.3.tar.gz

 2.下载JDK安装包

  1. # 官网下载JDK版本
  2. https://www.oracle.com/java/technologies/javase-downloads.html
  3. # 上传至 /export/software 文件夹下
  4. 使用 Filezilla 进行上传

3. 安装过程

  1. # 解压压缩包
  2. tar -zxvf jdk-8u361-linux-x64.tar.gz -C /export/servers/
  3. tar -zxvf hadoop-3.3.3.tar.gz -C /export/servers/
  4. # ls 查看一下解压缩后的内容

  1. # 配置java环境
  2. vi /etc/profile # 编辑profile配置文件
  3. # 添加以下内容
  4. export JAVA_HOME=/export/servers/jdk1.8.0_361
  5. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  6. export PATH=$JAVA_HOME/bin:$PATH
  7. # 保存文件
  8. esc
  9. :wq

 

  1. # 更新配置文件
  2. source /etc/profile
  3. # 查看 java 版本
  4. java -version
  5. javac

  1. # 配置Hadoop
  2. vi /etc/profile
  3. # 在文件末尾添加以下内容
  4. export HADOOP_HOME=/export/servers/hadoop-3.3.3
  5. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  6. # 保存文件
  7. esc :wq
  8. # 更新文件
  9. source /etc/profile

  1. # 查看是否配置成功
  2. hadoop version

4.克隆虚拟机 

先去下面配置完集群再克隆,就不用最后一个问题解决了。

如果按先克隆,最后在格式化之前,将server01,server02的配置文件修改完再格式化也不会出问题。

  1. # 修改虚拟机主机名
  2. # 查看现在的名字
  3. hostname
  4. # 修改第一台为master
  5. hostnamectl1 set-hoatname master
  6. # hostname再次查看一下,是否修改成功
  7. hostname

  1. # 克隆两台虚拟机
  2. # 关机后,右键相应虚拟机->管理->克隆

选择创建完整克隆

一个起名字server01,另一个起名字server02

 

5.配置hoats文件和免密登录

  1. # 分别修改主机名
  2. hostnamectl set-hostname server01
  3. hostnamectl set-hostname server02
  1. # 分别修改网络配置
  2. # 查看Mac地址
  3. ifconfig
  4. # 进入root用户
  5. su
  6. # 配置ip地址,保证三台虚拟机在同一个网段
  7. vi /etc/sysconfig/network-scripts/ifcfg-ens33
  8. # server01的配置为192.168.50.161
  9. # server02的配置为192.168.50.162

 部分文件内容修改如下

  1. # 重启网络,检查是否连通
  2. systemctl restart network
  3. ping www.baidu.com

 此时用ifconfig检查ip,发现已经修改成功

修改hosts文件

  1. vi /etc/hosts
  2. # 添加以下内容
  3. 192.168.50.160 master
  4. 192.168.50.161 server01
  5. 192.168.50.162 server02
  6. # 保存并退出

  1. # 检查节点是否配置成功
  2. ping master
  3. # ping slave1
  4. # ping slave2

配置免密登录

  1. # master主机上生成密钥文件(四次回车)
  2. ssh-keygen -t rsa

 

  1. # 本机密钥复制到另外的机器(三台主机都执行)
  2. ssh-copy-id master
  3. ssh-copy-id server01
  4. ssh-copy-id server02

  1. # 检查是否成功免密登录,
  2. # master执行
  3. ssh server01
  4. # server01执行
  5. ssh server02

6.Hadoop集群节点配置

  1. # 进入主节点配置目录
  2. cd /export/servers/hadoop-3.3.3/etc/hadoop/

  1. # 修改配置文件(三台机器都配置)
  2. vi hadoop-env.sh
  3. # 修改JAVEHOME(找到这句话,等号后面输入这个)
  4. export JAVA_HOME=/export/servers/jdk
  5. export HADOOP_CLASSPATH=$JAVA_HOME/lib/tools.jar
  6. # 保存并退出

  1. # 修改core-site.xml文件
  2. vi core-site.xml

添加以下内容:


<configuration>
    <!--用于设置Hadoop的文件系统,由URI指定-->
    <property>
        <name>fs.defaultFS</name>
        <!--用于指定namenode地址在hadoop01机器上-->
        <value>hdfs://hadoop01:9000</value>
    </property>
    <!--配置Hadoop的临时目录,默认/tem/hadoop-${user.name}-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/export/servers/hadoop-2.7.4/tmp</value>
    </property>
</configuration>

  1. # 修改hdfs-site.xml文件
  2. vi hdfs-site.xml

添加以下内容:

<configuration>
    <!--指定HDFS的数量-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--secondary namenode 所在主机的IP和端口-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>server01:50090</value>
    </property>
</configuration>

  1. # 进行文件备份
  2. cp mapred-site.xml.template mapred-site.xml**
  3. # 修改mapred-site.xml文件
  4. vi mapred-site.xml

添加以下内容:

<configuration>
    <!--指定MapReduce运行时的框架,这里指定在YARN上,默认在local-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
            <name>yarn.app.mapreduce.am.env</name>
            <value>HADOOP_MAPRED_HOME=/export/servers/hadoop-3.3.3</value>
        </property>
        <property>
                <name>mapreduce.map.env</name>
                <value>HADOOP_MAPRED_HOME=/export/servers/hadoop-3.3.3</value>
        </property>
        <property>
                <name>mapreduce.reduce.env</name>
                <value>HADOOP_MAPRED_HOME=/export/servers/hadoop-3.3.3</value>
        </property>
</configuration>

  1. # 编辑文件
  2. vi yarn-site.xml

添加以下内容

<configuration>
    <!--指定YARN集群的管理者(ResourceManager)的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

  1. # 修改slaves文件
  2. # 将文件中的localhost删除,添加主节点和子节点的主机名称
  3. # 主节点master,子节点server01,server02
  4. vi workers # hadoop3.x不使用slaves了

 

7.格式化并启动节点

  1. # master上格式化节点
  2. hdfs namenode -format

报错,发现没有设置用户

编辑资源文件

  1. # 编辑资源文件
  2. vi ~/.bash_profile

添加以下内容

  1. export HADOOP_HOME=/export/servers/hadoop-3.3.3
  2. export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  3. export HDFS_NAMENODE_USER=root
  4. export HDFS_DATANODE_USER=root
  5. export HDFS_JOURNALNODE_USER=root
  6. export HDFS_SECONDARYNAMENODE_USER=root
  7. export YARN_RESOURCEMANAGER_USER=root
  8. export YARN_NODEMANAGER_USER=root

 保存后更新资源文件

 

  1. # 查看启动情况
  2. jps

问题解决:

【发现子节点没有datanode】

  1. # 停止所有集群
  2. stop-all.sh

【重新格式化集群】

  1. # 删除$HADOOP_HOME下的tmp目录下的所有文件
  2. # 删除logs下的所有文件
  3. 【三台机器,只有master有tmp目录】

再次格式化就行

8.Linux里查看

在web中检查

【虚拟机中使用火狐浏览器】

在浏览器地址栏中输入http://master:9870/,检查NameNode和DataNode是否正常;【3.0.0之前使用50070端口】

在浏览器地址栏中输入http://master:8088/,检查YARN是否正常

10.windows里查看

去C:\Windows\System32\drivers\etc

管理员方式打开hosts文件

添加

192.168.50.160 master

192.168.50.161 server01

192.168.50.162 server02

然后在浏览器中输入上面的网址

11.运行实例检查

  1. cd hadoop-3.3.3/share/hadoop/mapreduce/
  2. hadoop jar hadoop-mapreduce-examples-3.3.3.jar pi 10 10

【好了之后一定要快照!!!避免重新安装!!】

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/752091
推荐阅读
相关标签
  

闽ICP备14008679号