在ubuntu上安装hadoop完分布式

news/2024/7/9 23:14:04 标签: postgresql, 数据库, hadoop, 完全分布式

准备工作

Xshell安装包

Xftp7安装包

虚拟机安装包

Ubuntu镜像源文件

Hadoop包

Java包

一、安装虚拟机

创建ubuntu系统

完成之后会弹出一个新的窗口 

跑完之后会重启一下

按住首先用ctrl+alt+f3进入命令界面,输入root,密码登录管理员账号

按Esc

然后输入

:wq

冒号也要输入

然后找到语言文件

vi /etc/default/locale

最后一行加上以下语句后保存

LC_ALL=zh_CN.UTF-8
reboot

完成之后

在按ctrl+alt+f1进入图形界面

配置完成之后先关闭虚拟机

先配置网络结构

点击设置

之后点击网络

修改完网络配置之后在重启ubuntu

连接Xshell

说明:需要提前先安装好 Xshell 和 Xftp

输入之后,可能中间会中断一次,不要担心,按enter继续就可以了  

​编辑

将 jdk的包(Linux版)

Hadoop的镜像文件(Hadoop的包)

eclipse(linux版)

这几个包从winws转到虚拟机中

开始下一步操作

 设置 hostname(3 个虚拟机都设置)

hostname 设置计划

主节点:master

从节点 1:slave1

从节点 2:slave2

切换到 root 用户

su - //切换root用户

修改 hostname

vi /etc/hostname

删掉原有内容,写入:master

按ESC

输入 :wq  分号也要输入

重启后显示新的 hostname

 切换到hadoop用户

su hadoop

允许hadoop用户使用超级权限(superprivileges,也称root权限)

注意:默认情况下,不允许普通用户使用超级权限,如果以sudo

 作为开头输入指令,会出现如下提示,告知当前用户不在允许使用超级权限的文件内。

需要将当前用户添加到sudoers文件中。

切换到root用户

su -

编辑/etc/sudoers文件

vi /etc/sudoers

移动到文件底部,在rootALL=(ALL) ALL下添加:

                                [username]ALL=(ALL) ALL

添加后强制保存:wq! 退出。使用exit指令退出root用户(会返回到hadoop用户)

exit

 4. 关闭防火墙(3个虚拟机都设置)

查看防火墙运行状态,返回running表示防火墙正在运行中。

sudo ufw status

临时关闭防火墙(系统重启后防火墙又会自动启动)

sudo systemctl stop ufw.service

 需要禁止防火墙自动启动(永久关闭)

sudo systemctl disable ufw.service

查看防火墙运行状态,返回running表示防火墙正在运行中。

sudo ufw status

如果终端输出“Status: inactive”,则表示防火墙已成功关闭。

 

 (5)设置IP地址(3个虚拟机都设置)

注意:网段必须与VMnet8子网IP的网段保持一致,网段中xxx.xxx.xxx.1和xxx.xxx.xxx.2(网关(GATEWAY))这两个地址不能使用。例:本机的VMnet8网段为192.168.56.0,则192.168.56.1和192.168.56.2不能使用。可选的IP地址范围为:192.168.56.3-192.168.56.255。

IP地址分配计划

master 192.168.56.3

slave1 192.168.56.4

slave2 192.168.56.5

 有命令和窗口页面两种操作方式

窗口页面操作

点击设置(setting)

按照下面的图片内容填写

 查看IP地址

ip addr show

 6)设置每台主机hostname到IP的映射关系3个虚拟机都设置)

sudo vi /etc/hosts

 在配置文件中追加3行

192.168.126.3 master

192.168.126.4 slave1

192.168.126.5 slave2

  测试hostname是否可用

sudo vi /etc/hosts

终止按钮

ctrl c

配置SSH免密登录

(1)生成秘钥对

ssh-keygen -t rsa

2)发送公钥 先发给自己(装完三个节点之后在发送给slave1、slave2)

将master节点上hadoop用户的公钥发给各个节点的hadoop用户(包括自己)

在这样说明一点,要将三台hadoop配置完毕之后在发送其它两台的,下面的代码

要在master节点下一行一行输入

正在途中还要输入yes,密码,

ssh-copy-id  -i  /home/hadoop/.ssh/id_rsa.pub hadoop@master

ssh-copy-id  -i  /home/hadoop/.ssh/id_rsa.pub hadoop@slave1(slave1节点装完在输入)

ssh-copy-id  -i  /home/hadoop/.ssh/id_rsa.pub hadoop@slave2(slave2节点装完在输入)

 3)测试免密登录

ssh master

(1)安装jdk和hadoop

先解压文件

输入代码

jdk-8u301-linux-x64.tar.gz 是文件名,要改成自己的文件名

hadoop-2.10.1.tar.gz 是文件名,要改成自己的文件名

tar -zxvf jdk-8u301-linux-x64.tar.gz

tar -zxvf hadoop-2.10.1.tar.gz

移动至/usr/local 路径下

移动jdk

sudo mv jdk1.8.0_301 /usr/local/jdk1.8.0

移动hadoop

sudo mv hadoop-2.10.1 /usr/local/

安装 vim 编辑器,不安装的话可以使用自带的 vi 编辑器

(功能相对少)

sudo apt install vim

打开环境变量配置文件

sudo vim /etc/profile

在文件末尾插入以下定义

export JAVA_HOME=/usr/local/jdk1.8.0

export HADOOP_HOME=/usr/local/hadoop-2.10.1

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

按Esc

然后输入

:wq

$ source /etc/profile

测试是否配置成功

测试Hadoop是否安装完成

hadoop version

测试Java是否安装完成

java -version

 配置Hadoop

建立保存临时目录的路径

sudo mkdir -p /usr/data/hadoop/tmp

Hadoop 默认启动的时候使用的是系统下的 /temp 目录下,但 是在每一次重启的时候系统都会将其自动清空 ,如果没有临 时的储存目录有可能会在下一次启动 Hadoop 的时候出现 问题。

为防止 Hadoop 运行时出现权限的问题,需要将/usr/data 目 录及其子目录的拥有者全部从 root 改为用户名。 (这里以本机用户名 silin 为例。)

sudo chown sillin:silin -R /usr/data

(4)Hadoop分布式配置(master节点)

进入hadoop安装文件下的/etc/hadoop/文件夹中。

cd  /usr/local/hadoop-2.10.1/etc/hadoop

配置hadoop-env.sh脚本文件

将${JAVA_HOME}改为jdk的实际安装路径

vi hadoop-env.sh

 将${JAVA_HOME}改为jdk的实际安装路径

 配置core-site.xml配置文件

vi core-site.xml
<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/data/hadoop/tmp</value>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://hostname:9000</value>

</property>

</configuration>

配置hdfs-site.xml的配置文件 

vi hdfs-site.xml
<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

     </property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

</configuration>

 将mapred-site.xml.template更名为mapred-site.xml并编辑

cp mapred-site.xml.template mapred-site.xml

vi mapred-site.xml
<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

 配置yarn-site.xml

vi yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hostname</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

vi slaves

到这里master节点就完成了

但是我们需要配置三个节点

要用到虚拟机里面的复制

 一定要选完全复制

点击完成就行了

复制两份

要改里面的hostname,和hostname的文件

 (5)格式化namenode

hdfs namenode -format

(9)启动(第一次启动需要输入yes)

start-dfs.sh

start-yarn.sh

输入jps确认

jps

Master节点

Slave1节点

Slave2节点

 参考链接:

在ubuntu上安装hadoop完分布式-CSDN博客

 在Centos7下安装Hadoop的完全分布_在ubantu上下载hadoop-CSDN博客

如何在Ubuntu下安装伪分布hadoop_ubantu hadoop伪分布式-CSDN博客


http://www.niftyadmin.cn/n/5405027.html

相关文章

冒泡排序(C语言详解)

原理&#xff1a;从左到右一次比较&#xff0c;如果左侧数字比右侧数字大&#xff08;小&#xff09;&#xff0c;则两数交换&#xff0c;否则比较下一 组数字&#xff0c;每一次大循环比较可以将乱序的最右侧数字改为最大&#xff08;最小&#xff09;&#xff0c…

数据分析业务面试题

目录 Q1:请简述数据分析的工作流程? Q2:你经常用到的数据分析方法有哪些,举例说明? Q3:公司最近一周的销售额下降了,你如何分析下降原因? Q4:店铺销售额降低如何分析? Q5:若用户留存率下降如何分析? Q6:店铺商品销售情况分布后 Q7:如何描述店铺经营状况?…

突破编程_C++_STL教程( list 的高级特性)

1 std::list 的排序 1.1 基础类型以及 std::string 类型的排序 std::list的排序可以通过调用其成员函数sort()来实现。sort()函数使用默认的比较操作符&#xff08;<&#xff09;对std::list中的元素进行排序。这意味着&#xff0c;如果元素类型定义了<操作符&#xff…

【前端寻宝之路】学习如何使用HTML实现简历展示和填写

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-iJ3Ou0qMGFVaqVQq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

【离散化】【 树状树状 】100246 将元素分配到两个数组中

本文涉及知识点 离散化 树状树状 LeetCode 100246 将元素分配到两个数组中 给你一个下标从 1 开始、长度为 n 的整数数组 nums 。 现定义函数 greaterCount &#xff0c;使得 greaterCount(arr, val) 返回数组 arr 中 严格大于 val 的元素数量。 你需要使用 n 次操作&#x…

批处理(Batch Processing)概念

批处理&#xff08;Batch Processing&#xff09;这一概念在不同上下文中可有不同的含义&#xff1a; 传统操作系统层面&#xff1a; 在早期的操作系统中&#xff0c;批处理是指一种处理模式&#xff0c;用户将一系列作业&#xff08;job&#xff09;按照一定的顺序组织起来&am…

java八股文复习-----2024/03/03

1.接口和抽象类的区别 相似点&#xff1a; &#xff08;1&#xff09;接口和抽象类都不能被实例化 &#xff08;2&#xff09;实现接口或继承抽象类的普通子类都必须实现这些抽象方法 不同点&#xff1a; &#xff08;1&#xff09;抽象类可以包含普通方法和代码块&#x…

事故预测 | Matlab基于FuzzySVR模糊支持向量机多特征变量事故预测

事故预测 | Matlab基于FuzzySVR模糊支持向量机多特征变量事故预测 目录 事故预测 | Matlab基于FuzzySVR模糊支持向量机多特征变量事故预测预测效果基本描述程序设计参考资料 预测效果 基本描述 Matlab基于FuzzySVR模糊支持向量机多特征变量事故预测 运行环境: Matlab2023及以 上…