一、解压jdk和hadoop安装包
下载
通过百度网盘分享的文件:jdk-8u172-linux-x64.tar.gz
链接:https://pan.baidu.com/s/1VjhdpfyqdC7ivEBIjTn8tA
提取码:iz25
二、配置环境变量
vi /root/.bashrc
添加
#set java environment
export JAVA_HOME=/usr/local/src/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:#{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#set hadoop environment
export HADOOP_HOME=/usr/local/src/hadoop-2.6.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
三、修改Hadoop配置文件
在Hadoop解压文件夹内
cd etc/hadoop/
1.修改slaves
vi slaves
添加
slave1
slave2
2.修改hdfs-site.xml
vi hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--关注微信公众号:阿布的进击-->
<!--文件:hdfs-site.xml -->
<!--参考地址 http://hadoop.apache.org/docs/r2.6.5/-->
<configuration><property><name>dfs.namenode.secondary.http-address</name><value>master:9001</value><description>secondaryNamenode地址和端口</description></property><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/src/hadoop-2.6.1/dfs/name</value><description>保存FsImage镜像的目录,作用是存放hadoop的名称节点namenode里的metadata</description></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/src/hadoop-2.6.1/dfs/data</value><description>存放HDFS文件系统数据文件的目录,作用是存放hadoop的数据节点datanode里的多个数据块</description></property><property><name>dfs.replication</name><value>2</value><description>block块副本数,默认值3</description></property>
</configuration>
3.修改core-site.xml
vi core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--关注微信公众号:阿布的进击-->
<!--文件:core-site.xml -->
<!--参考地址 http://hadoop.apache.org/docs/r2.6.5/-->
<configuration><property><name>fs.defaultFS</name><value>hdfs://master:9000</value><description>用来指定默认的文件系统</description></property><property><name>hadoop.tmp.dir</name><value>file:/usr/local/src/hadoop-2.6.1/tmp</value><description>hadoop临时文件存放目录</description></property>
</configuration>
4.修改yarn-site.xml
vi yarn-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--关注微信公众号:阿布的进击-->
<!--文件:yarn-site.xml -->
<!--参考地址 http://hadoop.apache.org/docs/r2.6.5/-->
<configuration><!--日志聚合相关--><property><name>yarn.log-aggregation-enable</name><value>true</value><description>开启日志聚合功能,开启后日志保存在hdfs上</description></property><property><name>yarn.log-aggregation.retain-seconds</name><value>86400</value><description>聚合后的日志在hdfs上的保存时间,单位为秒</description></property><property><name>yarn.log.server.url</name><value>http://master:19888/jobhistory/logs</value><description>日志聚合服务器URL</description></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value><description>NodeManager上运行的附属服务,需配置成mapreduce_shuffle,才可运行MapReduce程序</description></property><property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property><property><name>yarn.resourcemanager.address</name><value>master:8032</value><description>RM 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序</description></property><property><name>yarn.resourcemanager.scheduler.address</name><value>master:8030</value><description>RM 对ApplicationMaster暴露的访问地址。AM通过该地址向RM申请资源、释放资源</description></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>master:8035</value><description>RM 对NodeManager暴露的地址,NM通过该地址向RM汇报心跳,领取任务</description></property><property><name>yarn.resourcemanager.admin.address</name><value>master:8033</value><description>RM 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等</description></property><property><name>yarn.resourcemanager.webapp.address</name><value>master:8088</value><description>RM对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息</description></property><!-- 关闭虚拟内存检查--><property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value><description>是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认为true</description></property><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value><description>是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true</description></property>
</configuration>
5.修改mapred-site.xml
vi mapred-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--关注微信公众号:阿布的进击-->
<!--文件:mapred-site.xml -->
<!--参考地址 http://hadoop.apache.org/docs/r2.6.5/-->
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value><description>指定运行mapreduce的环境是yarn</description></property><!--hadoop历史服务器--><property><name>mapreduce.jobhistory.address</name><value>master:10020</value><description>MR JobHistory服务器进程间通信地址</description></property><property><name>mapreduce.jobhistory.webapp.address</name><value>master:19888</value><description>MR JobHistory服务器的用户界面地址</description></property><property><name>mapreduce.jobhistory.done-dir</name><value>/mr-history/done</value><description>已执行完毕作业信息存储位置</description></property><property><name>mapreduce.jobhistory.intermediate-done-dir</name><value>/mr-history/tmp</value><description>正在运行的作业信息存储位置</description></property><property><name>yarn.app.mapreduce.am.staging-dir</name><value>/mr-history/hadoop-yarn/</value><description>MR作业在提交时所使用的临时目录, 是一个本地路径</description></property><property><name>mapreduce.map.memory.mb</name><value>2048</value><description>调度器为每个map task申请的内存数,各Job也可以单独指定,如果实际使用的资源量超过该值,则会被强制杀死</description></property><property><name>mapreduce.reduce.memory.mb</name><value>2048</value><description>调度器为每个reduce task申请的内存数,同map task,超出强制杀死</description></property><property><name>mapreduce.job.reduce.slowstart.completedmaps</name><value>0.8</value><description>当map task完成80%时,为reduce申请资源,reduce开始进行拷贝map结果数据和做reduce shuffle操作,默认0.05</description></property>
</configuration>
6.修改hadoop-env.sh
vim hadoop-env.sh
# 添加
export JAVA_HOME=/usr/local/src/jdk1.8.0_181
7.修改yarn-env.sh
vim yarn-env.sh
# 添加
export JAVA_HOME=/usr/local/src/jdk1.8.0_181
8.创建文件夹
cd …/…/
mkdir -p dfs/data
mkdir -p dfs/name
mkdir tmp
检验配置
# 刷新配置文件
source /root/.bashrc
# 验证jdk
java -version
# 验证Hadoop
echo $HADOOP_HOME