大数据指的是数据量大,并且复杂多变的数据,为处理这些问题新的技术应运而生,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/ 选择需要的版本即可
tar -zxvf name 我这里是tar -zxvf hadoop-2.6.0-cdh5.15.1.tar.gz
解压完成后得到相应的文件 hadoop软件包常见目录说明 bin:hadoop客户端名单 etc/hadoop:hadoop相关的配置文件存放目录 sbin:启动hadoop相关进程的脚本 share:常用例子
去/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是否安装成功
去你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>第一次执行的时候一定要格式化文件系统,不要重复执行: 进入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命令了~