前言
安装一主一从两个节点:
172.16.10.225 master
172.16.10.226 slave
1.下载
下载地址:https://archive.apache.org/dist/hadoop/common/
我这里下载的是3.2.0版本,hadoop-3.2.0.tar.gz
2.环境
(1)设置 hostname,并设置到 /etc/hosts
[root@cloudtest02 hadoop]#
[root@cloudtest02 hadoop]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.10.225 cloudtest01
172.16.10.226 cloudtest02
(2)两台机器配置互信
ssh-keygen -t rsa
详细过程略
(3)关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
3.安装
(1)解压
将tar包上传至服务器上,解压
cd /opt/software/tars/hadoop
tar -zxvf hadoop-3.2.0.tar.gz
进入到 hadoop-3.2.0/etc/hadoop 目录,修改配置
(2)修改配置 hadoop-env.sh
添加一行
export JAVA_HOME=/opt/software/tars/jdk/jdk1.8.0_261
(3)修改配置 core-site.xml
[root@cloudtest02 hadoop]# cat core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://cloudtest01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/software/tars/hadoop/hadoop-3.2.0/tmp</value>
<description>A base for other temporary directories.</description>
</property>
</configuration>
[root@cloudtest02 hadoop]#
(4)修改配置 mapred-site.xml
设置mapreduce使用的资源调度框架为yarn
[root@cloudtest02 hadoop]# cat mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)修改配置 hdfs-site.xml
hdfs 相关
[root@cloudtest02 hadoop]# cat hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>cloudtest01:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/software/tars/hadoop/hadoop-3.2.0/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/software/tars/hadoop/hadoop-3.2.0/tmp/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
(6)配置文件 yarn-site.xml
yarn运行相关
[root@cloudtest02 hadoop]# cat yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>cloudtest01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>
(7)修改配置 workers
从节点主机名
[root@cloudtest02 hadoop]# cat workers
cloudtest02
(8)添加环境变量 /etc/profile
export JAVA_HOME=/opt/software/tars/jdk/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib/
export HADOOP_HOME=/opt/software/tars/hadoop/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
# 能够使用root操作,也可以配置到启停脚本里
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
(9)创建目录
hdfs相关目录
mkdir -p /opt/software/tars/hadoop/hadoop-3.2.0/tmp/dfs/name
mkdir -p /opt/software/tars/hadoop/hadoop-3.2.0/tmp/dfs/data
4.启停
(1)脚本
在主节点上进入到解压后主目录的 sbin目录,操作启停脚本
启动脚本
./start-all.sh
停止脚本
./stop-all.sh
(2)格式化namenode
hdfs namenode -format
(3)启动:
namenodes 、datanodes、secondary namenodes、resourcemanager、nodemanagers
[root@cloudtest01 sbin]# ./start-all.sh
Starting namenodes on [cloudtest01]
上一次登录: 五 4月 8 23:40:28 CST 2022 pts/0 上
cloudtest01:
cloudtest01: Authorized users only. All activities may be monitored and reported.
Starting datanodes
上一次登录: 五 4月 8 23:40:37 CST 2022 pts/0 上
cloudtest02:
cloudtest02: Authorized users only. All activities may be monitored and reported.
Starting secondary namenodes [cloudtest01]
上一次登录: 五 4月 8 23:40:40 CST 2022 pts/0 上
cloudtest01:
cloudtest01: Authorized users only. All activities may be monitored and reported.
Starting resourcemanager
上一次登录: 五 4月 8 23:40:44 CST 2022 pts/0 上
Starting nodemanagers
上一次登录: 五 4月 8 23:40:51 CST 2022 pts/0 上
cloudtest02:
cloudtest02: Authorized users only. All activities may be monitored and reported.
(4)查看进程
主节点:
[root@cloudtest01 sbin]# jps
3081934 Jps
3081206 ResourceManager
3080870 SecondaryNameNode
3080384 NameNode
从节点
[root@cloudtest02 sbin]# jps
2206069 NodeManager
2206343 Jps
2205863 DataNode
5.测试
(1)创建目录
[root@cloudtest02 hadoop-3.2.0]# hdfs dfs -mkdir -p /root/hadoop
(2)创建文件
[root@cloudtest02 hadoop-3.2.0]# cat test.txt
hadoop hello world!
(3)将文件放进目录
[root@cloudtest02 hadoop-3.2.0]# hdfs dfs -put test.txt /root/hadoop
(4)查看目录
[root@cloudtest02 hadoop-3.2.0]# hdfs dfs -ls /root/hadoop
Found 1 items
-rw-r--r-- 3 root supergroup 20 2022-04-08 23:51 /root/hadoop/test.txt
(5)下载文件
[root@cloudtest02 hadoop-3.2.0]# cd /tmp/
[root@cloudtest02 tmp]# hdfs dfs -get /root/hadoop/test.txt
(6)查看下载的文件
[root@cloudtest02 tmp]# cat test.txt
hadoop hello world!