Hadoop 3.2.2 安装-超级详细——有问题私信我

更改主机名

  1. vim /etc/hosts
  2. vim /etc/hostname
  3. reboot(生产/工作确定可以重启再重启,别背锅)

创建hadoop用户

1、首先新建用户,adduser命令

sudo adduser hadoop
passwd hadoop

输入密码之后,一路 y 确定。

2、添加用户组

在创建hadoop用户的同时也创建了hadoop用户组,下面我们把hadoop用户加入到hadoop用户组下面

前面一个hadoop是组名,后面一个hadoop是用户名。完成后查询.

sudo usermod -a -G hadoop hadoop
cat /etc/group

3、赋予root权限

sudo vim /etc/sudoers
  修改文件如下:
    在  root  ALL=(ALL)  ALL  下面添加:(注意空格)

       hadoop  ALL=(ALL)  ALL

  保存退出,hadoop用户就拥有了root权限了
错误 readonly option is set
! 直接wq保存会报readonly option is set(add ! to override)错误
原因是sudoers 文件权限-r--r-----
只有读的权限,没有写的权限
chmod -R 640 /etc/sudoers
修改文件,wq保存退出后
chmod -R 440 /etc/sudoers(改回来)

4. 用户的切换:su -

安装jdk

https://blog.csdn.net/MaggieCN0622/article/details/119992302

安装mysql

https://blog.csdn.net/MaggieCN0622/article/details/118028070

hadoop用户下操作

创建文件夹-模板

mkdir sourcecode software app log lib data tmp shell

software: 存放软件安装包

app: 解压后的软件

安装hadoop-版本3.2.2

下载

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz --no-check-certificate

解压

tar -xzvf hadoop-3.2.2.tar.gz -C ../app

软连接

ln -s hadoop-3.2.2/ hadoop

配置环境变量

[hadoop@hadoop001 ~]$ vi .bashrc 
export HADOOP_HOME=/home/hadoop/app/hadoop
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH
[hadoop@hadoop001 ~]$ source .bashrc

ssh信任关系

hadoop用户

[hadoop@hadoop001 ~]$ rm -rf .ssh
[hadoop@hadoop001 ~]$ ssh-keygen

敲三次enter

Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory ‘/home/hadoop/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:…

  • 验证ssh,第一次必须输入yes建立关系,无需输入密码即可打印日期
[hadoop@hadoop001 ~]$ cd .ssh
[hadoop@hadoop001 .ssh]$ ll
-rw------- 1 hadoop hadoop 1675 Nov 21 21:20 id_rsa
-rw-r--r-- 1 hadoop hadoop  401 Nov 21 21:20 id_rsa.pub
[hadoop@hadoop001 .ssh]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[hadoop@hadoop001 .ssh]$ chmod 0600 ~/.ssh/authorized_keys  
[hadoop@hadoop001 .ssh]$ ssh hadoop@hadoop001 date # 第一次要yes
Are you sure you want to continue connecting (yes/no)? yes
[hadoop@hadoop001 .ssh]$ ssh hadoop@hadoop001 date # 第二次就不需要
Sat Nov 21 21:21:39 CST 2020

Hadoop配置文件

hadoop-env.sh
[hadoop@hadoop001 hadoop]# vi /home/hadoop/app/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_181
修改core-site.xml文件
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop001:9000</value>
    </property>
</configuration>
修改hdfs-site.xml 文件
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop001:50090</value>
    </property>
  	<property>
        <name>dfs.namenode.secondary.https-address</name>
        <value>hadoop001:50091</value>
    </property>
</configuration>
配置datanode进程以hadoop001启动
[hadoop@hadoop001 hadoop]$ vi workers
hadoop001(改成你自己的主机名字)

(旧版本 slaves 吐槽:打工人其实等同于奴隶,阿巴阿巴)
格式化
[hadoop@hadoop001 ~]$ cd /home/hadoop/app/hadoop
bin/hdfs namenode -format

当前存储目录默认在/tmp/hadoop-hadoop

启动

两种启动方式

[hadoop@hadoop001 hadoop]$ sbin/start-dfs.sh
[hadoop@ruozedata001 sbin]$ sh start-dfs.sh 
数据存储在/tmp/hadoop-hadoop 不合理

因为/tmp目录 30天 不访问的文件文件夹会被按照规则删除
所以生产上不要把内容丢在/tmp目录

[hadoop@hadoop001 tmp]$ mv /tmp/hadoop-hadoop/* /home/hadoop/tmp/
[hadoop@hadoop001 tmp]$ ll /home/hadoop/tmp/
total 0
drwxrwxr-x 5 hadoop hadoop 48 Nov 21 21:30 dfs
在core-site.xml文件中新增
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/tmp</value>
    </property>
重启hdfs
[hadoop@hadoop001 hadoop]$ cd /home/hadoop/app/hadoop
[hadoop@hadoop001 hadoop]$ sbin/stop-dfs.sh
[hadoop@hadoop001 hadoop]$ bin/hdfs namenode -format
可以在日志里看到已经storage directory 更改为/home/hadoop/tmp下了
20/12/01 09:51:45 INFO namenode.NameNod: STARTUP_MSG: 
20/12/01 09:51:46 INFO common.Storage: Storage directory /home/hadoop/tmp/dfs/name has been successfully formatted.
[hadoop@hadoop001 hadoop]$ sbin/start-dfs.sh
[hadoop@hadoop001 hadoop]$ jps
26555 Jps
25563 NameNode
25709 DataNode
25887 SecondaryNameNode

hadoop 3xx 版本默认WebUI端口 9870
hadoop 2xx 版本默认WebUI端口 50070
云主机务必开你自己的9870/50070端口
image-20211116112734352

错误 datanode 未启动

jps -m 没有datanode

原因

当我们使用hadoop namenode -format格式化namenode时,会在namenode数据文件夹(这个文件夹为自己配置文件中dfs.name.dir的路径)中保存一个current/VERSION文件,记录clusterID,datanode中保存的current/VERSION文件中的clustreID的值是上一次格式化保存的clusterID,这样,datanode和namenode之间的ID不一致。

解决方法
  • 第一种:如果dfs文件夹中没有重要的数据,那么删除dfs文件夹,再重新运行下列指令:

    hadoop namenode -format
    sbin/start-dfs.sh
    
  • 第二种:如果dfs文件中有重要的数据,那么在dfs/name目录下找到一个current/VERSION文件,记录clusterID并复制。然后dfs/data目录下找到一个current/VERSION文件,将其中clustreID的值替换成刚刚复制的clusterID的值即可;

启动配置yarn

配置mapred-site.xml

<configuration>
    <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>
	<!-- yarn 8088端口特别容易被挖矿,建议改个端口 -->
	<property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:4445</value>
	</property>
</configuration>

启动

cd /home/hadoop/app/hadoop
sbin/start-yarn.sh

也可以hdfs和yarn一起启动
命令是

cd /home/hadoop/app/hadoop
sbin/start-all.sh
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值