0 安装JDK
具体看链接Linux环境下安装JDK 1.8
1 配置网络(用于连接网络)
假设本机内网ip为172.31.9.41
,那么编辑/etc/hosts
文件:
sudo vim /etc/hosts
文件末尾增加
172.31.9.41 hadoop001
执行下面命令行生成公匙和私匙:
ssh-keygen -t rsa
进入 ~/.ssh
目录下,查看生成的公匙和私匙,并将公匙写入到授权文件:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
2 下载安装Hadoop
下载并解压Hadoop
可以在网站https://www.apache.org/dyn/closer.cgi/hadoop/common 里面的binary install 查找对应版本,假设下载的是hadoop-3.3.1.tar.gz
tar zxvf hadoop-3.3.1.tar.gz
挪到/usr/
目录下
sudo mv hadoop-3.3.1 /usr/hadoop
修改/etc/profile
配置文件
sudo vi /etc/profile
修改内容为:
export HADOOP_HOME=/usr/hadoop
export PATH=${HADOOP_HOME}/bin:$PATH
立即生效
source /etc/profile
3 修改Hadoop配置
进入 ${HADOOP_HOME}/etc/hadoop/
目录下,修改以下配置:
cd ${HADOOP_HOME}/etc/hadoop/
3.1 hadoop-env.sh
# JDK安装路径
export JAVA_HOME=/usr/java/jdk1.8.0_xxx/
3.2 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop001:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
3.3 hdfs-site.xml
指定副本系数和临时文件存储位置:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本个数,配置默认是3,应小于datanode机器数量</description>
</property>
</configuration>
3.4 slaves(Hadoop 2.x)/workers(Hadoop 3.x)
配置所有从属节点的主机名或 IP 地址,由于是单机版本,所以指定本机即可:
hadoop001
3.5 关闭防火墙
如果是CentOS/Amazon Linux
系统,需要关闭防火墙
# 查看防火墙状态
sudo firewall-cmd --state
# 关闭防火墙:
sudo systemctl stop firewalld.service
3.6 初始化
第一次启动 Hadoop 时需要进行初始化,进入 ${HADOOP_HOME}/bin/
目录下,执行以下命令:
sudo mkdir /home/hadoop
sudo chmod 777 -R /home/hadoop
cd ${HADOOP_HOME}/bin/
./hdfs namenode -format
./hdfs datanode -format
3.7 启动HDFS
进入 ${HADOOP_HOME}/sbin/
目录下,启动 HDFS:
cd ${HADOOP_HOME}/sbin/
./start-dfs.sh
3.8 验证是否启动成功
方式一:执行 jps
查看 NameNode
和 DataNode
服务是否已经启动:
jps
30373 SecondaryNameNode
30537 Jps
29897 NameNode
方式二:查看 Web UI 界面,Hadoop 2.x的端口为 50070
,Hadoop 3.x的端口为9870
:
3.9 启动失败怎么操作?
如果启动失败,按照如下步骤操作
停止DFS,删除logs,删除全部PID
cd ${HADOOP_HOME}/sbin/ ./stop-dfs.sh rm ${HADOOP_HOME}/logs/* -rf rm /tmp/hadoop-*.pid
- 把namenode的clusterID复制给datanode
cat /home/hadoop/tmp/dfs/name/current/VERSION
# 取clusterID
vi /home/hadoop/tmp/dfs/data/current/VERSION
# 复制给datanode
4 YARN 配置
4.1 修改配置
进入 ${HADOOP_HOME}/etc/hadoop/
目录下,修改以下配置:
cd ${HADOOP_HOME}/etc/hadoop/
1. mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2. yarn-site.xml
<configuration>
<property>
<!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在 Yarn 上运行 MapReduce 程序。-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4.2 启动服务
进入 ${HADOOP_HOME}/sbin/
目录下,启动 YARN:
cd ${HADOOP_HOME}/sbin/
./start-yarn.sh
4.3 验证是否启动成功
方式一:执行 jps
命令查看 NodeManager
和 ResourceManager
服务是否已经启动:
jps
24820 Jps
24391 NodeManager
22969 NameNode
23451 SecondaryNameNode
24188 ResourceManager
23181 DataNode
方式二:查看 Web UI 界面,端口号为 8088
: