hdfs搭建

HDFS完全分布式集群搭建过程

我的搭建环境
Centos7 Hadoop2.7.7 CRT

1、搭建前应进行的操作

  1. 安装3台CentOS7系统的主机

  2. 修改IP地址与主机名

1、查看自己的IP地址 ifconfig

2、修改自己的IP地址

因为我创建的一台虚拟机后,其他两台虚拟机是克隆而来,因此IP地址一致,则需要修改

cd /etc/sysconfig/network-scripts
vim ifcfg-ens33

执行上面命令后里面的内容如下

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none #此处设置为none,或static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1337141d-6fdf-4567-a581-bc4ec621052f
DEVICE=ens33
ONBOOT=yes
ETHTOOL_OPTS="autoneg on"
IPADDR=192.168.236.236 #第一台机器地址可不做修改,改后两台即可
PREFIX=24
GATEWAY=192.168.236.2
DNS1=192.168.236.2

修改保存之后重启网络使其生效
systemctl restart network

3、修改主机名,三台机器统一执行

echo -e "192.168.236.236 wq1\n192.168.236.237 wq2\n192.168.236.238 wq3" >> /etc/hosts
  1. 配置SSH免密登录

后期三台机器之间互相操作频繁,需要多次输入密码,因此设置

1、把老的锁和钥匙都扔了
rm -rf /root/.ssh

2、配钥匙
集群中的所有机器执行,输入该命令后点击回车三次
ssh-keygen -t rsa

3、发钥匙
三台机器都要执行下面的命令

# 将钥匙复制给wq1
ssh-copy-id wq1
# 将钥匙复制给wq2
ssh-copy-id wq2
# 将钥匙复制给wq3
ssh-copy-id wq3
  1. 配置环境变量
    我自己安装的是JDK1.8版本,安装在 /opt/jdk1.8
    hadoop2.7.7 安装在、/opt/hadoop2.7.7

配置环境变量-JDK-hadoop

#修改配置文件
vim /etc/profile 
#插入下面内容
export JAVA_HOME=/opt/jdk1.8
export PATH=.:$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/opt/hadoop-2.7.7
export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
# 保存后刷新/etc/profile
source /etc/profile

2、开始搭建

我的hadoop安装位置在 /opt/hadoop2.7.7
下面的这些配置文件在 /opt/hadoop-2.7.7/etc/hadoop

修改配置文件

组件\主机wq1wq2wq3
HDFSNameNode DataNodeDataNodeSecondaryNamenode DataNode

NameNode在core-site.xml下,主机wq1作为NameNode
DataNode在slaves中设置,每台机器都作为DataNode
SecondaryNamenode 设在wq3主机上上

1、对hadoop-env.sh做如下操作,一行则是一步

cd /opt/hadoop-2.7.7/etc/hadoop
vim hadoop-env.sh
#缺少此步骤出现Java HOME not found异常
export JAVA_HOME=/opt/jdk1.8

2、core-site.xml

cd /opt/hadoop-2.7.7/etc/hadoop
vim core-site.xml
<property>
    <!-- 配置默认的文件系统(配置NameNode服务启动的主机和端口) -->
    <name>fs.defaultFS</name>
    <value>hdfs://wq1:9000/</value>
</property>
<property>
    <!-- 配置hdfs文件保存的目录,当前选择放在Hadoop的安装目录下 -->
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop-2.7.7/data</value>
</property>

3、hdfs-site.xml

wq1有了NameNode,则下面这部分不用加上,另两台主机需要加上并根据主机名修改

cd /opt/hadoop-2.7.7/etc/hadoop
vim hdfs-site.xml
<property>
    <!-- 配置固定的节点启动SecondaryNamenode -->
    <name>dfs.namenode.secondary.http-address</name>
    <value>wq2:50090</value>
</property>

4、slaves

每台机器都要有该部分内容

cd /opt/hadoop-2.7.7/etc/hadoop
vim slaves
# 将来需要启动从节点(对于HDFS来说就是DataNode)的主机名
wq1
wq2
wq3

5、格式化

hdfs namenode -format

6、启动

目前hadoop的组件只有hdfs ,所以单独启动即可

# hadoop全部组件的启动和关闭
start-all.sh
start-stop.sh
# 单独启动和关闭hdfs的全部组件
start-dfs.sh
stop-dfs.sh

7、检验

输入jps产生如下命令,集群搭建成功

[root@wq1 ~]# jps
13076 Jps
4501 DataNode
4358 NameNode
4681 SecondaryNameNode

[root@wq2 ~]# jps
8515 DataNode
9189 SecondaryNameNode
9305 Jps

[root@wq3 ~]# jps
9024 SecondaryNameNode
9701 Jps
8591 DataNode

3、一些常见的异常

hdfs的web界面无法访问,查看防火墙状态,关闭防火墙(namenode,datanode进程已启动)

[root@wq1 hadoop]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 一 2021-05-31 09:47:24 CST; 1h 16min ago
[root@wq1 hadoop]# systemctl stop firewalld  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值