因为老忘记hadoop配置,只记得有四个文件要配置,最近要安装测试ES+Hbase,所以刚好来复习一下,留个博客免得日后忘了
hadoop 端口:9000(datanode寻找namenode)
50070(web端口)
yarn 端口 : 8088(web端口)
hadoop-env.xml:对文件的运行环境进行配置,hadoop是基于java的,所以同样需要JDK
core-site.xml:hadoop的核心配置文件,配置指定集群NameNode,设置hadoop公用变量,创建hadoop的临时目录等
hdfs-site.xml:分布式文件系统配置,包含对存储文件时的文件设置,比如副本数量。配置DataNode的本地路径,dataNode节点路径等。
yarn-site.xml:配置yarn,yarn用于管理分布式系统的CPU利用率,磁盘使用情况等。shuffle过程使用的执行器(可以使用不同的执行器,比如spark)
mapreduce-site.xml:配置数据计算框架(支持多种框架),JobTracker的主机主机端口,存储缓冲数据配置,历史服务器配置等
slaves:存储所有的主机IP
master:并不是所有的配置文件中都包含这个文件,放置NameNode节点的IP
core-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop-2.7.7/dfs/tmp</value>
<description>namenode存放数据的目录</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://guguda07:9000</value>
<description>namenode的地址</description>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
hadoop-env.sh
添加JAVA_HOME地址
export HADOOP_IDENT_STRING=$USER
export JAVA_HOME=/usr/local/jdk1.8.0_181
hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>guguda07:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>guguda08:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>文件副本数,一般指定多个,测试指定一个</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop-2.7.7/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop-2.7.7/dfs/data</value>
</property>
</configuration>
修改slaves
初始化集群
./bin/hdfs namenode -format
进入sbin目录,启动集群
./start-dfs.sh
发现虽然datanode有进程但是,web50070端口没有显示datanode
通过查找资料得到解决
给hdfs-sit.xml添加
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>
运行实例
./bin/hadoop jar /usr/local/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 1 2
yarn模式
修改mapred-site.xml文件
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>