文章目录
- 一、上传与 解压
- 1. 上传安装包
- 2. 解压hadoop安装包
- 二、修改hadoop相关配置文件
- 2.1. hadoop-env.sh
- 2.2. core-site.xml
- 2.3. hdfs-site.xml
- 2.4. mapred-site.xml
- 2.5. yarn-site.xml
- 2.6. workers
- 2.7. 修改启动脚本
- 三、同步初始化
- 3.1. 安装包同步
- 3.2. 主节点格式化HDFS
- 3.3. 启动集群
- 3.4. 验证集群
- 3.5. webui
- 3.6. Hadoop的客户端节点
一、上传与 解压
首先在bigdata01节点上安装。
1. 上传安装包
把hadoop-3.2.0.tar.gz安装包上传到linux机器的/data/soft目录下
[root@bigdata01 ~]# ll /data/soft/
total 527024
-rw-r--r--. 1 root root 345625475 Jul 2 21:18 hadoop-3.2.0.tar.gz
drwxr-xr-x. 7 10 143 245 Dec 16 2018 jdk1.8
-rw-r--r--. 1 root root 194042837 Mar 8 2020 jdk-8u202-linux-x64.tar.gz
You have new mail in /var/spool/mail/root
[root@bigdata01 ~]#
2. 解压hadoop安装包
[root@bigdata01 soft]# tar -zxvf hadoop-3.2.0.tar.gz
二、修改hadoop相关配置文件
进入配置文件所在目录
[root@bigdata01 soft]# cd hadoop-3.2.0/etc/hadoop/
[root@bigdata01 hadoop]#
2.1. hadoop-env.sh
首先修改hadoop-env.sh
文件,在文件末尾增加环境变量信息
[root@bigdata01 hadoop]# vi hadoop-env.sh
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
2.2. core-site.xml
修改core-site.xml
文件,注意fs.defaultFS属性中的主机名需要和主节点的主机名保持一致
[root@bigdata01 hadoop]# vi core-site.xml
<configuration><property><name>fs.defaultFS</name><value>hdfs://bigdata01:9000</value></property><property><name>hadoop.tmp.dir</name><value>/data/hadoop_repo</value></property>
</configuration>
2.3. hdfs-site.xml
修改hdfs-site.xml文件,把hdfs中文件副本的数量设置为2,最多为2,因为现在集群中有两个从节点,还有secondaryNamenode进程所在的节点信息
[root@bigdata01 hadoop]# vi hdfs-site.xml
<configuration><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.namenode.secondary.http-address</name><value>bigdata01:50090</value></property>
</configuration>
2.4. mapred-site.xml
修改mapred-site.xml,设置mapreduce使用的资源调度框架
[root@bigdata01 hadoop]# vi mapred-site.xml
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
2.5. yarn-site.xml
修改yarn-site.xml,设置yarn上支持运行的服务和环境变量白名单
注意,针对分布式集群在这个配置文件中还需要设置resourcemanager的hostname,否则nodemanager找不到resourcemanager节点。
[root@bigdata01 hadoop]# vi yarn-site.xml
<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value></property><property><name>yarn.resourcemanager.hostname</name><value>bigdata01</value></property>
</configuration>
2.6. workers
修改workers文件,增加所有从节点的主机名,一个一行
[root@bigdata01 hadoop]# vi workers
bigdata02
bigdata03
2.7. 修改启动脚本
修改start-dfs.sh,stop-dfs.sh
这两个脚本文件,在文件前面增加如下内容
[root@bigdata01 hadoop]# cd /data/soft/hadoop-3.2.0/sbin
[root@bigdata01 sbin]# vi start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root[root@bigdata01 sbin]# vi stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
修改start-yarn.sh,stop-yarn.sh这两个脚本文件,在文件前面增加如下内容
[root@bigdata01 sbin]# vi start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root[root@bigdata01 sbin]# vi stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
三、同步初始化
3.1. 安装包同步
把bigdata01节点上将修改好配置的安装包拷贝到其他两个从节点
[root@bigdata01 sbin]# cd /data/soft/
[root@bigdata01 soft]# scp -rq hadoop-3.2.0 bigdata02:/data/soft/
[root@bigdata01 soft]# scp -rq hadoop-3.2.0 bigdata03:/data/soft/
由于小文件较多,同步会慢一下,耐心等待一会哈!
3.2. 主节点格式化HDFS
在bigdata01节点上格式化HDFS
[root@bigdata01 soft]# cd /data/soft/hadoop-3.2.0
[root@bigdata01 hadoop-3.2.0]# bin/hdfs namenode -format
如果在后面的日志信息中能看到这一行,则说明namenode格式化成功。
bash common.Storage: Storage directory /data/hadoop_repo/dfs/name has been successfully formatted.
3.3. 启动集群
在bigdata01节点上执行下面命令
[root@bigdata01 hadoop-3.2.0]# sbin/start-all.sh
Starting namenodes on [bigdata01]
Last login: Sat Jul 3 10:42:24 CST 2021 from 192.168.92.1 on pts/1
Starting datanodes
Last login: Sat Jul 3 11:33:14 CST 2021 on pts/1
bigdata03: WARNING: /data/hadoop_repo/logs/hadoop does not exist. Creating.
bigdata02: WARNING: /data/hadoop_repo/logs/hadoop does not exist. Creating.
Starting secondary namenodes [bigdata01]
Last login: Sat Jul 3 11:33:16 CST 2021 on pts/1
Starting resourcemanager
Last login: Sat Jul 3 11:33:23 CST 2021 on pts/1
Starting nodemanagers
Last login: Sat Jul 3 11:33:39 CST 2021 on pts/1
You have new mail in /var/spool/mail/root
[root@bigdata01 hadoop-3.2.0]#
3.4. 验证集群
分别在3台机器上执行jps命令,进程信息如下所示:
在bigdata01节点执行
[root@bigdata01 hadoop-3.2.0]# jps
22485 SecondaryNameNode
22214 NameNode
22743 ResourceManager
23082 Jps
在bigdata02节点执行
[root@bigdata02 ~]# jps
26709 DataNode
26822 NodeManager
26939 Jps
在bigdata03节点执行
[root@bigdata03 ~]# jps
16759 DataNode
16874 NodeManager
16990 Jps
3.5. webui
还可以通过webui界面来验证集群服务是否正常
HDFS webui界面:http://192.168.92.100:9870
YARN webui界面:http://192.168.92.100:8088
至此,hadoop分布式集群安装成功!
注意:前面这些操作步骤这么多,如果我是新手我怎么知道需要做这些操作呢?不用担心,官方给提供的有使用说明,也就是我们平时所说的官方文档,我们平时买各种各样的东西都是有说明书的,上面会告诉你该怎么使用,这个是最权威最准确的。
那我们来看一下Hadoop的官网文档:
3.6. Hadoop的客户端节点
在实际工作中不建议直接连接集群中的节点来操作集群,直接把集群中的节点暴露给普通开发人员是不安全的
建议在业务机器上安装Hadoop,只需要保证业务机器上的Hadoop的配置和集群中的配置保持一致即可,这样就可以在业务机器上操作Hadoop集群了,此机器就称为是Hadoop的客户端节点
Hadoop的客户端节点可能会有多个,理论上是我们想要在哪台机器上操作hadoop集群就可以把这台机器配置为hadoop集群的客户端节点。