Ububtu18.04安装Hadoop3.1.3全分布集群-持续更新问题集(上)

简介: Ububtu18.04安装Hadoop3.1.3全分布集群摘要Ububtu18.04安装1.选择NAT网络2.关闭防火墙3.SSH连接4.配置静态IP

摘要

本文主要基于Ububtu18.04完成Hadoop3.1.3的安装,并附带遇到的问题以及解决方案,目的在于读者可以根据本文无缝的完成集群部署,有遇到问题,请留言,看到会及时回复,如果有新的内容,本文会持续更新。

Ububtu18.04安装

本步骤网络教程较多,这里不再描述,如有需要再详细描述。

安装Ubuntu18.04的注意事项为:

1.选择NAT网络

我的NAT网关为192.168.33.2
• 1

2.关闭防火墙

sudo ufw status verbose #非管理员需加sudo即可

3.SSH连接

#如果ssh无法连接,可以安装openssh-server
sudo apt install openssh-server -y 
• 1
• 2

4.配置静态IP

搭建完全分布式Hadoop,需要固定的ip地址,故有此文。

一、进入命令终端,执行ifconfig命令,ip地址192.168.33.130,ens33是网卡信息,这个网卡信息再后面用得到,因为有不同的网卡,有的是ens37,所以在配置时要根据自己的机器网卡信息配置。

二、配置静态ip

cd /etc/netplan
ls
#返回,这个文件不用修改
01-network-manager-all.yaml
# 创建02-config.yaml文件,添加静态ip
sudo vi 02-config.yaml
#

进入02-config.yaml的编辑界面,yaml格式有严格要求,只需要修改192.168.33.130/24中的130部分就行。我的三台机器分别是130,131和132

    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          addresses:
            - 192.168.33.130/24
          gateway4: 192.168.33.2
          nameservers:
              addresses: [8.8.8.8, 1.1.1.1]

三、执行sudo netplan apply来使得配置生效

如果这一步出错,说明上一步的vi 02-config.yaml有问题,格式不对,可以参考错误信息百度查找。

sudo netplan apply 
• 1

四、再次查看ip:ifconfig

可以查看到静态IP配置完毕

4.使用hadoop用户

如果在创建虚拟机时就指定了hadoop用户,就不用执行本步骤,否则可以安装如下步骤执行:

如果你安装 Ubuntu 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。

1.首先按 ctrl+alt+t 打开终端窗口,输入如下命令创建新用户 :

#创建hadoop 用户,并使用 /bin/bash 作为 shell
sudo useradd -m hadoop -s /bin/bash
# 修改hadoop密码,这里设置为123456
sudo passwd hadoop
# 为hadoop用户添加sudo权限
sudo adduser hadoop sudo
#使用hadoop用户登录

在创建虚拟机时,我已经创建了hadoop用户,顾以上命令不用执行

5.设置主机名

# 临时设置hostname
hostname master
# 永久设置hostname
vi /etc/hostname
# 填写hostname值 192.168.33.130中为 master

6.配置/etc/hosts文件

# 编辑/etc/hosts
sudo vi /etc/hosts
# 设置如下,这样配置便于后面克隆虚拟机
192.168.33.130 master
192.168.33.131 slave1
192.168.33.132 slave2

7.更新 apt

建议参考

https://blog.csdn.net/zhangjiahao14/article/details/80554616

8.安装SSH、配置SSH无密码登陆

集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:

1.安装SSH server

sudo apt-get install openssh-server

2.安装后,登陆本机:

ssh master

此时会有如下提示(SSH首次登陆提示),输入 yes ,然后需要输入密码

3.配置成SSH无密码登陆

exit                           # 退出刚才的 ssh localhost
# 若没有该目录,请先执行一次ssh localhost
cd ~/.ssh/                     
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权方法1
# 加入授权方法2 或这种方法
ssh-copy-id -i .ssh/id_rsa.pub  hadoop@192.168.33.130 

4.无需输入密码,直接登陆

此时再用 ssh master命令,无需输入密码就可以直接登陆了

hadoop@hadoop-virtual-machine:~/.ssh$ ssh master
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 5.3.0-28-generic x86_64)

9.Ubuntu 18.04有线连接未托管

参考:

https://blog.csdn.net/p1279030826/article/details/116328260

解决:

1、编辑 interfaces:

sudo vim /etc/network/interfaces

确定文件里面只保留下面的内容:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

2、编辑 NetworkManager.conf:

sudo vim /etc/NetworkManager/NetworkManager.conf

将managed改为true,修改后的NetworkManager.conf:

    [main]
    plugins=ifupdown,keyfile
    [ifupdown]
    managed=true
    [device]
    wifi.scan-rand-mac-address=no

3、分析:查看NetworkManager的配置:

sudo NetworkManager --print-config
• 1

里面有一项内容,显示NetworkManager管理的设备情况:

[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:wwan

这表示配置文件里只有无线设备,没有有线网卡。

4、修改这个文件:

sudo vim /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf

在语句中添加

找到“unmanaged-devices”一行,在最后添加

,except:type:ethernet

[keyfile]
unmanaged-devices=*,except:type:ethernet,except:type:wifi,except:type:wwan

然后运行

sudo systemctl restart NetworkManager
• 1

Hadoop安装

1.准备

Ubuntu 18.04 64位

Hadoop版本:Hadoop3.1.3

hadoop集群搭建详细过程(完全分布式)

1.上面已经配置ubuntu安装,静态IP配置,免密登录等操作

下面提供hadoop3.1.3和jdk8的安装百度网盘

链接:https://pan.baidu.com/s/1oja60SdCYOGKoLZZSRTBfA 
提取码:2021 
--来自百度网盘超级会员V7的分享

2.具体过程

1.三台虚拟机的初始设置

搭建分布式主要用三台虚拟机:master、slave1、slave2,可以先不进行克隆,等一台机器配置好后克隆再到相应的机器去修改。

master目前配置:

hostname为master
配置静态IP,静态IP为192.168.33.130
免密登录已经完成
关闭防护墙
用户名为hadoop,密码为123456
配置/etc/hosts文件,并在该文件中标注了
>   192.168.33.130  master
    192.168.33.131  slave1
    192.168.33.132  slave2

2.在master节点安装JDK

解压下载的jdk文件到 /home/hadoop/opt/app/jdk目录下

hadoop@master:~/$ tar zxf jdk-8u162-linux-x64.tar.gz -C ~opt/app/jdk

编辑~./bashrc文件,快捷键G可快速切换到在文件尾部

sudo vim ~./bashrc #修改当前用户即可
• 1

配置JAVA_HOME等环境变量

export JAVA_HOME=/home/hadoop/opt/app/jdk
export JRE_HOME=/home/hadoop/opt/app/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

输入下面的命令测试是否配置成功:

java -version

成功信息:

3.在master节点安装Hadoop

Hadoop有三种运行模式,这只讲完全分布式的配置。

具体三种模式可见:

https://blog.csdn.net/zane3/article/details/79829175

解压官网下载Hadoop的压缩包

hadoop@master:~/下载$ tar -zxf hadoop-3.1.3.tar.gz -C ~/opt/app/

编辑~./bashrc文件,快捷键G可快速切换到在文件尾部

sudo vim ~./bashrc #修改当前用户即可

配置HADOOP_HOME等环境变量

export HADOOP_HOME=/home/hadoop/opt/app/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

编辑Hadoop目录下的子目录etc/Hadoop目录文件Hadoop-env.sh文件:

将JAVA_HOME设为jdk所在绝对路径(否则运行时可能会出现找不到的情况)

export JAVA_HOME=/home/hadoop/opt/app/jdk

单机测试:

# 查看版本号
hadoop@master:~/opt/app/hadoop$ hadoop version
hadoop@master:~/opt/app/hadoop$ cd /home/hadoop/opt/app/hadoop
hadoop@master:~/opt/app/hadoop$ mkdir ./input
# 将配置文件作为输入文件
hadoop@master:~/opt/app/hadoop$ cp ./etc/hadoop/*.xml ./input   
# 测试MR程序
hadoop@master:~/opt/app/hadoop$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep ./input ./output 'dfs[a-z.]+'
hadoop@master:~/opt/app/hadoop$ cat ./output/*
# 输出如下表示正确
1       dfsadmin

伪分布安装:

接着配置Hadoop的四个配置文件(core-site.xml ,mapred-site.xml,hdfs-site.xml,yarn-site.xml,对应Hadoop的四个主要组成部分:核心包,HDFS文件系统,MapReduce模型,yarn资源调度框架)

core-site.xml的配置:

    <configuration>
    <property>
     <name>fs.default.name</name>
     <value>hdfs://master:9000</value>
    </property>
    <property>
     <name>hadoop.tmp.dir</name>
     <value>/home/hadoop/opt/app/hadooptmp</value>
    </property>
    </configuration>

hdfs-site.xml配置:

    <configuration>
    <property>
      <name>dfs.replication</name>
      <value>1</value>
    </property>
    </configuration>

若是没有该文件,使用复制命令从当前目录下模板复制(可选)

cd ~/opt/app/hadoop
cp ./etc/hadoop/mapred-site.xml.template hadoop/etc/hadoop/mapred-site.site.xml

mapred-site.xml配置:

    <configuration>
    <property>
      <name>mapred.job.tracker</name>
      <value>master:9001</value>
     </property>
     <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
     </property>
    </configuration>

yarn-site.xml配置(初始可不设置):

    <configuration>
         <property>
             <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
         </property>
         <property>
             <name>yarn.resourcemanager.webapp.address</name>
             <value>master:8088</value>
         </property>
    </configuration>

在该目录下/home/hadoop/opt/app/hadoop/etc/hadoop目录下添加workers文件,文件内容为:

master
slaves1
slaves2


相关文章
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
149 6
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
33 3
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
57 3
|
1月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
62 1
|
1月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
39 1
|
1月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
42 1
|
分布式计算 Ubuntu Hadoop
Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)
Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)
1026 0
Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
65 2
|
18天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
63 2