最新版最小化CentOS7下搭建最新版的hadoop3.1.1精简配置环境及测试wordcount

1.环境准备

准备一台centos7的机器,去官网下载最新的安全包:下载地址
安装jkd(已安装请忽略),下载地址
个人习惯于使用rpm方式安装所以下载:
最新版最小化CentOS7下搭建最新版的hadoop3.1.1精简配置环境及测试wordcount_第1张图片
用root账户登录,安装JKD:

rpm -ivh jdk-8u192-linux-x64.rpm

创建hadoop用户并设置密码:

adduser hadoop
passwd hadoop

把hadoop用户加入到hadoop用户组:

sudo usermod -G hadoop hadoop 

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行:

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
hadoop  ALL=(ALL)     NOPASSWD: ALL

用户hadoop用户登录
修改hostname:

sudo vi /etc/hostname

我把hostname改成了hdp-node-01
改hosts与固定IP

sudo vi /etc/hosts

我这里打算安装三台,所以hosts文件修改成:

192.168.128.128 hdp-node-01
192.168.128.129 hdp-node-02
192.168.128.130 hdp-node-03

修改固定IP:

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改或者添加红色内容:
TYPE=“Ethernet”
PROXY_METHOD=“none”
BROWSER_ONLY=“no”
BOOTPROTO=“static”
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=“27b8fada-4028-40fe-b7fa-3703dc75e407”
DEVICE=“ens33”
ONBOOT=“yes”
#查要改成的ip地址
IPADDR=192.168.128.128
NETMASK=255.255.255.0
#不通过网络控制器管理
NM_CONTROLLED=no
#对应的网关请从虚拟机上查看
GATEWAY=192.168.128.2

最后修改DNS域名解析的配置文件:

sudo vi /etc/resolv.conf

修改成

对应的网关 nameserver 192.168.128.2

设置防火墙对指定IP开放所以端口:

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.128.128" accept'

把我需要的三个IP都执行一遍
在opt目录下新建hadoop目录,把相关hadoop软件都安装到些目录,并修改所属用户和用户组:

sudo chown hadoop:hadoop hadoop

2.安装hadoop

把hadooop安装包在/opt/hadoop下面解压:

tar -xzvf hadoop-3.1.1.tar.gz

在/opt/hadoop/hadoop-3.1.1目录下创建hadoop需要的配置的目录:

mkdir -p tmp var dfs/name dfs/data

修改工作节点:

 vi etc/hadoop/workers

新加工作节点:

hdp-node-01
hdp-node-02
hdp-node-03
配置环境变量:

sudo vi /etc/profile

添加以下:

export HADOOP_HOME=/opt/hadoop/hadoop-3.1.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

修改hadoop环境配置:

vi etc/hadoop/hadoop-env.sh

添加:

export JAVA_HOME=/usr/java/jdk1.8.0_192-amd64
#可不加
# export HADOOP_HOME=/opt/hadoop/hadoop-3.1.1
# export HDFS_NAMENODE_USER=hadoop
# export HDFS_DATANODE_USER=hadoop
# export HDFS_SECONDARYNAMENODE_USER=hadoop
# export YARN_RESOURCEMANAGER_USER=hadoop
# export YARN_NODEMANAGER_USER=hadoop

修改core-site.xml
vi etc/hadoop/core-site.xml


    
        fs.defaultFS
        hdfs://hdp-node-01:9000
    
    
        hadoop.tmp.dir
        /opt/hadoop/hadoop-3.1.1/tmp
    

修改hdfs-site.xml
vi etc/hadoop/hdfs-site.xml


    
        dfs.namenode.name.dir
        /opt/hadoop/hadoop-3.1.1/dfs/name
    
    
        dfs.replication
        2
    
    
        dfs.datanode.data.dir
        /opt/hadoop/hadoop-3.1.1/dfs/data
    

修改yarn-site.xml文件
vi etc/hadoop/yarn-site.xml


    
        yarn.resourcemanager.hostname
        hdp-node-01
    
    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    

修改mapred-site.xml文件
vi etc/hadoop/mapred-site.xml


    
        mapreduce.framework.name
        yarn
    
    
        yarn.app.mapreduce.am.env
        HADOOP_MAPRED_HOME=${HADOOP_HOME}
    
    
        mapreduce.map.env
        HADOOP_MAPRED_HOME=${HADOOP_HOME}
    
    
        mapreduce.reduce.env
        HADOOP_MAPRED_HOME=${HADOOP_HOME}
    


3.安装hadoop集群

把上面的机器再克隆两台,并修改ip及hostname
最新版最小化CentOS7下搭建最新版的hadoop3.1.1精简配置环境及测试wordcount_第2张图片
修改ip

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

修改hostname

vi /etc/hostname

三台机器间配置ssh免密码登录:
每台机器上都执行以下命令:

ssh-keygen

执行后一路回车即可,然后依次执行(本机也要配置ssh登录本机):

ssh-copy-id hdp-node-01
ssh-copy-id hdp-node-02
ssh-copy-id hdp-node-03

4.启动集群

初始化HDFS
在hdp-node-01的hadoop安装目录上执行:

bin/hadoop  namenode  -format

启动HDFS:

sbin/start-dfs.sh

防火墙开放9870端口

 sudo firewall-cmd --zone=public --remove-port=9870/tcp --permanent
 sudo firewall-cmd --complete-reload

测试HDFS,访问页面:http://hdp-node-01:9870
最新版最小化CentOS7下搭建最新版的hadoop3.1.1精简配置环境及测试wordcount_第3张图片
测试HDFS:
新建目录: hadoop fs -mkdir -p /wordcount/input
上传文件:hadoop fs -put /opt/hadoop/hadoop-3.1.1/logs/hadoop-hadoop-namenode-hdp-node-01.log /wordcount/input
查看我们上传的文件:
最新版最小化CentOS7下搭建最新版的hadoop3.1.1精简配置环境及测试wordcount_第4张图片
启动yarn

sbin/start-yarn.sh

需要放开对应端口:

sudo firewall-cmd --zone=public --add-port=8088/tcp --permanent
sudo firewall-cmd --complete-reload

访问:http://hdp-node-01:8088
最新版最小化CentOS7下搭建最新版的hadoop3.1.1精简配置环境及测试wordcount_第5张图片

5.测试wordcount

执行自带example中的wordcount命令

hadoop jar /opt/hadoop/hadoop-3.1.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount /wordcount/input /output

如果中间出现连接问题,请直接关闭防火墙或者设置集群间能相互访问

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.128.128" accept'

成功后会看到如下结果:
最新版最小化CentOS7下搭建最新版的hadoop3.1.1精简配置环境及测试wordcount_第6张图片
下载part-r-00000可以看到wordcount的结果,如果不能下载请开放对应端口或者关闭防火墙。

你可能感兴趣的:(hadoop)