node01 :192.168.117.20 NameNode DataNode
node02 :192.168.117.21 DataNode
node03 :192.168.117.22 DataNode SecondaryNameNode
hostname分别为node01,node02,node03
# 三台机器分别执行
hostnamectl set-hostname node01
hostnamectl set-hostname node02
hostnamectl set-hostname node03
# 三台机器均要执行
vim /etc/hosts
192.168.117.20 node01
192.168.117.21 node02
192.168.117.22 node03
systemctl stop firewalld.service
systemctl disable firewalld.service
yum install ntpdate
ntpdate ntp5.aliyun.com
vim /etc/selinux/config
修改为 SELINUX=disabled
# 三台机器均执行一下命令
ssh-keygen -t rsa
# 将每台机器的公钥拷贝给每台机器
ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03
测试
reboot
# 三台机器均执行
cd /etc/profile.d
vim jdk.sh
# 写入内容
export JAVA_HOME=/opt/button/jdk
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
# 使配置生效
source /etc/profile
验证
java -version
下载安装包
配置环境变量
# 三台机器均执行
vim /etc/profile.d/hadoop.sh
# 写入内容
export HADOOP_HOME=/opt/button/hadoop/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 使配置生效
source /etc/profile
验证
hadoop version
创建hadoop数据目录:
mkdir /opt/button/hadoop/data
cd /opt/button/hadoop
chmod -R 777 ./data/
配置位于hadoop解压目录etc/hadoop目录下,三台机器配置保持一致
vim hadoop-env.sh
# jdk修改为自己的路径
export JAVA_HOME=/opt/button/jdk
fs.defaultFS hdfs://node01:9000
hadoop.tmp.dir /opt/button/hadoop/data
hadoop.http.staticuser.user root
fs.trash.interval 1440
dfs.replication 3
dfs.namenode.secondary.http-address node03:50090
dfs.name.dir /opt/button/hadoop/data/
dfs.data.dir /opt/button/hadoop/data/
mapreduce.framework.name yarn
yarn.nodemanager.aux-services mapreduce_shuffle
yarn.resourcemanager.hostname node01
yarn.nodemanager.pmem-check-enabled false
yarn.nodemanager.vmem-check-enabled false
vim workers
# 写入如下内容
node01
node02
node03
如果第一次启动集群需格式化NameNode,三个节点都操作
hdfs namenode –format
注:如果不是第一次,需要先执行stop-all.sh,然后删除data与logs中的文件再执行初始化命令
在node01节点上的sbin目录找到start-all.sh并执行即可
执行如下操作解决此问题
vim /etc/profile.d/my_env.sh
# 添加如下内容
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
# 使配置生效
source /etc/profile
重新执行start-all.sh
查看启动的服务
NameNode默认端口9870
http://192.168.117.20:9870/
ResourceManager默认端口8088
hadoop fs -mkdir /hfile
hadoop fs -put input.txt /hfile
hadoop fs -ls /hfile
上一篇:【数据结构】8.2 插入排序
下一篇:Vue路由使用的几个注意点