一.hadoop的安装
1.首先是hadoop的安装包的下载,这是hadoop安装包的链接: https://pan.baidu.com/s/1Mhyto1QA-VajQxw_2rqUXw
提取码:yyds
2.hadoop的底层代码是由Java写的,所以hadoop的运行需要jdk,下面是链接:https://pan.baidu.com/s/152eFymyFeasw5px0zvFhGQ
提取码:jbsc
3.hadoop及jdk的上传
4.解压,下面是解压的命令(-C ../opt/softwares 是解压到什么路径)
5.hadoop及jdk的环境配置
(1).jdk的环境配置要先卸载虚拟机自带的jdk
(2).环境的配置
(3).环境配置情况查看
二.hadoop的配置文件
1.core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/local/soft/hadoop/data</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1</value>
</property>
</configuration>
在core-site.xml中,主要配置了两个属性:
- fs.defaultFS:指定了Hadoop默认的文件系统URL,这里将其设置为hdfs://localhost:8020,表示默认使用HDFS并连接到本地主机的8020端口。
- hadoop.tmp.dir:指定了Hadoop运行时使用的临时目录。
2.hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop1:9870</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop2:9868</value>
</property>
</configuration>
在hdfs-site.xml中,主要配置了几个属性:
- dfs.replication:指定了文件块的副本数,默认为3。
- dfs.namenode.http-address :nn web端访问地址。
- dfs.namenode.secondary.http-address: 2nn web端访问地址。
3. mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1:19888</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
</configuration>
在mapred-site.xml中,主要配置了几个属性:
- mapreduce.framework.name :指定了MapReduce框架使用的执行环境,这里设置为yarn,表示使用YARN作为资源管理器。
- mapreduce.jobhistory.address: 历史服务器端地址。
- mapreduce.jobhistory.webapp.address: 历史服务器web端地址。
- mapreduce.map.memory.mb:指定了每个Map任务允许使用的内存(以MB为单位)。
4. yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop1:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>3</value>
</property>
</configuration>
在yarn-site.xml中,主要配置了几个属性:
- yarn.nodemanager.aux-services指定了NodeManager的附加服务,这里设置为mapreduce_shuffle,表示启用MapReduce Shuffle服务。
- yarn.resourcemanager.hostname指定ResourceManager的地址。
- yarn.nodemanager.env-whitelist环境变量的继承。
- yarn.log-aggregation-enable开启日志聚集功能。
- yarn.log.server.url设置日志聚集服务器地址。
三.hadoop文件的分发及集群的启动
1.文件分发(注:其他虚拟机hadoop解压路径,要跟你建的hadoop1的解压路径一样,这样好分发文件)
2.hadoop集群的启动