一文搞定使用vm搭建Hadoop集群

hadoop集群搭建

1.安装前准备

安装vm,后创建3台虚拟机;

不会使用vm的可以参考下:blog

安装完成我们设置下网关

启动三台虚拟机。 

三台虚拟机配合固定ip地址

#修改主机名
hostnamectl set-hostname  node1
#那么其他两台就是 node2 node3
​
#三台虚拟机都修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33 

进入修改IP地址的原文件

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="c89f0ee9-fef6-4846-bf06-eb40c180e071"
DEVICE="ens33"
ONBOOT="yes"
~     
 

修改成:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"  #设置默认
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="c89f0ee9-fef6-4846-bf06-eb40c180e071"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.88.101" # node1的ip地址 难么node2就是102 node3就是103
NETMASK="255.255.255.0" #子网掩码
GATEWAY="192.168.88.2"  #网关
DNS1="192.168.88.2"     #dns解析

重新启动网关

systemctl restart network

Windows配置主机名的映射

#文件目錄
C:\Windows\System32\drivers\etc\host
#添加ip映射 以上面配置举例子
192.168.88.101 node1
192.168.88.102 node2(主机名称,自己取什么这里写什么)
192.168.88.103 node3

linux配合主机名的映射

#文件目录
vim /etc/hosts
​
#Windows以上的配置
192.168.88.101 node1
192.168.88.102 node2(主机名称,自己取什么这里写什么)
192.168.88.103 node3

配置ssh免密登录

#每台都使用指令生成秘钥 一路回车即可
ssh-keygen -t rsa -b 4096
​
#然后再每台机器执行
ssh-copy-id 主机名(node1)
#输入yes,然后自己的服务器密码

建议执行

此处已规范来讲的话需要,在公司中不建议你使用root去启动Hadoop或者其他项目等,所有此处建议创建新用户去启动。

2.安装jdk

查看指令全局配置:echo $PATH

  1. 创建文件夹 mkdir /opt/jdk

  2. 通过xftp6上传到 /opt/jdk下

  3. cd /opt/jdk

  4. 解压 tar -zxvf xxx.tar.gz

  5. mkdir /usr/local/java

  6. mv /opt/jdk/jdk1.8.0_261 /usr/local/java 移动到指定位置

  7. 配置环境变量的配置文件 vim /etc/profile

  8. export JAVA_HOME=/usr/local/java/jdk1.8.0_261

  9. export PATH=$JAVA_HOME/bin:$PATH

  10. source /etc/profile 重新加载配置文件

  11. 测试java -version

三台都需要配置。

 配置第一台后可以使用指令

scp -r /usr/local/java/jdk1.8.0_261  node2:`pwd`/

# scp -r 文件目录  服务器名称:文件位置

下载地址:Java Downloads | Oracle

3.设置

#在学习阶段尽量把防火墙关闭
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld #关闭自动启动

设置时间同步

yum install -y ntp
#更新时区
rm -f /etc/localtime;sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
#同步啊里时间
ntpdate -u ntp.aliyun.com
#开启ntp服务开机自启
systemctl start ntpd
systemctl enable ntpd

4.安装Hadoop

搭建节点为:

地址:Apache Download Mirrors

上传到node1节点

cd ~
#创建文件夹
mkdir -p /export/server
#解压hadoop
 tar -zxvf hadoop-3.3.6.tar.gz -C /export/server/
#构建软连接
ln -s /export/server/hadoop-3.3.6 hadoop

修改配置

#进入
/export/server/hadoop/etc/hadoop
#配置workers文件
vim workers
#填下内容
node1(自己上面配置的主机名)
node2
node3

配置 hadoop-env.sh

#上面完成后开始hadoop-env.sh配置
vim hadoop-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_261 #JDK环境位置
export HADOOP_HOME=/export/server/hadoop    #指明hadoop安装位置
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop #指明hadoop配置文件目录
export HADOOP_LOG_DIR=$HADOOP_HOME/logs #运行日志

配置core-site.xml

<!-- 上面完成后开始 core-site.xml配置 -->
vim 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>

配置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/nn</value>
        </property>
        <property>
            <name>dfs.namenode.hosts</name>
            <value>nodel.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/dn</value>
        </property>
    </configuration>

解释:

创建配置文件夹

#在node1上创建
mkdir -p  /data/nn
mkdir /data/dn
#在node2和node3上创建
mkdir -p /data/dn
mkdir -p /export/server

分发文件夹到其他虚拟机

cd /export/server
#分发node2
scp -r hadoop-3.3.6 node2:`pwd`/
ln -s /export/server/hadoop-3.3.6 hadoop  #构建软连接
#分发node3
scp -r hadoop-3.3.6 node3:`pwd`/
ln -s /export/server/hadoop-3.3.6 hadoop  #构建软连接

配置环境变量

#三台虚拟机都要配置
vim /etc/profile
​
#尾部追加
export HADOOP_HOME=/export/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
​
#重载
source /etc/profile

授权上面所创建的hadoop用户

#三台虚拟机的用户都要授权
chown -R /exprot
chown -R /data

说明成功

格式化及启动

su -hadoop
hadoop namenode -format
#如果这里包java_home错误,请检查hadoop-env.sh里面的java配置目录是否正确
​
#---启动---
start-dfs.sh
​
#---关闭---
stop-dfs.sh

说明成功了

如果上面配置了Windows的ip映射我们可以访问:http://node1:9870/dfshealth.html,如果没有那就把node1换成(node1)ip地址。

问题:在下次启动时不时出现无法使用xshell连接,ifconfig无IP地址。

systemcel stop NetworkManage;
systemcel disableNetworkManage;
systemctl restart network

执行以上指令。

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值