一、配置Hadoop环境

1.查看Hadoop解压位置

pwd

hadoop 集群 查看启动状态 如何查看hadoop是否启动_面试

2.配置环境变量

vim /etc/profile

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_02

3.编辑环境变量

“/opt/server/hadoop”填自己Hadoop的存放位置。

export HADOOP_HOME=/opt/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_03

4.重启环境变量

source /etc/profile

hadoop 集群 查看启动状态 如何查看hadoop是否启动_面试_04

5.查看Hadoop版本,查看成功就表示Hadoop安装成功了

hadoop version

hadoop 集群 查看启动状态 如何查看hadoop是否启动_面试_05

二、修改配置文件

1.检查三台虚拟机:

是否都安装了jdk和hadoop并且配置了环境变量,确保虚拟机之间都能互相ping通以及两两之间能够ssh免密登陆,都完成了网卡、主机名、hosts文件等配置。

ip地址

主机名

节点

192.168.147.200

hadoop

主节点

192.168.147.201

hadoop2

子节点

192.168.147.203

hadoop3

子节点

2.切换到配置文件目录

cd /opt/server/hadoop/etc/hadoop

hadoop 集群 查看启动状态 如何查看hadoop是否启动_linux_06

3.修改 hadoop-env.sh 文件

路径改成自己的jdk安装路径(vim命令用不了就用vi)

vim hadoop-env.sh

export JAVA_HOME=/opt/server/jdk

hadoop 集群 查看启动状态 如何查看hadoop是否启动_linux_07

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_08

4.修改 core-site.xml 文件

vim core-site.xml

<configuration>
<property>
                      <name>fs.defaultFS</name>
                      <!-- 用于指定namenode地址在机器master上-->
                      <value>hdfs://hadoop:8020</value>
          </property>
                      <!-- 用于配置hadoop的数据目录-->
          <property>
                      <name>hadoop.tmp.dir</name>
                      <value>/opt/server/hadoop/data</value>
          </property>
</configuration>

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_09

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_10

5.修改 mapred-site.xml 文件

vim mapred-site.xml

<configuration>
<!-- 指定MapReduce运行时框架,这里指定在yarn上-->
       <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
       </property>
</configuration>

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_11

hadoop 集群 查看启动状态 如何查看hadoop是否启动_linux_12

6.修改 hdfs-site.xml 文件

vim hdfs-site.xml

<configuration>
<!--指定HDFS副本的数量,不能超过机器节点数-->
              <property>
                            <name>dfs.replication</name>
                            <value>3</value>
              </property>
              <!-- 为secondary namenode配置所在的IP和端口-->
              <property>
                            <name>dfs.namenode.secondary.http-address</name>
                            <value>hadoop2:50090</value>
              </property>
</configuration>

hadoop 集群 查看启动状态 如何查看hadoop是否启动_linux_13

hadoop 集群 查看启动状态 如何查看hadoop是否启动_linux_14

7.修改 yarn-site.xml 文件

vim yarn-site.xml

<configuration>

           <!-- 指定yarn集群的管理者(resourcemanger)的地址-->
           <property>
                      <name>yarn.resourcemanager.hostname</name>
                      <value>hadoop</value>
           </property>
           <property>
                      <name>yarn.nodemanager.aux-services</name>
                      <value>mapreduce_shuffle</value>
           </property>

</configuration>

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_15

hadoop 集群 查看启动状态 如何查看hadoop是否启动_面试_16

8.修改 workers 文件

vim workers

hadoop
hadoop2
hadoop3

hadoop 集群 查看启动状态 如何查看hadoop是否启动_linux_17

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_18

三、给hadoop2、hadoop3分发文件

1.到存放hadoop的文件夹下

cd /opt/server/

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop_19

2.1.给hadoop2和hadoop3拷贝文件和环境变量

scp -r hadoop-3.2.4/ root@hadoop2:/opt/server/hadoop-3.2.4/
scp /etc/profile root@hadoop2:/etc/profile

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop_20

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop_21

2.2.给hadoop2和hadoop3创建软连接

ln -s hadoop-3.2.4/ hadoop

hadoop 集群 查看启动状态 如何查看hadoop是否启动_面试_22

2.3.检查hadoop2和hadoop3是否拷贝成功

hadoop的配置文件拷贝给了hadoop2和hadoop3,在hadoop2打开workers。

vim workers

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop_23

hadoop2的workers没被修改,说明没拷贝成功。

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_24

2.4.如果没有拷贝成功就将hadoop2和hadoop3的hadoop文件夹删除,然后在拷贝一次

rm -rf hadoop-3.2.4

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_25

重复2.1的操作

四、修改脚本文件

1.切换到hadoop的sbin目录下

脚本文件都在sbin文件下。

cd /opt/server/hadoop/sbin

2.修改 start-dfs.sh 脚本文件

vim start-dfs.sh

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_26

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop_27

3.修改 stop-dfs.sh 脚本文件

vim stop-dfs.sh

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_28

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop_29

4.修改start-yarn.sh 脚本文件

vim start-yarn.sh

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_30

hadoop 集群 查看启动状态 如何查看hadoop是否启动_面试_31

4.修改 start-yarn.sh 脚本文件

vim start-yarn.sh

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_32

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_33

5.修改 stop-yarn.sh 脚本文件

vim stop-yarn.sh

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_34

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_35

五、启动hadoop集群

1.格式化HDFS

hadoop namenode -format

hadoop 集群 查看启动状态 如何查看hadoop是否启动_面试_36

hadoop 集群 查看启动状态 如何查看hadoop是否启动_面试_37

2.启动hadoop

启动hadoop和yarn一定要在sbin目录下。

./start-dfs.sh

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_38

3.启动yarn

./start-yarn.sh

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_39

4.查看进程

jps

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_40

5.关闭防火墙

#关闭
systemctl stop firewalld.service
#查看
systemctl status firewalld.service
#防火墙失效设置
systemctl disable firewalld.service

6.访问Hadoop的web网站

ip+端口

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_41

7.停止hadoop

./stop-dfs.sh

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_42

8.停止yarn

./stop-yarn.sh

第一次停止yarn可能会出现以下情况:

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop_43

再输入一次命令就好了

hadoop 集群 查看启动状态 如何查看hadoop是否启动_linux_44

9.启动hadoop和yarn遇到的问题

ERROR: JAVA_HOME is not set and could not be found.

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop_45

hadoop 集群 查看启动状态 如何查看hadoop是否启动_linux_46

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_47

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_48

出错的原因是2.3的hadoop配置文件没有成功拷贝给hadoop2和hadoop3,解决办法在2.4。

六、编辑启动和停止脚本文件

1.进入脚本文件目录

cd /opt/script/

如果没有script目录就新建一个。

mkdir script

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_49

2.编写集群控制文件

vim hadoop.sh

#! /bin/bash
case $1 in
"start" ) {
/opt/server/hadoop/sbin/start-dfs.sh
/opt/server/hadoop/sbin/start-yarn.sh
};;
"stop") {
/opt/server/hadoop/sbin/stop-dfs.sh
/opt/server/hadoop/sbin/stop-yarn.sh
};;
esac

hadoop 集群 查看启动状态 如何查看hadoop是否启动_运维_50

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop_51

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop_52

3.给 hadoop.sh 授权

chmod 777 hadoop.sh

hadoop 集群 查看启动状态 如何查看hadoop是否启动_hadoop 集群 查看启动状态_53