Hadoop0.20.2的安装

版权声明:小妖666个人笔记 https://blog.csdn.net/weixin_38883338/article/details/82285892

一、虚拟机中Linux的安装

hadoop-0.20.2.tar.gz只能在Linux中安装。

Hadoop相当于一个服务器,类似于Apache服务器的角色。我们可以在Linux上运行hadoop0.20.2。

二、Java的安装

Hadoop是基于Java开发的,,在Linux配置好Java环境。

https://blog.csdn.net/weixin_38883338/article/details/82079194

三、SSH的安装、配置

在Linux中安装SSH免登录认证,用于避免使用Hadoop时的权限问题。

SSH的安装命令:

sudo apt-get install ssh

为ssh生成一个密匙:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

密匙生成完毕,如下图所示:

为密匙授权:

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

这一步成功之后是没有任何提示信息的。

查看ssh是否安装成功:

ssh localhost

ssh成功安装会显示如下的信息:

至此,Hadoop的前置环境安装完毕。

四、Hadoop0.20.2的安装

1、将下载的hadoop-0.20.2.tar.gz解压。

sudo tar -C /home/huyn -xzf hadoop-0.20.2.tar.gz

2、先对里面的conf目录的部分文件进行修改:

(1)首先是hadoop-env.sh文件的修改:

在终端利用如下的命令:

$:$JAVA_HOME

sudo vim '/home/huyn/hadoop-0.20.2/conf/hadoop-env.sh'

(2)core-site.xml、hdfs-site.xml、mapred-site.xml

修改的xml文件是如下的样式,在configuration中留下空白填写:

sudo vim '/home/huyn/hadoop-0.20.2/conf/core-site.xml'

首先是core-site.xml,修改成如下的代码:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/pc/hadoop-0.20.2/tmp/hadoop-${user.name}</value>
</property>
</configuration>

上述的代码,文件夹hadoop后接一个当前用户的用户名。用于标识不同用户的临时文件。届时,编译成功之后,tmp目录下就会产生不同的文件夹。如我当前的Linux的用户名是pc,则产生如下的文件夹:

sudo vim '/home/huyn/hadoop-0.20.2/conf/hdfs-site.xml'

之后是hdfs-site.xml,标识单机模式:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

最后mapred-site.xml:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>

3、格式化Hadoop

修改vim /etc/profile文件

sudo vim /etc/profile
export HADOOP_HOME=/home/huyn/hadoop-0.20.2
export PATH=$HADOOP_HOME/bin:$PATH
然后source /etc/profile

在终端中,通过命令进入Hadoop下的bin文件夹:

cd /home/huyn/hadoop-0.20.2/bin

以-format参数运行hadoop下的namenode类:

sudo ./hadoop namenode -format

运行成功如下图所示:

这里,有些资料非常坑爹,如果你在Hadoop0.20.2格式化这一步,出现如上图的“错误:找不到或无法加载主类 NameNode”那么完全就不是什么问题,就是这些资料将这个NameNode的大小写写错了,用vi或者gedit来看Hadoop这个可执行文件,你会发现里面根本没有NameNode,就只有namenode,核心问题是系统区分大小写的,自然找不到这个类了!至少在Hadoop0.20.2中就有namenode这个东东,也正是这个东东。

4、打开Hadoop

这是大功告成的一步了,最后同在这个bin目录下,通过如下的命令打开Hadoop服务器

./start-all.sh

执行成功如下图所示,提示已经成功开始namenode、datanode、secondarynamenode、jobtracker、tasktracker,同时这些文件写入的Hadoop0.20.2的log文件夹中

此后,在Hadoop的运行过程中,无论出错与否还是什么的,都不会将内容打印都控制台,而是直接输出的log文件夹各个文件夹中,具体如下图所示:

打开Linux自带的野狐禅浏览器访问http://localhost:50030,看是否能看到如下网页,证明Mapreduce组件打开成功了:

再有就是最关键的namenode组件,也就是Hadoop的核心,用浏览器访问:http://loaclhost:50070看是否能够看到如下的网页,证明整个Hadoop运行成功了:

这里补充一句,利用如下命令,也就是在Hadoop0.20.2下的bin节点访问stop-all.sh可以关闭Hadoop服务器。

./stop-all.sh

五、连通Linux虚拟机与Windows主机

类似与《【Linux】用Winscp远程访问无图形界面的Linux系统》(点击打开链接)连同虚拟机与主机。

在虚拟机中通过如下的命令,查出当前虚拟机所在的内网IP,

-ifconfig

比如此处,我的Linux所在的内网IP是:192.168.230.129

那么你就在Windows下打开一个IE,输入http://192.168.230.129:50070,如果你可以看到如下的画面,证明可以在Windows下访问虚拟机下的Hadoop了。

猜你喜欢

转载自blog.csdn.net/weixin_38883338/article/details/82285892
今日推荐