Hadoop开发环境的搭建与配置(基于Linux)

目录

一、部署环境安装说明

二、Hadoop安装

1、下载Hadoop

2、解压Hadoop安装包

三、配置Hadoop安装环境

1、设置SSH免密登录

2、配置环境变量

3、配置Hadoop相关文件

hadoop-env.sh配置

core-site.xml配置

hdfs-site.xml配置

4、创建相关文件夹

5、验证

1.格式化HDFS文件

2.启动hadoop

四、一些可能出现的bug的解决方案

1、localhost:ssh:connect to host localhost port 22:connection refused

2、dpkg:错误:无法新建文件...没有那个目录或文件


一、部署环境安装说明

部署环境:Vmware+Ubuntu18+jdk8

如果没有安装环境,可以参考:

Linux虚拟机基础安装与配置_Beric_Q的博客-CSDN博客

二、Hadoop安装

1、下载Hadoop

从hadoop官网下载速度有点过于慢(要是能科学上网应该也挺快),所以我们采用清华源下载。

下载地址:

https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/hadoop-3.3.1.tar.gz

为了便于文件管理,将Hadoop下载到/opt目录下。

在命令行里,先进入/opt目录,键入:

cd /opt

然后:

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/hadoop-3.3.1.tar.gz

安装好后如图:

2、解压Hadoop安装包

将hadoop安装包解压到/usr/local目录下,键入:

tar -zxvf hadoop-3.3.1.tar.gz -C/usr/local

等待安装好后,切换到/usr/local目录下,查看安装情况

可以看到已经装好了,但是名字太长了,所以咱们重命名一下,键入:

mv Hadoop-3.3.1/ hadoop

可以看到已经修改好了

三、配置Hadoop安装环境

1、设置SSH免密登录

首先下载SSH,先更新软件包,键入:

sudo apt-get update

安装SUDO

sudo apt-get install sudo

安装SSH 

sudo apt-get install openssh-server
# 或者
sudo apt install openssh-server

注:此处如果出现问题,可以参考:【一些可能出现的bug的解决方案】的【1、localhost:ssh:connect to host localhost port 22:connection refused】

键入:

ssh-keygen -t rsa -P ''

生成无密码的密钥对,如果如图询问保存路径

直接回车就行。

出现如图所示界面,就是装好了。

然后将会生成密钥对:【id_rsa】和【id_rsa.pub】,默认保存在~./ssh目录下。

接下来,把id_rsa.pub追加到授权的key里面去。键入:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

然后修改权限,键入:

chmod 600 ~/.ssh/authorized_keys

然后启用RSA认证,键入:

vim /etc/ssh/sshd_config

修改ssh配置:

PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile %h/.ssh/authorized_keys # 公钥文件路径

修改方式:把这个文件里面这两行前面的注释去掉。如图所示:

然后保存并退出

注:如果此处该文件是空的,可能是因为ssh安装有问题,建议参考:【一些可能出现的bug的解决方案】的【1、localhost:ssh:connect to host localhost port 22:connection refused】重新安装ssh

2、配置环境变量

在命令行键入:

sudo vim /etc/profile

在/etc/profile的文件最后面加上这两行

加完后,点击【ESC】,输入【:wq】保存并退出。

使环境变量生效,键入:

source /etc/profile

然后键入:

hadoop version

这样显示,就是说明环境变量配置的没问题了。

但是安装Hadoop的过程还没有结束,继续往下看哦。

3、配置Hadoop相关文件

总共需要配置三个文件,分别是:

  1. hadoop-env.sh
  2. core-site.xml
  3. hdfs-site.xml

这三个文件位于$HADOOP_HOME/etc/profile目录下。$HADOOP_HOME指Hadoop的安装位置,按照此教程的话,该位置为/usr/local/Hadoop

也就是说,这两个是等价的:

$HADOOP_HOME/etc/profile
/usr/local/Hadoop/etc/profile

因此,键入:

cd /usr/local/hadoop/etc/hadoop
# 或者
cd $HADOOP_HOME/etc/hadoop

切换到这三个文件的目录下。

然后进行环境配置。

hadoop-env.sh配置

hadoop-env.sh文件主要是配置JDK的位置。

如果忘记了JDK的位置,可以键入:

echo $JAVA_HOME

接下来正式进行文件配置。键入:

vim hadoop-env.sh

在首行插入如下代码:

export JAVA_HOME=/usr/lib/jdk

如果jdk没有安装在/usr/lib/jdk,也可以自己选择jdk的安装地址,替换/usr/lib/jdk

然后,保存并退出。

core-site.xml配置

在相同的目录下,键入:

vim core-site.xml

在该文件末尾的configuration标签中,插入如下代码:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
        <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/data/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
</configuration>

如图所示

上面这一大堆代码,主要做了两个配置:

1、指定HDFS的URI是hdfs://localhost:9000。

2、设定Hadoop的临时文件存放在Linux文件系统中的/data/hadoop/tmp目录下。

然后,保存并退出。

hdfs-site.xml配置

在相同目录下,键入:

vim hdfs-site.xml

在configuration标签下,插入如下代码:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/data/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/data/hadoop/hdfs/data</value>
    </property>
</configuration>

如图所示:

亿点点说明:

1、replication指的是副本数量,我们现在是单节点,所以是1.

2、dfs.namenode.name.dir指定namenode节点存放数据的位置。

3、dfs.datanode.data.dir指定datanode节点存放数据的位置。

然后,保存并退出。

4、创建相关文件夹

在刚刚的配置文件中,配置了一些文件夹路径,但是还没创建它,现在来创建一下。

在/data/hadoop/目录下建立这些目录,执行以下代码:

mkdir /data
mkdir /data/hadoop
mkdir /data/hadoop/tmp
mkdir /data/hadoop/hdfs
mkdir /data/hadoop/hdfs/data
mkdir /data/hadoop/hdfs/name

全部执行完后,文件夹情况如图所示:

5、验证

现在,配置工作已经基本完成,接下来进行一些验证工作。主要三步:

  1. 格式化HDFS文件
  2. 启动hadoop
  3. 验证hadoop

1.格式化HDFS文件

键入:

hadoop namenode -format

出现以下两行即是成功:

2.启动hadoop

键入:

start-dfs.sh

这一步可能会出现:

localhost:ssh:connect to host localhost port 22:connection refused

dpkg:错误:无法新建文件…没有那个文件或目录

的报错,如果出现此情况,请查看【一些可能出现的bug的解决方案】的【1】和【2】

正常启动后,键入:

jps

若是出现这四行,就打开浏览器,键入:

http://localhost:9870/  

出现这个界面,就是安装、配置,并且启动成功了。

四、一些可能出现的bug的解决方案

1、localhost:ssh:connect to host localhost port 22:connection refused

在键入start-dfs.sh命令后,可能会出现:

localhost:ssh:connect to host localhost port 22:connection refused

的报错,这个时候多半是因为ssh安装出现问题,推荐的解决方法是:安装/重装ssh。

键入:

ps -e | grep ssh

查看ssh安装情况,若是如图所示,只有ssh-agent,那说明ssh安装的有问题,需要重装。

键入:

sudo apt-get install openssh-server

此时可能会提示:有1个软件包没有被完全安装或卸载

建议的解决方案是:完全卸载后重装。

键入:

sudo apt-get purge openssh-server

等待跑完条后,安装openssh-server,键入:

sudo apt-get install openssh-server

然后启动ssh,键入:

sudo /etc/init.d/ssh start 

显示ok后, 查看ssh安装情况,键入:

ps -e|grep ssh

若是如图所示,出现了sshd,说明安装成功。

2、dpkg:错误:无法新建文件...没有那个目录或文件

在安装ssh的时候,可能会出现这个问题。

这个问题的主要原因是/var/lib/dpkg/info这四个文件夹有某一个被改名了,所以一个个查看一下。

如果发现哪个文件夹被改名了,就改回来,此处我的虚拟机里是info文件夹被改名为info_old了,键入:

mv info_old info

把名字改回来即可。
 

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值