2021-10-23

hadoop伪分布式安装教程:

在安装hadoop之前我们需要做一些准备工作:

  1. 准备好一台linux的的虚拟机(本人使用的是centos 8)
  2. 准备好一些安装资源包:
    jdk:国内镜像源下载
    hadoop:国内镜像源下载
    XshellH和Xftp:官网下载
  3. jdk和hadoop的部署
  • 因为hadoop是Java编写的,因此在部署hadoop时,一定要把JDK配置好
  • hadoop共有3种模式:完全分布式(集群分布模式)、伪分布式模式、本地运行模式。
  • 本文部署的是伪分布模式,完全分布式比较复杂,后期可能会作出一个此类的教程
  1. SSH免密登录
  2. 启动hadoop
  3. 关闭hadoop

1.虚拟机的安装相信大家已经安装成功了,但是我们一定要注意自己的网络一定要可以和外界相通,通过ping www.baidu.com可以查看自己的网络是否畅通 ,在这里笔者不进行详细的描述,此台Linux的hostnamehadoop200IP地址为192.168.56.200
2.下载对应的资源包,本人采用的是jdk为1.8版本,hadoop为3.1.3版本,可以到对应的链接进行下载。
3.我们打开linux,使用Xshell进行远程连接,在/opt目录中创建两个文件夹:software和module(在这里我们使用root用户),在对应的位置输入IP地址进行远程连接。
在这里插入图片描述

cd /opt/
mkdir software
mkdir module

接着我们使用Xftp传输jdk和hadoop,上传到linux/opt/software

在这里插入图片描述

然后我们开始解压jdk和hadoop,目标位置为/opt/module

 # 解压jdk 
 tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/module/
 
 # 解压hadoop
 tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module/

接下来配置jdk和hadoop的环境变量


vim /etc/profile.d/my_env.sh
加入以下变量:

#JAVA_HOME
  
export JAVA_HOME=/opt/module/jdk-8u212 # 此变量为你解压jdk的目录
export PATH=$PATH:$JAVA_HOME/bin


#HADOOP_HOME

export HADOOP_HOME=/opt/module/hadoop-3.1.3 # 此变量为你解压hadoop目录 
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

下一步 `source /etc/profile
在命令行输入java和hadoop,查看是否成功配置环境变量。

在hadoop的官方文档中我们需要配置2个XML文件:

  • etc/hadoop/core-site.xml(注意是hadoop目录下的etc!)
  • /etc/hadoop/hdfs-site.xml(同上)

将下列配置复制到你的XML文档中

  • core-site.xml
<configuration>
  <property>
     <name>hadoop.tmp.dir</name> 
     <!----下面为你解压hadoop的目录注意后面有该目录的hadoop/tmp---->
     <value>file:/opt/module/hadoop-3.1.3/hadoop/tmp</value>
     <description>Abase for other temporary directories。</description>
   </property>
   <property>
       <name>fs.defaultFS</name>
       <!----下面的变量(hadoop200)修改为你的主机名--->
       <value>hdfs://hadoop200:9000</value>
   </property>

</configuration>

  • hdfs-site.xml
<configuration>

 <property>
    <name>dfs.replication</name>
    <value>1</value> 
 </property>
 
 <property>
    <name>dfs.namenode.name.dir</name>
   <value>file:/opt/module/hadoop3.1.3/tmp/dfs/name</value>
 </property>
 
 <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/opt/module/hadoop-3.1.3/tmp/dfs/data</value>
 </property>

</configuration>

基本配置已经完成,在启动hadoop中的hdfs时需要格式化namenode

hdfs namenode -format
# 出现successful 即可

然后进入hadoop的/sbin目录使用start-dfs.shstop-dfs.sh进行启动和关闭
···

在启动hdfs时需要配置一下SSH免密登录

cd /
ssh-keygen -t rsa # 然后3次回车

生成此密钥
然后进入到.ssh目录中,将公钥文件 id_rsa.pub 中的文件内容复制到想同文件下的 authorized_keys 文件中

cat id_rsa.pub >> authorized_keys

完成SSH免密配置之后,我们可以启动hdfs,通过jps查看hdfs的进程
启动完毕

可能出现的问题

  1. 问题一:

大家在使用其他用户的时候可能会出现权限的问题,我们通过root权限赋予其权限

chmod 777 -R /opt/module/

2.问题二:

在使用root的权限开启时可能会出现一下错误:

WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.

我们只需要更新2个配置文件start-dfs.shstop-dfs.sh即可:
在shell脚本中加入一下内容:

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

本人才疏学浅,初识大数据,用心整理的文章(本人的处女作),希望可以帮助一些迷茫的同学,当然本文可能会出现错误,希望大家随时指正,谢谢大家!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值