Ubuntu20.04中Hadoop安装教程

参考文章:

https://dblab.xmu.edu.cn/blog/4193/

环境说明:

我使用的是在VM中搭建Ubuntu20.04.6 64位。

内存大小:4GB

硬盘大小:50GB(请勿太小,可能不够用)

用户名:Hadoop(可以跳过上述文章里的创建hadoop用户)

创建Hadoop用户(若用户名不是Hadoop,需要创建,若用户名是Hadoop则跳过)

#创建用户Hadoop
sudo useradd -m Hadoop -s /bin/bash
#设置密码:输入两次密码
sudo passwd Hadoop
#增加管理员权限
sudo adduser hadoop sudo

返回登录界面(右上角齿轮,选择注销),在登录界面中选择Hadoop用户进行登录。

更新apt

sudo apt-get update

系统提示“cuser is not in the sudoers file时。解决方法:

方法一:网址里面的方法

sudo adduser hadoop sudo

方法二:上面的方法不可以:

其实就是没有权限进行sudo,解决方法如下(这里假设我们的用户名是Hadoop):

1.切换到超级用户:$ su

2.打开/etc/sudoers文件:$vi /etc/sudoers

3.修改文件内容:

找到“root    ALL=(ALL)       ALL”一行,在下面插入新的一行,内容是“HadoopALL=(ALL)       ALL”,

然后在vi键入命令“wq!”保存并退出。

注:这个文件是只读的,不加“!”保存会失败。

4.退出超级用户:$ exit

5.可以尽情使用sudo了。

 

安装SSH、配置SSJ无密码登

搭建hadoop集群为什么要设置SSH无密码登录?

Hadoop依赖于分布式环境中的节点自动执行任务,在搭建Hadoop集群的时候,SSH无密码登录可以使得各个节点之间相互通信(主节点启动,停止,监控从节点时)不需要人为干预,能够使得主节点能够通过SSH远程执行命令(停止,启动Hadoop进程)。

Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:

sudo apt-get install openssh-server

设置无密码登录:

ssh localhost
exit                           # 退出刚才的 ssh localhost
cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

现在再使用ssh localhost 命令,无需输入密码就可以直接登陆了。 

 

3d784a9d35874f27ba201e2668090eb0.png

 

安装java环境

在虚拟机中安装百度网盘:打开虚拟机的火狐,打开链接 可以点击这里到百度云盘下载JDK1.8安装包(提取码:ziyu)

196bc51e39fc4d88ba7315d6e276d23e.png

打开软件,点击下载jdk-8u........gz文件,会提示先下载百度网盘,点击下载.deb版本的,下载好后如图

28a587c28242421ea71f8bd4230e832d.png

如果你已经下载了 `baidunetdisk4.17/7_amd64.deb` 文件,这是百度网盘的 Debian 包,可以直接在 Ubuntu 或其他基于 Debian 的系统上安装。

安装步骤:

1. 使用 `dpkg` 安装 `.deb` 文件

你可以通过 `dpkg` 命令来安装这个 `.deb` 文件:

sudo dpkg -i baidunetdisk4.17/7_amd64.deb

这会解压并安装该百度网盘客户端。

 2. 解决依赖问题(如果有)

如果安装过程中遇到依赖性问题,可以使用以下命令来解决缺失的依赖:

sudo apt --fix-broken install

这个命令会自动安装所需的依赖项,并完成百度网盘的安装。

e08a9082183246cc8c04305c72831b48.png

 3. 启动百度网盘

安装完成后,可以通过应用程序菜单搜索 "Baidu Netdisk" 来启动百度网盘,登录进去后。

再次回到网页版的百度网盘就可以下载文件

58c6155e9f1b4ef1a3e40ed571f5f43f.png

 

在Linux命令行界面中,执行如下Shell命令(注意:当前登录用户名是hadoop):

cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd ~ #进入hadoop用户的主目录
cd Downloads  #注意区分大小写字母,刚才已经通过FTP软件把JDK安装包jdk-8u371-linux-x64.tar.gz上传到该目录下
sudo tar -zxvf ./jdk-8u371-linux-x64.tar.gz -C /usr/lib/jvm  #把JDK文件解压到/usr/lib/jvm目录下

下面继续执行如下命令,设置环境变量:

cd ~
vim ~/.bashrc

打开了hadoop这个用户的环境变量配置文件,请在这个文件的开头位置,添加如下几行内容:

Tips:vim编辑器使用方法:

输入i:进入编辑模式,把上面内容复制到文档里

按键盘左上角Esc键:退出编辑模式

输入:qw! :保存退出文件

保存.bashrc文件并退出vim编辑器。然后,继续执行如下命令让.bashrc文件的配置立即生效:

source ~/.bashrc

查看是否安装成功:

java -version

若出现下面,则安装成功:

hadoop@ubuntu:~$ java -version
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

79c77da0b65347bc8a7963f4c4970cc9.png

 726109210e5343f097ad11bd1b1dae03.png

37de292789d24d66bdea102e542c0dbc.png

安装Hadoop3.4.0

在Ubuntu的火狐浏览器里输入直接下载Hadoop3.4.0:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/hadoop-3.4.0.tar.gz

 下载可能会很久(30min左右,中间不能熄屏,熄屏了要点击继续下载):

下载好之后:在Download里面可以看到Hadoop3.4.0.gz

进行下面操作

sudo tar -zxvf ~/下载/hadoop-3.4.0.tar.gz -C /usr/local   # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-3.4.0/ ./hadoop            # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop       # 修改文件权限

#下载好后检查是否成功
cd /usr/local/hadoop
./bin/hadoop version

4d3c599a0188492dafa28afea5e675f6.png

Hadoop单机配置(非分布式)

根据本文头链接,一步一步很简单的,放上成功截图。

b7d8a992b6f9414e9730acac6c3be48e.png

 Hadoop伪分布式配置

 Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

#输入命令行
gedit ./etc/hadoop/core-site.xml

#把文件中的:
<configuration>
</configuration>

#修改为:
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
#输入命令行
 gedit ./etc/hadoop/hdfs-site.xml

#同理修改成:
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

ed93e1f7766d477bbc903849599de1f6.png

修改后文件:

5763e4cee26b4c1e9cbb746f69ae5eee.png

配置完成后,执行 NameNode 的格式化:

cd /usr/local/hadoop
./bin/hdfs namenode -format

03cb571ca7da4b7182c08621b5343e52.png

 成功标志:

889940a2a6914d119514dab7f341c1f0.png

接着开启 NameNode 和 DataNode 守护进程。

cd /usr/local/hadoop
./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格

红色为正常的表现。

若多次运行,出现绿色的报错,也不要惊慌。这个意思是DateNode已经启动了,不是有问题。 【报错信息:Starting namenodes on [localhost]
localhost:namenode is running as process 20609.Stop it first and ensure /tmp/hadoop-Hadoop-namenode.pid file is empty before retry.】

821f7f3c39944c3eb7e6a4b8e80fe796.png

启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: 

jps

d0f3e5af06bc4a399067f5da8de4dfc0.png

关闭 Hadoop

./sbin/stop-dfs.sh

下次启动 hadoop 时,无需进行 NameNode 的初始化,只需要运行 ./sbin/start-dfs.sh 就可以!

66892d9d40bf4b0897bf5dc37aafe004.png

 

参考链接:

linux 下hadoop is not in the sudoers file. This incident will be reported._hadoop is not in the sudoers file. this incident w-CSDN博客

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值