大数据课程 实时计算框架之软件安装篇

Hadoop的安装与配置

希望可以做到让你直接复制粘贴就能完成学校的实验

1.配置免密登录

生成密匙

在每台主机上使用 ssh-keygen 命令生成公钥私钥对:

ssh-keygen -t rsa  然后按三次enter
ssh-copy-id hmbb1
ssh-copy-id hmbb2
ssh-copy-id hmbb3

把刚做好的钥匙发过去
随便找台机器试一下 比方说在1上输ssh hmbb2

像我这样直接进去的就是成功了

测试完成之后记得退出ssh

2023-04-21T12:59:57.png

2.集群搭建

解压 tar -zxvf hadoop-2.7.7.tar.gz
mv hadoop-2.7.7 /opt/hadoop

3. 配置环境变量

编辑 profile 文件:
vim /etc/profile
增加如下配置:

#HADOOP_HOME
export HADOOP_HOME=/opt/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

执行 source 命令,使得配置立即生效:
source /etc/profile

输入hadoop 命令测试一下
2023-04-21T13:00:41.png
有这一堆乱七八糟的就没问题

4. 修改配置

进入 ${HADOOP_HOME}/etc/hadoop 目录下,修改配置文件。各个配置文件内容如下:

1. hadoop-env.sh

# 指定JDK的安装位置
export JAVA_HOME= /usr/java/jdk1.8.0_361/

2. core-site.xml 拉到最下面加

<configuration>
    <property>
        <!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
        <name>fs.defaultFS</name>
        <value>hdfs://hmbb1:8020</value>
    </property>
    <property>
        <!--指定 hadoop 集群存储临时文件的目录-->
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop-2.7.7/data/tmp</value>
    </property>
</configuration>

3. hdfs-site.xml

<property>
      <!--namenode 节点数据(即元数据)的存放位置,可以指定多个目录实现容错,多个目录用逗号分隔-->
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hadoop-2.7.7/data/namenode/data</value>
</property>
<property>
      <!--datanode 节点数据(即数据块)的存放位置-->
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop-2.7.7/data/datanode/data</value>
</property>

4. yarn-site.xml

<configuration>
    <property>
        <!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在 Yarn 上运行 MapReduce 程序。-->
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <!--resourcemanager 的主机名-->
        <name>yarn.resourcemanager.hostname</name>
        <value>hmbb1</value>
    </property>
</configuration>

5. mapred-site.xml(先cp一个出来)

<configuration>
    <property>
        <!--指定 mapreduce 作业运行在 yarn 上-->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

6. slaves

配置所有从属节点的主机名或 IP 地址,每行一个。所有从属节点上的 DataNode 服务和 NodeManager 服务都会被启动。

hmbb1
hmbb2
hmbb3

4. 初始化

在 hmbb1 上执行 namenode 初始化命令:
hdfs namenode -format

5. 启动集群

进入到 hmbb1 的 ${HADOOP_HOME}/sbin 目录下,启动 Hadoop。此时 hmbb2 和 hmbb3 上的相关服务也会被启动:

启动dfs服务

start-dfs.sh

启动yarn服务

start-yarn.sh

6. 查看集群

在每台服务器上使用 jps 命令查看服务进程,或直接进入 Web-UI 界面进行查看,端口为 50070。可以看到此时有三个可用的 Datanode:

2023-04-21T13:02:19.png
点击 Live Nodes 进入,可以看到每个 DataNode 的详细情况:
2023-04-21T13:02:24.png

接着可以查看 Yarn 的情况,端口号为 8088 :

2023-04-21T13:02:30.png