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 查看 NameNodeDataNode 服务是否已经启动:

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 命令查看 NodeManagerResourceManager 服务是否已经启动:

jps
24820 Jps
24391 NodeManager
22969 NameNode
23451 SecondaryNameNode
24188 ResourceManager
23181 DataNode

方式二:查看 Web UI 界面,端口号为 8088

最后修改:2021 年 08 月 10 日 01 : 37 PM
如果觉得我的文章对你有用,请随意赞赏