【双系统Ubuntu 22.04 安装hadoop2.10全过程】

因为手闲误删了windowsC盘的系统文件导致重装系统,又重装了四五遍Ubuntu和安装hadoop,每次都要查大量资料。这次干脆整合资源至此!(愿天下没有C盘误删)

  • hadoop安装过程(参考[阿里云文档](https://developer.aliyun.com/adc/scenario/cf48abdfe41e4187be079722b9dc15b6?spm=a2c6h.13858378.0.0.68b124f0LCUU4g))
        • (1)安装及配置JDK环境
        • (2)安装及配置Hadoop环境
        • (3)配置Hadoop
        • (4)配置SSH免密登录
        • (5)启动Hadoop

hadoop安装过程(参考阿里云文档)

踩坑用红色

(1)安装及配置JDK环境

0.终端直接启用root,避免后续权限问题(若root初始化需要添加密码:sudo passwd root)

su root

1.下载JDK1.8安装包(这是最高效的安装方式

wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz

2.解压下载的JDK1.8安装包

tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz

3.执行以下命令,移动并重命名JDK包(/usr/java8是可配置路径,可以自行选择路径,自行选择的路径在之后的配置文件时都要跟着走

mv java-se-8u41-ri/ /usr/java8

4.执行以下命令,配置Java环境变量。

echo 'export JAVA_HOME=/usr/java8' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

5.执行以下命令,查看Java是否成功安装。

java -version

如果返回以下信息,则表示安装成功。

root@tmnk-linux:~$ java -version
openjdk version "1.8.0_41"
OpenJDK Runtime Environment (build 1.8.0_41-b04)
OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)

(2)安装及配置Hadoop环境

1.下载Hadoop安装包

wget --no-check-certificate https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz

2.解压Hadoop安装包至/opt/hadoop(同上,/opt/hadoop路径可自由配置,但后续配置也都要跟着走

tar -zxvf hadoop-2.10.1.tar.gz -C /opt/
mv /opt/hadoop-2.10.1 /opt/hadoop

3.配置Hadoop环境变量

echo 'export HADOOP_HOME=/opt/hadoop/' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile
source /etc/profile    

4.修改配置文件yarn-env.sh和hadoop-env.sh

echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/yarn-env.sh
echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/hadoop-env.sh

5.测试Hadoop是否安装成功

hadoop version

如果返回以下信息,则表示安装成功

root@tmnk-linux:~$ hadoop version
Hadoop 2.10.1
Subversion https://github.com/apache/hadoop -r 1827467c9a56f133025f28557bfc2c562d78e816
Compiled by centos on 2020-09-14T13:17Z
Compiled with protoc 2.5.0
From source with checksum 3114edef868f1f3824e7d0f68be03650
This command was run using /opt/hadoop/share/hadoop/common/hadoop-common-2.10.1.jar

此处有天坑:如果关闭终端或重启后发现已经配置好的环境失效了,那么用vim ~/.bashrc 打开.bashrc文件,复制/etc/profile文件里配置好的那堆PATH,粘贴至.bashrc中保存退出,最后命令source /etc/profile生效即可

(3)配置Hadoop

1.修改Hadoop配置文件 core-site.xml
a. 执行以下命令开始进入编辑页面

vim /opt/hadoop/etc/hadoop/core-site.xml

b. 输入i进入编辑模式

c. 在《configuration》 《/configuration》节点内插入如下内容(注意:tmnk-linux是自个儿的主机名!


    hadoop.tmp.dir
    file:/opt/hadoop/tmp
    location to store temporary files


    fs.defaultFS
    hdfs://tmnk-linux:9000 

d. 按Esc键退出编辑模式,输入:wq保存退出

2.修改Hadoop配置文件 hdfs-site.xml

a. 执行以下命令开始进入编辑页面

vim /opt/hadoop/etc/hadoop/hdfs-site.xml

b. 输入i进入编辑模式

c. 在《configuration》《/configuration》节点内插入如下内容(注意:tmnk-linux是自个儿的主机名,0.0.0.0:50070不要动,如果之前更改过hadoop路径这里就要跟着走了

       
               dfs.namenode.http.address
               tmnk-linux:50070
       

       
            dfs.http.address
            0.0.0.0:50070
       

       
            dfs.replication
            1
       

    
    dfs.namenode.name.dir
            file:/opt/hadoop/tmp/dfs/name
    

    
            dfs.datanode.data.dir
            file:/opt/hadoop/tmp/dfs/data
    

d. 按Esc键退出编辑模式,输入:wq保存退出(修改文件最好用vim,因为遇到读写权限问题时可以直接:wp!强制保存退出

(4)配置SSH免密登录

  1. 创建公钥和私钥(除了y其他都可回车)
ssh-keygen -t rsa

演示:

root@tmnk-linux:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tmnk/.ssh/id_rsa): 
/home/tmnk/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/tmnk/.ssh/id_rsa
Your public key has been saved in /home/tmnk/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:UlSg3yCrDJX6+jEFLr9C79+kOXAVt6rmfw8L1I2F3Ko tmnk@tmnk-linux
The key's randomart image is:
+---[RSA 3072]----+
|        oo.      |
|     . o...o     |
|    + o ooo.o    |
|   + . =.+.=     |
|  + . +.S.= .    |
|  .*.o.o..       |
| . .Bo .E .      |
|  ...++= ..o     |
|  .+++=oo....    |
+----[SHA256]-----+
  1. 执行以下命令,将公钥添加到authorized_keys文件中
cd    #先回到无目录
cd .ssh
cat id_rsa.pub >> authorized_keys

(5)启动Hadoop

1.执行以下命令,初始化namenode (一个y)注意配置好后每次想启动hadoop不必执行此条,容易造成datanode缺失。解决方案

hadoop namenode -format

2.依次执行以下命令,启动Hadoop(三个yes)(配置好hadoop后,每次启动hadoop-hdfs的第一步)

start-dfs.sh
start-yarn.sh

3.启动成功后,执行以下命令,查看已成功启动的进程

jps

如此有了NameNode和DataNode则正常(如果没有也不用紧张,后文还有操作):

root@tmnk-linux:/home/tmnk/.ssh# jps
12547 Jps
11348 SecondaryNameNode
10982 NameNode
11511 ResourceManager
9768 -- process information unavailable
11147 DataNode

4.打开浏览器访问,显示如下界面则表示Hadoop伪分布式环境搭建完成

主机名:8088   
#如我的   tmnk-linux:8088 

【双系统Ubuntu 22.04 安装hadoop2.10全过程】_第1张图片

主机名:50070   
#如我的   tmnk-linux:50070

如果8088和50070都成功了,那么恭喜hadoop就安装配置成功了!
但此处有天坑:50070大概率会找不到网页(我们在hdfs-site.xml里添加的节点就是为此),如果确实找不到,那么还有以下操作

首先确保Ubuntu的镜像源的sudo apt-get update可用,然后再用apt-get install ssh openssh-server安装ssh服务,具体操作看我另一篇【Ubuntu22.04 经典问题解决笔记】
以上两步通关后,重启hadoop:

#关闭命令
stop-all.sh
#启动命令
start-all.sh

再重启hadoop集群

hadoop namenode -format
hadoop datanode -format

再开启Hadoop hdfs服务

./start-dfs.sh   #若这个显示没有文件则用下面这个
start-dfs.sh

此时再查看已成功的进程:

jps

肯定就有NameNode和DataNode进程了

root@tmnk-linux:/home/tmnk/.ssh# jps
12547 Jps
11348 SecondaryNameNode
10982 NameNode
11511 ResourceManager
9768 -- process information unavailable
11147 DataNode

以上都通关以后刷新一下50070的网页,就没问题了!


番外,安装Hbase以后:
启动HBase:

start-hbase.sh

jps包含:

root@tmnk-linux:/usr/local/hbase# jps
7138 -- process information unavailable
12757 SecondaryNameNode
13333 HQuorumPeer
8870 ResourceManager
12150 NameNode
13991 Jps
13464 HMaster
12556 DataNode
13663 HRegionServer

访问Web页面:

主机名:16010
我的:  tmnk-linux:16010

【双系统Ubuntu 22.04 安装hadoop2.10全过程】_第2张图片
操作HBase:Linux客户端输入

hbase shell
exit退出

停止HBase

stop-hbase.sh

你可能感兴趣的:(那些年的bug,ubuntu,linux,hadoop)