1. 准备工作
1.1 配置Java环境变量
1.1.1 下载
1.1.2 解压
命令:
tar -zxvf jdk-8u211-linux-x64.tar.gz -C /home/user/tools
1.1.3 配置环境变量
命令:
vim .bashrc
在.bashrc文件中添加以下内容:
export JAVA_HOME=/home/user/tools/jdk1.8.0_211
export JRE_HOME=/home/user/tools/jdk1.8.0_211/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
1.1.4 使环境变量生效
命令:
source .bashrc
注意:所有节点都要配置
1.2 配置Hadoop环境变量
修改.bashrc
文件:
export JAVA_HOME=/home/user/tools/jdk1.8.0_211
export JRE_HOME=/home/user/tools/jdk1.8.0_211/jre
export HADOOP_HOME=/home/user/tools/hadoop-2.10.1
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$HADOOP_HOME/bin
使环境变量生效,
命令:
source .bashrc
1.3 配置hostname
修改3个节点的/etc/hostname
文件,分别命名为hadoop01
、hadoop02
、hadoop03
1.4 配置hosts
修改3个节点的/etc/hosts
文件,将IP地址与hostname相对应
172.16.70.165 hadoop01
172.16.70.166 hadoop02
172.16.70.167 hadoop03
1.5 设置服务器间免密登录
1.5.1 在A服务器上生成公钥和私钥
命令:
ssh-keygen -t rsa
1.5.2 将A服务器的公钥发送到B服务器上
命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@<B服务器的IP>
1.6 创建存储目录
将一块较大的磁盘挂载到/data/
路径下,并修改/data/
目录的权限,
命令:
chown –R user:user /data
1.6.1 Hadoop临时文件目录
在全部3个节点上,在/data/
路径下,
命令:
sudo mkdir tmp
sudo chmod 777 -R tmp/
1.6.2 Hadoop日志目录
在全部3个节点上,在/data/
路径下,
命令:
sudo mkdir hadoop-logs
sudo chmod 777 -R hadoop-logs/
1.6.3 YARN日志目录
在全部3个节点上,在/data/
路径下,
命令:
sudo mkdir yarn-logs
sudo chmod 777 -R yarn-logs/
2. 安装包下载及解压
2.1 官网下载
2.2 解压
在全部3个节点上,
命令:
tar -zxvf hadoop-2.10.1.tar.gz -C /home/user/tools/hadoop-2.10.1/
3. 配置
3.1 core-site.xml文件
在主节点上,
修改~/hadoop-2.10.1/etc/hadoop/core-site.xml
文件:
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/tmp</value>
</property>
</configuration>
3.2 hadoop-env.sh脚本
在主节点上,
修改~/hadoop-2.10.1/etc/hadoop/hadoop-env.sh
脚本,添加环境变量:
export JAVA_HOME=/home/user/tools/jdk1.8.0_211(即JDK的安装路径)
export HADOOP_LOG_DIR=/data/hadoop-logs
3.3 hdfs-site.xml文件
在主节点上,
修改~/hadoop-2.10.1/etc/hadoop/hdfs-site.xml
文件:
<configuration>
<!-- 指定HDFS副本数-->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>172.16.80.21:50090</value>
</property>
</configuration>
3.4 mapred-env.sh脚本
在主节点上,
修改~/hadoop-2.10.1/etc/hadoop/mapred-env.sh
脚本,添加环境变量:
export JAVA_HOME=/home/user/tools/jdk1.8.0_211(即JDK的安装路径)
3.5 mapred-site.xml文件
在主节点上的~/hadoop-2.10.1/etc/hadoop/
路径下,
命令:
cp mapred-site.xml.template mapred-site.xml
修改mapred-site.xml
文件:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.6 yarn-env.sh脚本
在主节点上,
修改~/hadoop-2.10.1/etc/hadoop/yarn-env.sh
脚本,添加环境变量:
export JAVA_HOME=/home/user/tools/jdk1.8.0_211(即JDK的安装路径)
YARN_LOG_DIR="/data/yarn-logs"
3.7 yarn-site.xml文件
在主节点上,
修改~/hadoop-2.10.1/etc/hadoop/yarn-site.xml
文件:
<configuration>
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!-- 是否开启虚拟内存监控 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!-- 指定YARN队列的可使用的CPU核数(75%) -->
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>6</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-vcores</name>
<value>6</value>
</property>
<!-- 指定YARN队列的可使用的内存资源量(75%) -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>25600</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>8192</value>
</property>
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>1024</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>1536</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>3072</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2560M</value>
</property>
<!-- 开启日志聚合 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间(7天) -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
3.8 slaves文件
在主节点上,
修改~/hadoop-2.10.1/etc/hadoop/slaves
文件,添加其它节点的IP地址:
172.16.70.166
172.16.70.167
注意:需要删除slaves文件中原来localhost那一行
4. 复制配置文件
将配置文件复制到其它2个节点上,
命令:
scp -r /home/user/tools/hadoop-2.10.1/ 172.16.70.166:`pwd`
scp -r /home/user/tools/hadoop-2.10.1/ 172.16.70.167:`pwd`
5. 格式化文件系统
注意:此步骤仅需在第一次安装时执行
在主节点的~/hadoop-2.10.1/bin/
路径下:
命令:
./hadoop namenode -format
或
./hdfs namenode –format
6. 启动
在主节点上,在~/hadoop-2.10.1/sbin/
路径下,
命令:
./start-all.sh
7. 停止
在主节点上,在~/hadoop-2.10.1/sbin/
路径下,
命令:
./stop-all.sh
8. Web URL
- Hadoop:http://<节点IP>:50070/
- YARN:http://<节点IP>:8088/