1_安装JDK和Hadoop

一、解压jdk和hadoop安装包

下载

通过百度网盘分享的文件:jdk-8u172-linux-x64.tar.gz

链接:https://pan.baidu.com/s/1VjhdpfyqdC7ivEBIjTn8tA

提取码:iz25

二、配置环境变量
text 复制代码
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
text 复制代码
vi slaves

添加

text 复制代码
slave1
slave2
2.修改hdfs-site.xml

vi hdfs-site.xml

text 复制代码
<?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

text 复制代码
<?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

text 复制代码
<?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

text 复制代码
<?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

text 复制代码
# 添加
export JAVA_HOME=/usr/local/src/jdk1.8.0_181
7.修改yarn-env.sh

vim yarn-env.sh

text 复制代码
# 添加
export JAVA_HOME=/usr/local/src/jdk1.8.0_181
8.创建文件夹

cd .../.../

text 复制代码
mkdir -p dfs/data
mkdir -p dfs/name
mkdir tmp
检验配置
text 复制代码
# 刷新配置文件
source /root/.bashrc
# 验证jdk
java -version
# 验证Hadoop
echo $HADOOP_HOME

相关推荐
wjs20242 小时前
状态模式(State Pattern)
开发语言
我命由我123452 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle2 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
码字的字节2 小时前
ZooKeeper在Hadoop中的协同应用:从NameNode选主到分布式锁实现
hadoop·分布式·zookeeper·分布式锁
励志要当大牛的小白菜4 小时前
ART配对软件使用
开发语言·c++·qt·算法
武子康4 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
爱装代码的小瓶子6 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
YuTaoShao7 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
源码_V_saaskw7 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友
Maybe_ch7 小时前
.NET-键控服务依赖注入
开发语言·c#·.net