搭建出来的节点分布
先准备3台机器,我是先准备一台node1然后通过克隆把node2和node3克隆出来
一、安装jdk1.8
安装教程:
https://blog.csdn.net/qq_41622603/article/details/108736521
二、配置IP和主机名映射
编辑 /etc/hosts文件:vi /etc/hosts
加入最后面3行
三、安装和配置Hadoop3
(1),下载和上传
下载地址:https://mirror.bit.edu.cn/apache/hadoop/common/或https://download.csdn.net/download/qq_41622603/12881443
下载完上传到linux
(2),解压:tar -zxvf hadoop-3.1.4.tar.gz
(3),配置环境变量
切换到~目录:cd ~
编辑.bash_profile文件:vi .bash_profile,加入HADOOP_HOME和把HADOOP_HOME追加到PATH
JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
HADOOP_HOME=/opt/software/hadoop-3.1.4
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH
切换到hadoop-3.1.4/etc/hadoop这个目录下,修改4个文件
(4),配置hadoop-env.sh文件
vi /opt/software/hadoop-3.1.4/etc/hadoop/hadoop-env.sh
指定jdk的位置:
修改指定操作进程的用户为root,这个我在文件里找不到,加在了文件的最后
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
(5),配置core-site.xml文件,在configuration标签加入下面配置,指定NameNode所在节点和配置元数据存放位置
vi /opt/software/hadoop-3.1.4/etc/hadoop/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9820</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoopdata</value>
</property>
(6),在hdfs-site.xml文件的configuration标签加入Secondary NameNode的节点配置
vi /opt/software/hadoop-3.1.4/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
(7),在workers文件中配置DataNode节点
vi /opt/software/hadoop-3.1.4/etc/hadoop/workers
四、克隆虚拟机
关机后右键node1,把node2和node3克隆出来
克隆完成后要修改主机名和ip地址(node2和node3都执行这样的操作)
(1)修改ip地址
(2)删除70-persistent-net.rules文件
rm -rf /etc/udev/rules.d/70-persistent-net.rules
(3)修改主机名(HOSTNAME)
(4)重启网络服务:service network restart
(5)重启系统:init 6
(6)ping下百度如果能ping通就没问题了
五、SSH免密码登录设置
在每台机器下都执行下面操作
(1)生成公钥:ssh-keygen,执行完会在当前目录下生成一个.ssh文件夹,文件夹里面有id_rsa和id_rsa.pub文件
(2)把公钥文件复制到node1,node2,node3节点上,执行下面3条命令
ssh-copy-id -i ./id_rsa.pub root@node1
ssh-copy-id -i ./id_rsa.pub root@node2
ssh-copy-id -i ./id_rsa.pub root@node3
六、格式化Hadoop
执行:hdfs namenode -format
七、启动HDFS集群
切换到sbin目录下,执行start-dfs.sh启动
查看进程如下图
访问HDFS监听页面