整体搭建规划
hadoop01 | hadoop02 | hadoop03 | |
HDFS | NameNode | DataNode SecondaryNode | DataNode |
修改主机IP地址
新建一个虚拟机,修改其IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
将内容修改为
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.91.3
GATEWAY=192.168.91.2
NETMASK=255.255.255.0
DNS1=8.8.8.8
修改网卡后要重启网络服务,否则修改不生效
service network restart
修改主机映射
修改主机名
hostname hadoop01
这样改主机名下次开机主机名还是没有修改,所以需要修改主机映射
vi /etc/sysconfig/network
在映射文件中将HOSTNAME改为hadoop01
这里将三个主机的ip映射修改,以后可以直接通过主机名访问。
修改ip映射。
vi /etc/hosts
在文件下方加入三个ip映射。
关闭防火墙
关闭防火墙
service iptables stop
设置防火墙开机不启动
chkconfig iptables off
可通过sevice iptables status
查看防火墙情况
这里提示防火墙未开启,设置成功。
为方便ssh管理,我们需要安装ssh客户端,可以使用
yum -y install openssh-clients.x86_64
安装ssh客户端,等待安装成功即可。
克隆主机
其他两个主机可通过克隆hadoop01主机得到,在vmware中右键虚拟机–>管理–>克隆,分别克隆出hadoop02,hadoop03虚拟主机。
克隆后的主机需要修改网卡配置和ip配置,下面先配置hadoop01,登录hadoop02主机,修改网卡配置
vi /etc/udev/rules.d/70-persistent-net.rules
打开后可看到name分别为eth0和eth1的两条配置,eth0是通过复制上一台主机获得的,这里需要将eth0的那条配置先删除,然后再将剩下的那一条eth1改为eth0。改完如下图所示
修改完成后同样得配置ip
修改ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
需将里面的HWADDR和UUID去掉,再将IPADDR的值改为192.168.91.4
修改完成后记得使用service network restart
,然后重启虚拟机,重启后可用ipconfig命令查看是否修改成功。
同理修改hadoop03主机的的网卡配置和ip配置。
设置ssh免密登录
设置ssh方便使三台主机随意相互访问。首先打开hadoop01主机,先用命令生成秘钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
生成秘钥对后需要分别将秘钥发送给自己,hadoop02,hadoop03。
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03
同理,对于hadoop02,hadoop03,都是先生成秘钥对,再分别发给包括自己的三个主机。
设置成功后,以hadoop01为例,可以通过
ssh root@hadoop02
ssh root@hadoop03
分别登陆其他两台主机。
hadoop和jdk配置
在opt文件夹下创建software文件夹,通过文件上传工具将jdk,hadoop安装包上传到/opt/software下解压
tar -zxvf /opt/software/hadoop-2.7.1.tar.gz
tar -zxvf /opt/software/jdk-8u60-linux-x64.gz
配置环境变量
vi /etc/profile
将下面三段代码粘贴至配置文件即可。
export JAVA_HOME=/opt/software/jdk1.8.0_60
export HADOOP_HOME=/opt/software/hadoop-2.7.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sh9OmwOO-1600952250112)(https://i.loli.net/2020/09/24/GA2EOuwkPiVvSsJ.png)]
配置完成使用
source /etc/profile
使配置文件生效
修改 hadoop-env.sh
修改core-site.xml内容
将下面代码粘贴到configuration标签内
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop/data</value>
</property>
修改hdfs-site.xml
vi hdfs-site.xml
将下面内容放进configuration标签内
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name> <value>hadoop02:50090</value>
</property>
添加从节点
vi slaves
设置从节点为hadoop02,hadoop03
设置完成后可将刚才的hadoop和jdk安装包分发到hadoop02,hadoop03上面,可以使用scp将文件安全拷贝到另外两台主机。
scp -r /opt/software/hadoop-2.7.1/ hadoop02:/opt/software/
scp -r /opt/software/hadoop-2.7.1/ hadoop03:/opt/software/
scp -r /opt/software/jdk1.8.0_60/ hadoop02:/opt/software/
scp -r /opt/software/jdk1.8.0_60/ hadoop03:/opt/software/
拷贝完成后修改02,03机器上vi /etc/profifile文件并配置HADOOP_HOME,JAVA_HOME
export JAVA_HOME=/opt/software/jdk1.8.0_60
export HADOOP_HOME=/opt/software/hadoop-2.7.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:
使文件生效source /etc/profile
格式化namenode
三台主机配置完成后需要在hadoop01上格式化,注意不要频繁格式化,格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。
hdfs namenode -format
开启集群
.start-dfs.sh
开启集群后可分别在三台主机使用jps命令查看启动状态
hadoop01:
hadoop02:
hadoop03
登录http://hadoop01:50070/ 访问webui
出现此页面即搭建成功。
关闭集群
stop-dfs.sh