Centos7中Hadoop的安装

    技术2025-02-01  7

    简介

    大数据指的是数据量大,并且复杂多变的数据,为处理这些问题新的技术应运而生,hadoop主要就是用于解决大数据的存储问题以及计算问题

    Hadoop是Apache基金下的分布式系统架构,其实广义上讲hadoop指的是Hadoop生态圈

    Hadoop三大发行版本:Apache、Cloudera、Hortonworks。

    Apache版本最原始(最基础)的版本,对于入门学习最好。

    Cloudera Hadoop 在大型互联网企业中用的较多,相较于Apache版本在兼容性,安全性,稳定性上有所增强。接下来要安装的就是这个版本

    必需

    安装Hadoop必须得有JDK环境,配置JDK1.8可以在这里查看:https://editor.csdn.net/md/?articleId=107078378

    安装包

    JDK安装好以后就开始我们的Hadoop,这里是下载好了安装包然后通过filezilla工具移动过去,filezilla工具的提取 链接:https://pan.baidu.com/s/1tml9-VQMklfLOhqbw0OztQ 提取码:sqfn

    然后就是我们的Hadoop,Hadoop的下载地址:https://mirror.bit.edu.cn/apache/hadoop/common/ 选择需要的版本即可


    我这里个人的: 链接:https://pan.baidu.com/s/1qFZV1j1WDSDTGQs9VBxOBQ 提取码:ksh5

    解压及配置文件的修改

    1.解压

    tar -zxvf name 我这里是tar -zxvf hadoop-2.6.0-cdh5.15.1.tar.gz

    解压完成后得到相应的文件 hadoop软件包常见目录说明 bin:hadoop客户端名单 etc/hadoop:hadoop相关的配置文件存放目录 sbin:启动hadoop相关进程的脚本 share:常用例子

    2.加入环境变量

    去/etc/profile文件,加入Hadoop的变量环境,在最后加入即可

    #Hadoop的配置 export HADOOP_HOME=/hadoop-2.6.0-cdh5.15.1/ #值为你Hadoop的路径 export PATH=$PATH:$HADOOP_HOME/bin

    然后再使用source /etc/profile命令更新一下文件

    使用hadoop version命令来检测hadoop是否安装成功

    3.修改配置文件

    去你hadoop的安装目录下的etc的hadoop中修改hadoop-env.sh文件指定jdk目录(注意是自己的)

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64

    再就是core-site.xml文件(用来被外界访问)

    <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://0.0.0.0:9000</value> </property> </configuration>

    再就是hdfs-site.xml文件(用来设置副本数量)

    <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/app/tmp</value> </property> </configuration>

    启动

    1.启动HDFS

    第一次执行的时候一定要格式化文件系统,不要重复执行: 进入bin目录 输入./hdfs namenode -format即可

    再去sbin目录下输入 ./start-dfs.sh 它会启动各种组件并验证你几波密码

    使用jps查询是否成功

    如果出现下面这种没有DataNode的情况 原因:因为./hdfs namenode -format命令会存一个current/VERSION文件,并且记录clusterID,而它本身里面有个VERSION文件,里面也记录着ID,而datanode中的current/VERSION文件中的clusterID是你上一次使用/hdfs namenode -format命令时的clusterID,就导致了它们两之间的clusterID不一致,就导致没有datanode

    解决方法:   1.先找到hdfs-site.xml文件,也就是我们上面改的配置文件中的最后一个 找到这个路径 将它下面的dfs文件夹删除 rm -rf dfs

    然后再次进到hadoop的安装目录的bin目录中使用一次./hdfs namenode -format命令

      2.替换ID 以上面的路径为例,tmp目录下有个dfs,然后进行dfs目录是这个结构 到name目录的current的VERSION文件中,复制它的ID 然后到dfs目录的data目录的current目录的VERSION文件中,将ID换成刚复制的即可

    查看

    然后就可以在我们的浏览器中通过http://192.168.0.102:50070/dfshealth.html#tab-overview来查看hadoop web页面了

    注意ip是你自己虚拟机的ip哦

    如果jps是可以的,但浏览器中访问不到,那么很有可能是防火墙没有关闭 查看防火墙状态:sudo firewall-cmd --state 关闭防火墙: sudo systemctl stop firewalld.service

    关闭后再查看即可~

    注意不使用后一定要关闭Hadoop哦(关闭命令也是在Hadoop目录的sbin中哦 ./stop-dfs.sh),下次再使用Hadoop的时候,不需要使用./hdfs namenode -format命令了~

    Processed: 0.015, SQL: 9