在近期大数据的学习过程中,我们接触了很多关于Hadoop的理论和操作性的知识点,尤其在近期学习的Hadoop集群的搭建问题上,小细节,小难点拼频频出现,所以,今天集中总结以下笔记,希望对各位同学有所帮助。ps:以下不涉及完全分布式,只说明单机版和伪分布式。
一、hadoop本地模式和伪分布式模式之间的区别
1.单机(非分布式)模式。这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统。
2.伪分布式运行模式。这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中的各类结点: (NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode)。请注意分布式运行中的这几个结点的区别:从分布式存储的角度来说,集群中的结点由一个NameNode和若干个DataNode组成,另有一个SecondaryNameNode作为NameNode的备份;从分布式应用的角度来说,集群中的结点由一个JobTracker和若干个TaskTracker组成,JobTracker负责任务的调度,TaskTracker负责并行执行任务。TaskTracker必须运行在DataNode上,这样便于数据的本地计算。JobTracker和NameNode则无须在同一台机器上。一个机器上,既当namenode,又当datanode,或者说既是jobtracker,又是tasktracker。没有所谓的在多台机器上进行真正的分布式计算,故称为"伪分布式"。
二,hadoop本地模式的搭建
1.首先需要一台客户机。
2.安装jdk。
1)首先在客户机根目录root文件夹下建立tools文件夹:root> mkdir tools。
2)用远程连接工具连接客户机,拖拽压缩包到客户机 root/tools/目录下
3) 解压jdk到/etc/local下:tar -zxvf jdk-8u152-linux-x64.tar.gz -C /usr/local/
3.安装hadoop
1) 拖拽压缩包到客户机root/rools 目录下。
2)解压hadoop到etc/local/下:tar -zxvf hadoop-2.7.2.tar.gz -C /usr/local/。
4.配置环境变量
hadoop> vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_152
export HADOOP_HOME=/usr/local/hadoop-2.7.2/
export CLASSPATH=.;JAVA_HOME/lib/dt.jar;JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bi
PATH;HADOOP_HOME/bin;
HADOOP_HOME/sbin/;
5. hadoop version
java –version。以上两项,都能正常显示除版本号,即为环境搭建成功,以上步骤为本地模式搭建成功!
三,hadoop伪分布式模式的搭建(以上五步到配置环境搭建成功为基础)
1..配置集群
1)配置:hadoop-env.sh。Linux 系统中获取jdk 的安装路径:/usr/local/jdk1.8.0_15并修改JAVA_HOME 路径为:export JAVA_HOME=/opt/module/jdk1.8.0_144
2)配置:core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
<!-- 指定hadoop 运行时产生文件的存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
3)配置:hdfs-site.xml
<!-- 指定HDFS 副本的数量-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
4)启动集群。格式化namenode(第一次启动时格式化,以后就不要总格式化) [qianfeng@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode –format。启动namenode。[qianfeng@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode。启动datanode。[qianfeng@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode
5)查看集群是否成功。[qianfeng@hadoop101 hadoop-2.7.2]$ jps。13586 NameNode。13668 DataNode。13786 Jps。//正常应该启动这三个进程
6)查看产生的log日志。当前目录:/usr/local/hadoop-2.7.2/logs>ls。
hadoop-qianfeng-datanode-hadoop.qianfeng.com.log
hadoop-qianfeng-datanode-hadoop.qianfeng.com.out
hadoop-qianfeng-namenode-hadoop.qianfeng.com.log
hadoop-qianfeng-namenode-hadoop.qianfeng.com.out
SecurityAuth-root.audit
cat hadoop-qianfeng-datanode-hadoop101.log
以上步骤即为伪分布式搭建成功!