1.hadoop下载地址
2.上传解压
bin目录是启动脚本
etc是配置文件
share是一些jar包依赖引入路径为/root/myInstall/hadoop/hadoop-2.6.5/share/hadoop/hdfs/lib
3.修改配置文件
3.1修改hadoop-env.sh的jdk环境变量
[root@master hadoop]# vim hadoop-env.sh
添加java的环境变量:
export JAVA_HOME=/root/mySoftWare/jdk1.8/jdk1.8.0_11
3.2修改core-site.xml
[root@master hadoop]# vim core-site.xml
在<configuration>中添加如下属性:
nameNode配置
fs.defaultFS参数配置的是HDFS的地址,nameNode的地址
<property>
<name>fs.defaultFS</name>
<value>hdfs://msater:9000</value>
</property>
临时工作数据目录
hadoop.tmp.dir配置的是Hadoop临时目录,比如HDFS的NameNode数据默认都存放这个目录下,默认的hadoop.tmp.dir是/tmp/hadoop-${user.name},此时有个问题就是NameNode会将HDFS的元数据存储在这个/tmp目录下,如果操作系统重启了系统会清空/tmp目录下的东西,导致NameNode元数据丢失,是个非常严重的问题,所以我们应该修改这个路径。
<property>
<name>hadoop.tmp.dir</name>
<value>/root/myInstall/hadoop/hadoopTempDir</value>
</property>
3.3修改hdfs-site.xml
[root@master hadoop]# vim hdfs-site.xml
添加副本备份数量,默认是值是3
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
3.4修改mapred-site.xml
[root@master hadoop]# mv mapred-site.xml.template mapred-site.xml
[root@master hadoop]# vim mapred-site.xml
指定yarn去集群上跑,默认值是local,单机跑
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.5修改yarn-site.xml
[root@master hadoop]# vim yarn-site.xml
指定yarn的老大(ResourceManager)地址
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
reducer获取数据的方式
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapruduce_shuffle</value>
</property>
3.6环境变量的配置
[root@master hadoop-2.6.5]# vim /etc/profile
export HADOOP_HOME=/root/myInstall/hadoop/hadoop-2.6.5
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
生效配置文件
[root@master hadoop-2.6.5]# source /etc/profile
3.7scp分发到各个安装节点
[root@master hadoop]# scp -r hadoop-2.6.5 root@slave1:/root/myInstall/hadoop
[root@master hadoop]# scp -r hadoop-2.6.5 root@slave2:/root/myInstall/hadoop
[root@master hadoop]# scp -r hadoop-2.6.5 root@slave3:/root/myInstall/hadoop
4.启动集群
4.1格式化nameNode
[root@master hadoop]# hdfs namenode -format
如果成功,现出截图如下,临时工作目录,见下图:
至此,nameNode格式化成功。
1.fsimage是NameNode元数据在内存满了后,持久化保存到的文件。
2.fsimage*.md5 是校验文件,用于校验fsimage的完整性。
3.seen_txid 是hadoop的版本
4.vession文件里保存:
namespaceID:NameNode的唯一ID。
clusterID:集群ID,NameNode和DataNode的集群ID应该一致,表明是一个集群。
[root@master current]# cat VERSION
#Tue Oct 02 22:03:59 CST 2018
namespaceID=2105434578
clusterID=CID-522314a3-35b1-4271-a8b4-60a5c2b79603
cTime=0
storageType=NAME_NODE
blockpoolID=BP-1582233753-192.168.206.150-1538475000823
layoutVersion=-60
4.2启动naneNode
切换到sbin目录,启动用脚本hadoop-daemon.sh 启动namenode,查看是否成功。
[root@master sbin]# hadoop-daemon.sh start namenode
starting namenode, logging to /root/myInstall/hadoop/hadoop-2.6.5/logs/hadoop-root-namenode-master.out
[root@master sbin]# jps
3457 NameNode
3487 Jps
查看name端口默认地址:http://master:50070
可以看到内容都是空的
4.3启动namenode
[root@slave1 logs]# hadoop-daemon.sh start datanode
starting datanode, logging to /root/myInstall/hadoop/hadoop-2.6.5/logs/hadoop-root-datanode-slave1.out
[root@slave1 logs]# jps
4053 DataNode
4127 Jps
再次查看datanode
节点查看
至此hadoop集群搭建完成!