任务描述
知识点:
重? 点:
内? 容:
任务指导
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。任务主要内容:下载安装Hadoop包,配置环境变量,配置Hadoop集群
1. 创建Hadoop目录
2. 解压Hadoop安装包
3. 创建Hadoop数据存放的目录(例如:tmp、hdfs、hdfs/data、hdfs/name等目录)
4. 配置Hadoop环境变量
5. 修改Hadoop配置文件
任务实现
[ root@master ~]# mkdir /home/hadoop
[ root@master ~]# cd /home/software/
[ root@master software ]# tar -zxvf /home/software/hadoop-2.9.2.tar.gz -C /home/hadoop/
[ root@master software ]# cd ~
[ root@master ~]# mkdir -p /home/hadoop/tmp
[ root@master ~]# mkdir -p /home/hadoop/hdfs/data
[ root@master ~]# mkdir -p /home/hadoop/hdfs/name
[ root@master ~]# vim /etc/profile
export HADOOP_HOME=/home/hadoop/hadoop-2.9.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
[ root@master ~]# source /etc/profile
[ root@master ~]# cd /home/hadoop/hadoop-2.9.2/etc/hadoop/
<configuration>
<!-- 指定NameNode的HDFS协议的文件系统通讯地址 -->
??????<property>
??????????<name>fs.defaultFS</name>
??????????<value>hdfs://master:9000</value>
??????</property>
<!-- 临时数据存放的位置 -->
??????<property>
??????????<name>hadoop.tmp.dir</name>
??????????<value>file:/home/hadoop/tmp</value>
??????</property>
<!-- 指定文件IO缓冲区的大小 -->
??????<property>
???????????<name>io.file.buffer.size</name>
???????????<value>131702</value>
???????</property>
?</configuration>
<configuration>
<!-- 指定NameNode数据存储的节点位置 -->
??????<property>
??????????<name>dfs.namenode.name.dir</name>
??????????<value>file:/home/hadoop/hdfs/name</value>
??????</property>
<!-- 指定DataNode数据存储的节点位置 -->??
??????<property>
??????????<name>dfs.datanode.data.dir</name>
??????????<value>file:/home/hadoop/hdfs/data</value>
??????</property>
<!-- 定义文件副本数 -->
??????<property>
??????????<name>dfs.replication</name>
??????????<value>2</value>
??????</property>
<!-- secondaryNameNode的访问地址 -->
???????<property>
???????????<name>dfs.namenode.secondary.http-address</name>
???????????<value>master:9001</value>
???????</property>
<!-- 是否开启WebHDFS -->
??????<property>
??????????<name>dfs.webhdfs.enabled</name>
??????????<value>true</value>
??????</property>
<!-- 是否启用hdfs权限,当值为false时,代表关闭 -->
??????<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
?</configuration>
然后开始配置/home/hadoop/hadoop-2.9.2/etc/hadoop/mapred-site.xml文件,配置内容如下:
<configuration>
<!-- 关闭hdfs权限检测 -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<!-- 配置MapReduce的jobhistory,可以查看我们所有运行完成的任务情况 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<!-- 指定job.tracker运行地址 默认在本地-->
<property>
<name>mapreduce.job.tracker</name>
<value>hdfs://master:8001</value>
<final>true</final>
</property>
</configuration>
<configuration>
<!-- 配置节点管理器上运行的附加服务 -->
???????<property>
???????????<name>yarn.nodemanager.aux-services</name>
???????????<value>mapreduce_shuffle</value>
???????</property>
<!-- MapReduce运行需要设置的shuffle服务 -->
???????<property>
???????????<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
???????????<value>org.apache.hadoop.mapred.ShuffleHandler</value>
???????</property>
<!-- 指定ResourceManager运行在哪台机器上面 -->
???????<property>
???????????<name>yarn.resourcemanager.address</name>
???????????<value>master:8032</value>
???????</property>
<!-- 设置Yarn可使用的物理内存总量 -->
???????<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
</configuration>
1)输入【vim? hadoop-env.sh】打开准备修改的配置文件hadoop-env.sh,加入JAVA_HOME环境变量。
……
#?The?java?implementation?to?use.
export?JAVA_HOME=/home/java/jdk1.8.0_221
#?The?jsvc?implementation?to?use.?Jsvc?is?required?to?run?secure?datanodes
#?that?bind?to?privileged?ports?to?provide?authentication?of?data?transfer
#?protocol.??Jsvc?is?not?required?if?SASL?is?configured?for?authentication?of
#?data?transfer?protocol?using?non-privileged?ports.
#export?JSVC_HOME=${JSVC_HOME}
export?HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}
……
2)输入【vim? yarn-env.sh】打开准备修改的配置文件修改配置文件yarn-env.sh,加入JAVA_HOME环境变量。
……
#?User?for?YARN?daemons
export?HADOOP_YARN_USER=${HADOOP_YARN_USER:-yarn}
#?resolve?links?-?$0?may?be?a?softlink
export?YARN_CONF_DIR="${YARN_CONF_DIR:-$HADOOP_YARN_HOME/conf}"
#?some?Java?parameters
export?JAVA_HOME=/home/java/jdk1.8.0_221
……
3)输入【vim? mapred-env.sh】打开准备修改的配置文件mapred-env.sh,加入JAVA_HOME环境变量。
……
#?See?the?License?for?the?specific?language?governing?permissions?and
#?limitations?under?the?License.
export?JAVA_HOME=/home/java/jdk1.8.0_221
export?HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
export?HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA
#export?HADOOP_JOB_HISTORYSERVER_OPTS=
……
slave1
slave2
[ root@master hadoop ]# scp -rq /home/hadoop/ root@slave1:/home/
[ root@master hadoop ]# scp -rq /home/hadoop/ root@slave2:/home/
[ root@master hadoop ]# scp -rq /etc/profile root@slave1:/etc/profile
[ root@master hadoop ]# scp -rq /etc/profile root@slave2:/etc/profile
[ root@master ~]# source /etc/profile