- 可在apache官网下载hadoop安装包
- 本文档hadoop版本为2.8.5,可与2.1.7版本hbase适配
- 请提前安装java环境,建议jdk1.8版本
- 本环境主机名为test01,配置在/etc/hostname中,以下内容中出现的test01,可替换为实际的hostname
安装至/usr/local/hadoop
- 解压下载的压缩包至/usr/local/hadoop
tar -xzvf hadoop-2.8.5.tar.gz
mv hadoop-2.8.5 /usr/local/hadoop
- 在/etc/profile配置环境变量并source使之生效
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 验证是否安装成功,输出以下截图内容即可
hadoop version
修改配置文件
- 在/usr/local/hadoop/下新建目录
mkdir tmp hdfs hdfs/name hdfs/data
- 在hadoop-env.sh和yarn-env.sh内追加以下命令,如已配置环境变量可不再指定
export JAVA_HOME=/usr/local/java(值根据实际情况)
- /usr/local/hadoop/etc/hadoop/core-site.xml 在configuration节点内增加内容
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://test01:9000</value><!-- test01为本机hostname,需修改为实际属性 -->
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value><!-- 该地址为修改配置文件第一步中新建的目录 -->
</property>
</configuration>
- /usr/local/hadoop/etc/hadoop/hdfs-site.xml 在configuration节点内增加内容
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hdfs/name</value><!-- 该地址为修改配置文件第一步中新建的目录 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hdfs/data</value><!-- 该地址为修改配置文件第一步中新建的目录 -->
</property>
<property>
<name>dfs.http.address</name>
<value>test01:50070</value><!-- test01为本机hostname,需修改为实际属性。该项为hadoop控制台地址 -->
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>test01:50090</value><!-- test01为本机hostname,需修改为实际属性 -->
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
- /usr/local/hadoop/etc/hadoop/yarn-site.xml 在configuration节点内增加内容
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>test01</value><!-- test01为本机hostname,需修改为实际属性 -->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>test01:8032</value><!-- test01为本机hostname,需修改为实际属性 -->
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>test01:8030</value><!-- test01为本机hostname,需修改为实际属性 -->
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>test01:8031</value><!-- test01为本机hostname,需修改为实际属性 -->
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>test01:8033</value><!-- test01为本机hostname,需修改为实际属性 -->
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>test01:8088</value><!-- test01为本机hostname,需修改为实际属性 -->
</property>
</configuration>
- 复制一份/usr/local/hadoop/etc/hadoop/mapred-site.xml.template,为mapred-site.xml
- /usr/local/hadoop/etc/hadoop/mapred-site.xml 在configuration节点内增加内容
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>test01:10020</value><!-- test01为本机hostname,需修改为实际属性 -->
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>test01:19888</value><!-- test01为本机hostname,需修改为实际属性 -->
</property>
</configuration>
- /usr/local/hadoop/etc/hadoop/slaves,单实例时保持默认配置,多实例时配置其余从节点hostname
localhost # 单实例
# =============多实例============
# test02
# test03
启动验证
- 第一次启动namenode时,需要对namenode格式化
/usr/local/hadoop/bin/hdfs namenode -format
- 启动hadoop
/usr/local/hadoop/sbin/start-dfs.sh
- 用jps查看本机java进程
在test01可以看到NameNode和SecondaryNamenode
在从节点可以看到DataNode
单实例则三者都存在
- 查看控制台,其他机器可将test01替换为ip,可看到'test01:9000' (active)的活动信息
- 启动yarn
/usr/local/hadoop/sbin/start-yarn.sh
- 用jps查看本机java进程
在test01可以看到ResourceManager
在从节点可以看到NodeManager
单实例则两者都存在