Hadoop入门配置Linux问题

1. 我们需要对每一台Hadoop虚拟机 进行IP编号

理由如下:

  1. 个人理解,无非就是方便

  2. 集群扩很容易造成异常。hadoop集群配置中,许多地方使用了host配置,但是当前大部分应用都是通过集群/etc/hosts方式来实现名字解析。如果遇到集群扩容,需要进行hosts同步,经常出现遗漏或错误情况。

  3. 解决上述问题一种方式是可以使用内部DNS来解决,但又引入了DNS维护。

  4. 尝试取消对host依赖,配置中全部使用IP方式

2. 配置机器IP

  1. 在主机上配置配置vmnet8

  2. 设置虚拟机默认网关
    图片说明

    子网跟vmnet8同一网段
    图片说明

  3. 切换系统用户[权限] 修改/etc/network/interfaces 文件
    图片说明

    auto ens33
    iface ens33 inet static
    address 192.168.47.101
    netmask 255.255.255.0
    gateway 192.168.47.2     # 网关
    dns-nameservers 192.168.47.2 114.114.114.114 
    # 选网关地址 DNS说白了是把域名翻译成IP地址用的 然后重启 ,在这里的设置的话 不推荐用网关【配置的时候不用网关来配置】
  4. 一张网卡配置一个mac地址 通过ifconfig 查看

    00:0C:29:55:51:03
  5. vim /etc/resolv.conf <==resolv注意别拼错 另外说明一点就是该文件在一些情况下会被初始化【暂时不配置】

  6. vim /etc/NetworkManager/NetworkManager.conf
    如果你手工改过/etc/network/interfaces,系统会自己把这行改成:managed=false
    需要将managed=false设置成managed=true

  7. 修改主机ip地址
    vim /etc/hostname
    图片说明

  8. 修改该主机信息文件vim /etc/hosts : 可以给后面进行系统检验
    图片说明

  9. 网卡重启 + 虚拟机重启

    sudo ifdown -a
    sudo ifup -a,
    或者 推荐用下面的方法
    sudo nmcli networking off
    sudo nmcli networking on
  10. 验证【如果连接不了网络 请初始化虚拟机默认网关并配置】

【在评论区有一些连接 大家有需要可以看看,包括虚拟机网络问题排查】

2. 安装JDK

  1. 在window电脑上下载安装包,利用xshell软件,传输java8安装包到Linux。
  2. 解压
    tar -zxvf jdk -C /opt/module
  3. 配置环境变量vim /etc/profile
    vim /etc/profile
    ##JAva_Home
    export JAVA_HOME=/opt/module/jdk1.8.0_241
    export PATH=$PATH:$JAVA_HOME/bin
  4. 验证
    source /etc/profile
    图片说明

3. 安装Hadoop

  1. 安装 同jdk安装

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

    ##Hadoop_Home
    export HADOOP_HOME=/opt/module/hadoop-2.10.0
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
  3. 如果重启后 java-version 这些都失效的话 输入source /etc/profile 也就是加载profile文件
    图片说明
    ||
    source /etc/profile
    \/
    图片说明

4. hadoop软件运行是否正常测试

hadoop grep 模式的作用为:提供一些文本文件, grep可以从中找到想要匹配的文本(可以是正则表达式).

  1. 创建在hadoop-2.10.0.文件下面创建一个input文件夹

    root@cznczaihadoop100:~# cd /opt/module/hadoop-2.10.0/
    root@cznczaihadoop100:/opt/module/hadoop-2.10.0# mkdir input

    图片说明

  2. 将Hadoop的xml配置文件复制到input

    root@cznczaihadoop100:/opt/module/hadoop-2.10.0# cp etc/hadoop/*.xml input

    图片说明

  3. 执行share目录下的MapReduce程序

    root@cznczaihadoop100:/opt/module/hadoop-2.10.0# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.0.jar  grep input output &#39;dfs[a-z.]+&#39;

    图片说明

    output 需要新创建 需要再次运行需要检查output是否存在 不存在才可以运行

5. 官方WordCount案例 统计单词个数

在hadoop中

  1. 运行代码

    //创建一个存放数据的文件夹
    root@cznczaihadoop100:/opt/module/hadoop-2.10.0# mkdir wcinput
    
    root@cznczaihadoop100:/opt/module/hadoop-2.10.0# cd wcinput/
    // 创建一个input文件
    root@cznczaihadoop100:/opt/module/hadoop-2.10.0/wcinput# touch wc.input
    //在wcinput文件中编写 wc.input文件
    root@cznczaihadoop100:/opt/module/hadoop-2.10.0/wcinput# vim wc.input 
    // 运行得到结果
    root@cznczaihadoop100:/opt/module/hadoop-2.10.0# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.0.jar wordcount wcinput/ wcoutput
  2. 运行效果
    图片说明

参考资料

  1. 学习视频: 尚硅谷大数据之Hadoop视频 基于视频,也优于视频。
  2. 从零开始搭建hadoop分布式集群环境:更改用户名以及ip地址
  3. 从零开始搭建hadoop分布式集群环境:配置ssh无密码登录
  4. Linux网络配置
  5. Hadoop集群搭载经历之linux配置ip
  6. 改主机名
  7. 安装JDK并搭建环境变量
  8. 重启网络
    sudo nmcli networking off
    sudo nmcli networking on
  9. 配置hadoop修改hostname配置为IP配置