Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2

以下仅为Hadoop本地环境搭建:

一、准备工具包:

1、下载jdk,官方地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html

Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2_第1张图片

 

2、下载hadoop包,地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.8.3/(其中src是源码包,未编译的,直接下载已编译的tar.gz包)

 

Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2_第2张图片

二、配置jdk环境和hadoop环境

 

1,jdk环境:在usr目录下新建java文件夹:mkdir /url/java

 

2,编辑环境变量: vi /etc/profile  

在结尾加上:

export JAVA_HOME=/usr/java/jdk-12.0.2
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

 

3,编辑完成后保存退出:!wq ,重新启动配置文件:source /etc/profile

 

4,输入验证是否配置成功:java version  (成功如下)

 

5,hadoop环境:在home目录下新建myHadoop文件夹:mkdir /home/myHadoop

 

6,解压hadoop压缩包到myHadoop中:tar -zxvf hadoop-2.8.3.tar.gz -C /myHadoop

 

7,解压完hadoop包后配置java环境,进入环境文件:vi ./myHadoop/hadoop-2.8.3/etc/hadoop/hadoop-env.sh

结尾添加java路径:export JAVA_HOME=/usr/java/jdk-12.0.2

 

三、配置hadoop配置文件:进入目录(/home/myHadoop/hadoop-2.8.3/etc/hadoop/)下对以下四个配置文件进行相应配置

1,配置core-site.xml(添加NameNode的地址和临时配置文件的配置信息):vi core-site.xml

         
              fs.defaultFS
              hdfs://localhost:9000
         

       
              hadoop.tmp.dir
              /home/myHadoop/tmp
         

因为我配置的hostname是localhost,所以写的是localhost,以方便映射地址

修改hostname映射关系:注释前面两个,以防止其他端口会映射到前面的地址去,192.168.6.66是我配置nat网络的固定地址

修改后,输入命令重新加载网络使得修改生效:/etc/init.d/network restart

Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2_第3张图片

 

2,配置hdfs-site.xml(配置HDFS副本的数量,在单独一个datanode上运行):vi hdfs-site.xml

 

       
            dfs.replication
            1
       

 

3,配置mapred-site.xml (配置mapreduce运行在yarn上):vi mapred-site.xml 

配置文件里面是没有mapred-site.xml文件的,

所以需要把 mapred-site.xml.template复制一份并重命名为 mapred-site.xml:mv mapred-site.xml.template  mapred-site.xml

 

       
            mapreduce.framework.name
            yarn
       

 

4,配置yarn-site.xml(配置ResourceManager的地址和reducer获取数据的方式):vi yarn-site.xml

 

       
              yarn.resourcemanager.hostname
              localhost
       


       
              yarn.nodemanager.aux-services
              mapreduce_shuffle
       

 

5,关闭防火墙:(针对系统默认防火墙-firewall)

(1)查看防火墙状态:firewall-cmd --state

(2)停止防火墙:systemctl stop firewalld.service 

(3)禁止开机自启动:systemctl disable firewalld.service

(4)重启防火墙:firewall-cmd --reload

(5)打开防火墙:systemctl start firewalld

 

6,关闭selinux:进入--vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled

 

以上配置完成后,开始准备运行hadoop

 

四、运行hadoop服务

1,格式化hdfs:先去到hadoop包的bin目录下运行: ./hdfs namenode -format

格式化成功信息:

Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2_第4张图片

 

2,启动测试hdfs:去到hadoop包的sbin目录下运行:./start-all.sh  

或者在当前目录下直接运行:../sbin/start-all.sh 

运行后将一个个启动hadoop的5个服务,且需要输入密码,解决方案如下:

本地模式自动配置ssh免密登录配置如下:

(1)安装openSSH包:yum install openssh-server

(2)安装完成后,执行 以下安装命令  生成秘钥文件 :  ssh-keygen -t rsa,弹出需要enter的地方一直点击enter键即可,成功生成信息如下:

Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2_第5张图片

(3)实现本地登录免密码登录,运行:cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

 

3,配置ssh后,下次启动hdfs,则不必再输入密码,运行jps,即可看到运行的5个服务如下:

Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2_第6张图片

 

4,访问地址:192.168.6.66:50070,成功如下:

Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2_第7张图片

 

5,访问地址:192.168.6.66:8088,成功如下:

Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2_第8张图片

 

五,注意点

1,输入netstat -lntp|grep java  ,即可查看所有java服务的开放端口(红框处是映射为配置的hostname对应的地址,若映射为127.0.0.1,可配置/etc/hosts文件,注释127.0.0.1地址,或配置其他映射地址即可成功访问)

Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2_第9张图片

 

2,dataNode 没有启动起来的原因:每一次format,namenode都会生成新的clusterID , 而datanode还是保持原来的clusterID.

提供两种解决方法如下:

(1)去到tmp/dfs/name/current/VERSION目录下 复制namenode的clusterID.用该clusterID把所有datanode节点机器中tmp/dfs/data/current/VERSION中的clusterID替换掉

Hadoop 2.8.3本地环境搭建+Centos7.6+jdk12.0.2_第10张图片

(2)直接删掉hadoop的临时文件tmp,在core-site.xml中配置的tmp文件路径,删掉该目录后,重新格式化(hadoop包的bin目录下执行命令:./hdfs namenode -format)format hdfs后即可重新生成对应的clusterID

你可能感兴趣的:(java,Linux,hadoop,centos7)