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

1.环境准备

准备一台centos7的机器,去官网下载最新的安全包:下载地址
安装jkd(已安装请忽略),下载地址
个人习惯于使用rpm方式安装所以下载:
在这里插入图片描述
用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

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hdp-node-01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/hadoop-3.1.1/tmp</value>
    </property>
</configuration>

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

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop/hadoop-3.1.1/dfs/name</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop/hadoop-3.1.1/dfs/data</value>
    </property>
</configuration>

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

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hdp-node-01</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

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

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>

</configuration>

3.安装hadoop集群

把上面的机器再克隆两台,并修改ip及hostname
在这里插入图片描述
修改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
在这里插入图片描述
测试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
查看我们上传的文件:
在这里插入图片描述
启动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
在这里插入图片描述

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'

成功后会看到如下结果:
在这里插入图片描述
下载part-r-00000可以看到wordcount的结果,如果不能下载请开放对应端口或者关闭防火墙。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值