如何使用Centos Mini版配置hadoop环境
基础准备

  1. 安装基础命令
    yum intall ifconfig
    根据提示安装yum install tool…
    安装vim yum install vim
  2. 配置静态ip
    a) 进入到网卡配置目录 cd /etc/sysconfig/network-scripts/
    b) 查看网卡信息和名称 ifconfig

    c) 进入ifcfg-ens33,配置如下

TYPE=“Ethernet”
PROXY_METHOD=“none”
BROWSER_ONLY=“no”
BOOTPROTO=“static” #标注为静态
IPADDR=192.168.241.201 #ip地址
NETMASK=255.255.255.0
GATEWAY=192.168.241.2 #网关
DEFROUTE=“yes”
IPV4_FAILURE_FATAL=“no”
IPV6INIT=“yes”
IPV6_AUTOCONF=“yes”
IPV6_DEFROUTE=“yes”
IPV6_FAILURE_FATAL=“no”
IPV6_ADDR_GEN_MODE=“stable-privacy”
NAME=“ens33”
UUID=“41f55b52-3010-458a-92c6-f8f5341d754b”
DEVICE=“ens33”
ONBOOT=“yes”
IPV6_PRIVACY=“no”
d) 添加dns服务器 vim /etc/resolv.conf
添加如下信息
nameserver 114.114.114.114
nameserver 114.114.114.115 nameserver大家可以去百度的。阿里,腾讯,谷歌都有的。
e) 重启网卡服务 systemctl restart network
3. openssh-server 准备,openssh是为了方便x-shell连接虚拟机的。
4. 修改主机名 vim /etc/hostname ps:修改成有规律的,方便搭集群
5. 配置hosts文件,这里就是配置dns域名解析,将其他节点的ip地址映射成相应的别名
a) Vim /etc/hosts

再centos上搭建ipxe_xml


6. 关闭防火墙 systemctl stop firewalld.service

禁止开机启动:systemctl disable firewalld.service

7. 关闭Selinux:vim /etc/selinux/config

再centos上搭建ipxe_hadoop_02


8. ssh免密登陆

ssh-keygen -t rsa 一路回车

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

可用ssh localhost进行测试

9. ntp 时间同步准备

a) 安装ntp:yum intall –y ntp

b) 设置ntp开机自动启动

systemctl enable ntpd.service

**配置java环境**
  1. oracle官网下载jdk-8u202-linux-x64.tar.gz
  2. 在/opt下面新建java文件夹,mkdir java
  3. 利用winScp上传到centos的/opt/java
  4. 解压到当前目录 tar -zxvf jdk-8u202-linux-x64.tar.gz
  5. 重命名 mv jdk1.8.0_202/ jdk8
  6. 配置环境变量,vim /etc/profile,在文件末尾加上
    JAVA_HOME= /opt/java/jdk8
    export PATH=再centos上搭建ipxe_xml_03JAVA_HOME/bin

wq保存后,执行source /etc/profile
输入java命令测试是否配置成功

基础配置Hadoop

  1. 官网下载稳定版本Hadoop2.9
  2. 在/opt下mkdir hadoop
  3. 上传到/opt/hadoop
  4. 解压 tar -zxvf hadoop-2.9.2.tar.gz
  5. 重命名 mv hadoop-2.9.2 hadoop2.9
  6. cd hadoop2.9,进入到hadoop目录
    vim etc/hadoop/hadoop-env.sh
    在此处填上配置的java_home路径

    保存退出
  7. ./bin/hadoop version测试是否配置成功
  8. 配置hadoop环境变量
    vim /etc//profile
    在末行添加如下信息:
    export PATH=再centos上搭建ipxe_xml_03JAVA_HOME/bin
    HADOOP_HOME=/opt/hadoop/hadoop2.9
    export PATH=再centos上搭建ipxe_xml_03HADOOP_HOME/bin
    export PATH=再centos上搭建ipxe_xml_03HADOOP_HOME/sbin
    保存退出,source /etc/profile
    测试是否配置成功

伪分布式hadoop

  1. 修改vim etc/hadoop/core-site.xml


    hadoop.temp.dir
    file:/opt/hadoop/hadoop2.9/tmp
    Abase for other temporary directories.


    fs.defaultFS
    hdfs://hadoop201:9000


    注意,这里的hadoop201是你自己的主机名,可以直接为localhost
  2. 修改vim etc/hadoop/hdfs-site.xml


    dfs.replication
    1


    dfs.namenode.name.dir
    file:/opt/hadoop/hadoop2.9/tmp/dfs/name


    dfs.datanode.data.dir
    file:/opt/hadoop/hadoop2.9/tmp/dfs/data
  3. 格式化namenode
    hdfs namenode –format
  4. 启动namenode
    hadoop-daemon.sh start namenode
  5. 查看进程
  6. 进入hadoop201:50070查看hadoop web界面
    a) 这里需要配置windows域名解析
    进入C:\Windows\System32\drivers\etc
    编辑hosts文件
    在末尾加入 192.168.241.201 hadoop201,配置成功
    完全分布式hadoop
    删除$HADOOP_HOME目录下的logs、tmp文件,或者也可以直接删除hadoop2.9,重新解压
  7. 这里准备三台客户机
    克隆两台主机
  8. 由于是克隆的原先配置好jdk的主机,客机就不用配置jdk,直接配置hadoop集群
  9. 配置主机名,静态ip,不要重合,我分别配置的hadoop201、hadoop202、hadoop203,
    静态ip和主机名一样结尾,配置主机名,hadoop201,hadoop202,hadoop203,由于上文已经说明如何配置,此处省略,配置dns映射
    192.168.241.201 hadoop201
    192.168.241.202 hadoop202
    192.168.241.203 hadoop203
    编写同步更新脚本
    在~目录下创建bin文件夹
    在~/bin下创建脚本文件 update

    在里面编写如下
    #!/bin/bash
    pcount=$#
    if [ $pcount = 0 ];
    then
    echo no args
    exit
    fi
    #2 获取文件名称
    p1=$1
    fname=basename $p1 echo fname=$fname
    #3 获取上机目录到决定路径
    pdir=cd -P $(dirname $p1); pwd echo pdir=KaTeX parse error: Expected 'EOF', got '#' at position 6: pdir #̲4 获取当前用户名称 user…host------------
    rsync -rvl 再centos上搭建ipxe_vim_07fname 再centos上搭建ipxe_vim_08host:$pdir
    done
    修改文件权限 chmod 777 update
  10. 配置环境变量
    export PATH=$PATH:~/bin
  11. 执行命令
  12. 按照如下进行配置
  13. Hadoop201中的hadoop-env.sh配置JAVA_HOME
  14. 在hadoop201配置core-site.xml


    hadoop.temp.dir
    file:/opt/hadoop/hadoop2.9/tmp
    Abase for other temporary directories.


    fs.defaultFS
    hdfs://hadoop201:9000
  15. 配置hdfs-site.xml


    dfs.namenode.secondary.http-address
    hadoop203:50090
  16. YARN配置文件
    配置yarn-env.sh

配置yarn-site.xml

<property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
    </property>
    <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>hadoop202</value>
    </property>

11. MapReduce配置文件 vim etc/hadoop/mapred-env.sh配置 ![在这里插入图片描述]() cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapre-site.xml vim etc/hadoop/mapre-site.xml 在文件中编辑,指定MR运行在yarn上 mapreduce.framework.name yarn 12. 在主机和客机中安装rsync命令 yum install rsync 13. 在集群中发布配置好的hadoop配置文件 update /etc/hosts update ../hadoop2.9 14. 删除每个客户端上和主机上的data/ logs/ rm –rf data/ logs/ 15. 在hadoop201上格式化namenode hdfs namenode –format 16. 设置ssh无密码登陆:由于之前对主机进行了无密码登陆操作,克隆的客机存在主机的公钥,可以进行无密码登陆; 如果不是按照上面的操作,可以在主机上生成公私钥,将公钥copy到其他客机和自己 ssh-copy-id hadoop20* 每个客机进行一次以上操作 17. 启动(可直接跳过) hadoop-daemon.sh start namenode hadoop-daemon.sh start datanode (在每个节点上都要启动) jps 查看是否启动成功 总结:这样麻烦 18. 群起集群: vim etc/hadoop/slaves 添加如下信息,不允许空格

update etc/hadoop/slaves
关闭之前17开启的进程
hadoop-daemon.sh stop namenode等等

在hadoop201上:start-dfs.sh,启动了所有节点的namenode、datanode、secondarynamenode

在hadoop202上启动ResourceManager:start-yarn.sh

19. 检查是否配置成功

在hadoop201上:

再centos上搭建ipxe_hadoop_09


在hadoop202上:

再centos上搭建ipxe_hadoop_10


在hadoop203上:

再centos上搭建ipxe_xml_11