一、准备:
1、三台集群部署,配置hosts
#cat /etc/hosts
192.168.46.128 node1 #nameNode dataNode secondaryNameNode
192.168.46.129 node2 #datanode
192.168.46.130 node3 #datanode
说明:
NameNode: 主节点管理者
DataNode:从节点工作者
SecondaryNameNode:主节点辅助
2、三台节点做相互免密。
node1 ->node2; node1->node3;node2 ->node1; node2 ->node3;node3 ->node1; node3 ->node2;
生成ssh
ssh-key-gen -t rsa #一路回车
ssh-copy-ip 节点名称 # 拷贝公钥
3、安装java环境
#1、 上传安装包,解包。
cd /usr/local/java/ #2、修改profile配置文件,最后追加
# vim /etc/profile
JAVA_HOME=/usr/local/java/jdk1.8.0_221
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
二、上传hadoop安装包
1、创建hadoop目录
mkdir /data/hadoop
三、修改配置文件
所有配置文件都在hadoop包中etc目录下:
1、修改core-site.xml文件
# vim hadoop-3.3.6/etc/hadoop/core-site.xml
<configuration>
<property><name>fs.defaultFS</name><value>hdfs://node1:8020</value></property><property><name>io.file.buffer.size</name><value>131072</value></property>
</configuration>
2、修改hadoop-env.sh文件
# vim hadoop-3.3.6/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/java #修改安装的Java目录
export HADOOP_HOME=/data/hadoop/hadoop-3.3.6 #修改当前hadoop的路径
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
3、修改hdfs-site.xml文件
# vim hadoop-3.3.6/etc/hadoop/hdfs-site.xml
<configuration>
<property><name>dfs.datanode.data.dir.perm</name><value>700</value></property><property><name>dfs.namenode.name.dir</name><value>/data/hadoop/data/nn</value></property><property><name>dfs.namenode.hosts</name><value>node1,node2,node3</value></property><property><name>dfs.blocksize</name><value>268435456</value></property><property><name>dfs.namenode.handler.count</name><value>100</value></property><property><name>dfs.datanode.data.dir</name><value>/data/hadoop/data/dn</value></property>
</configuration>
4、修改workers配置
#vim hadoop-3.3.6/etc/hadoop/workers
node1
node2
node3
5、创建数据目录
# node1 节点创建:
mkdir /data/hadoop/data/dn
mkdir /data/hadoop/data/nn# node2、 node3 节点创建:
mkdir /data/hadoop/data/dn
6、创建hadoop用户,并授权
useradd hadoop
# 以root身份,在三台服务器上均执行
chown -R hadoop:hadoop /data/hadoop
7、格式化NaneNode
#1、在主节点虚拟机node1中切换到hadoop用户
su - hadoop
#2. 格式化namenode
hadoop namenode -format
四、启动集群
1、启动hdfs集群
cd /data/hadoop/hadoop-3.3.6
./sbin/start-dfs.sh
登录web界面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/635adcec05674d2b9a888cead4f2f578.png
五、问题记录:
问题1:实际操作使用root用户,没有创建切换hadoop用户
启动报错,修改启动脚本和 stop 脚本
## 修改 start-dfs.sh & stop-dfs.sh
## 上方空白处添加如下,
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root