安装步骤:
- 安装JDK
- 配置SSH免密登录
- HDFS环境搭建
- YARN环境搭建
安装JDK
参考上篇文章:安装JDK-Centos7。
成功安装:
配置SSH免密登录
Hadoop 组件之间需要基于 SSH 进行通讯。所以需要配置SSH免密登录。
配置映射
配置 ip 地址和主机名映射:(配置完后需重启生效)
vim /etc/hosts
192.168.10.143 hadoop001
# 文件末尾增加
#192.168.10.143为本机ip hadoop001为本机名
生成公私钥
生成公匙和私匙:
ssh-keygen -t rsa
授权写入公匙到授权文件
进入 ~/.ssh
目录下,查看生成的公匙和私匙,并将公匙写入到授权文件:
cd ~/.ssh
ll
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
HDFS环境搭建
安装包下载并解压
下载 Hadoop 安装包,并解压。
附Apache下载地址. 注:点击Binary download下文件进行下载。source download下为源码文件。
tar -zvxf hadoop-2.10.1.tar.gz
配置环境变量
vi /etc/profile
#插入如下内容
export HADOOP_HOME=/root/hadoop-2.10.1
export PATH=${HADOOP_HOME}/bin:$PATH
#保存退出
:wq
source /etc/profile #环境变量立即生效
Hadoop文件配置
进入 ${HADOOP_HOME}/etc/hadoop/
目录下,修改添加以下配置:
hadoop-env.sh
export JAVA_HOME=/root/jdk1.8.0_321/ #java安装位置
core-site.xml
<configuration>
<property>
<!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
<name>fs.defaultFS</name>
<value>hdfs://hadoop001:8020</value>
</property>
<property>
<!--指定 hadoop 存储临时文件的目录-->
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml
用于指定副本系数和临时文件存储位置:
<configuration>
<property>
<!--由于我们这里搭建是单机版本,所以指定 dfs 的副本系数为 1-->
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
slaves-节点配置
配置所有从属节点的主机名或 IP 地址,由于是单机版本,所以指定本机即可。
vi slaves
localhost
关闭防火墙
不关闭防火墙可能导致无法访问 Hadoop 的 Web UI 界面:
# 查看防火墙状态
sudo firewall-cmd --state
# 关闭防火墙:
sudo systemctl stop firewalld.service
初始化namenode
第一次启动 Hadoop 时需要进行初始化,进入 ${HADOOP_HOME}/bin/
目录下,执行以下命令:
./hdfs namenode -format
可能出现以下问题:
实际上namenode节点会进行启动和关闭,如在下一步启动HDFS出现namenode节点未启动,请检查hostname是否和core-site.xml 中
启动HDFS
进入 ${HADOOP_HOME}/sbin/
目录下,启动 HDFS:
./start-dfs.sh
验证是否启动成功
方式一:执行 jps
查看 NameNode
和 DataNode
服务是否已经启动:
方式二:查看 Web UI 界面,端口为 50070
:
YARN环境搭建
修改配置
进入 ${HADOOP_HOME}/etc/hadoop/
目录下,修改添加以下配置:
mapred-site.xml
如果没有mapred-site.xml,则拷贝一份样例文件后再修改
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在 Yarn 上运行 MapReduce 程序。-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
启动服务
进入 ${HADOOP_HOME}/sbin/
目录下,启动 YARN:
./start-yarn.sh
验证是否启动成功
方式一:执行 jps
命令查看 NodeManager
和 ResourceManager
服务是否已经启动:
方式二:查看 Web UI 界面,端口号为 8088
:
再次启动
进入 ${HADOOP_HOME}/sbin/
目录下,启动 HDFS和YARN:
./start-dfs.sh
./start-yarn.sh