这次我记录了一下我在Ubuntu中安装Hadoop的过程。

当然前提是安装好虚拟机软件VMware Workstation或VitualBox并安装好虚拟机,这里就不做赘述了。那么下面进入正题。

这里提醒一下,安装的时候请使用64位的Ubuntu,否则可能会出现Hadoop的shell命令使用不了的情况,解决起来挺麻烦的。

1、新建用户

在安装Hadoop之前,我们最好新建一个用户来专门使用Hadoop。

命令如下:

sudo useradd -m Hadoop 其中的Hadoop是用户名,当然名字可以自己决定

sudo passwd Hadoop 这里的Hadoop也是用户名,之后你可以设置你的密码,注意,Ubuntu中一个用户如果没有密码是不能够登录该用户的,所以一定要记得设置密码

在设置完之后,我们就可以登录这个新建的用户并开始我们的下一步了


2、安装JDK

安装JDK之前,最重要的就是看清我们的Ubuntu的版本,是32位还是64位的,如果下错了版本,我们在全部步骤都完成后使用命令java -version时会发现显示不了java的信息。

umane -m来查看自己的Ubuntu版本,如果是i686(或i386),则是32位的,如果是x86_64,就表明你的OS是64位的。

在Ubuntu中安装配置Hadoop的伪分布式

这里可以看到我的Ubuntu是32位的,所以我就下了这个玩意:jdk-8u161-linux-i586.tar.gz


下载后我们先在/usr/lib目录下新建一个文件夹,名字可以叫jdk或jvm,打开终端输入如下命令:

cd /usr/lib 

sudo mkdir jvm 创建名字为jvm的目录

下载之后进入放置该压缩包的文件夹并打开终端,然后输入以下命令:

sudo tar zxfv jdk-8u161-linux-i586.tar.gz -c /usr/lib/jvm 解压该压缩包

cd  /usr/lib/jvm

sudo mv jdk1.8.0_161 java1.8 给该JDK改名

接下来我们使用vi编辑器修改.bashrc文件配置环境变量,而我这里使用的是vim,输入以下命令:

vim ~/.bashrc

然后输入如下代码

在Ubuntu中安装配置Hadoop的伪分布式

接着保存退出,并执行命令:

source ~/.bashrc

最后我们来测试一下JDK安装成功与否:

java -version

如果出现了以下的信息则证明安装成功:

在Ubuntu中安装配置Hadoop的伪分布式


3、SSH的安装与配置

安装ssh服务是为了以后连接hadoop,然后为了以后连接不用每次都输入密码,我们在安装完后设置一下ssh的免密码登录,利用ssh-******生成**,并将**加入到授权中

sudo apt-get install openssh-server 安装ssh

ssh-****** -t rsa -P "" 接着一路回车,直到出现一个图形并跳出终端输入的行

在Ubuntu中安装配置Hadoop的伪分布式

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

现在登录ssh看看是否成功:

ssh localhost

在Ubuntu中安装配置Hadoop的伪分布式

这里可以看到已经成功了


4、Hadoop的安装

经过了这么多的前置步骤,我们终于要开始安装Hadoop了~

那么首先我们先打开官网下载我们的Hadoop:

在Ubuntu中安装配置Hadoop的伪分布式

点进去之后第一个连接就是我们要下载的Hadoop了,当然,你也可以下其他的版本,我这里下的是hadoop-2.8.3.tar.gz


下面我们把解压完的hadoop放置到我们的/usr/local/目录下,命令参照我们安装JDK时的操作,然后就是配置我们的Hadoop了

我们这次配置的是Hadoop的伪分布式,因此我们只需要修改/usr/local/hadoop/etc/hadoop目录下的core-site.xml和hdfs-site.xml两个配置文件

首先core-site.xml:

<configuration>

  <property>

       <name>hadoop.tmp.dir</name>

       <value>file:/usr/local/hadoop/tmp</value>

   </property>

   <property>

       <name>fs.defaultFS</name>

       <value>hdfs://localhost: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:/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>


之后我们执行namenode的格式化:

bin/hdfs namenode -format

注意:如果出现如图的信息则表明成功了,如果显示的是Exiting with status 1则表明格式化失败

在Ubuntu中安装配置Hadoop的伪分布式


开启namenode和datanode的守护进程:

sbin/start-dfs.sh

之后我们使用jps命令检查是否成功,只要出现了namenode、datanode和SecondaryNamenode则表明启动成功


如果namenode、datanode其中之一问题,可尝试将hdfs-site.xml里的/usr/local/hadoop/tmp/dfs/name这个路径里的两个node的前一个目录,我这里也就是dfs目录,直接删除,再从初始化那里开始输入命令就行了

如果Secondary没显示,可以使用sbin/stop-dfs.sh关闭再用sbin/start-dfs.sh开启


最后,我们使用http://localhost:50070就能看到控制Hadoop的网页了。

相关文章: