Ubuntu下 hadoop2.5.1 (伪分布模式) 配置工作


一:安装JDK

hadoop 是以java语言写的,因此需要在本地计算机上预先安装JDK,安装JDK的方法这里不再详述。

 

二:创建hadoop用户

 为hadoop创建一个专门的用户,将所有的hadoop的工作放到这个用户下。

$sudo adduser hadoop

回车后会提示输入新建用户hadoop的密码,输入密码后会有一些选项确认:

            Changing the user information for username
            Enter the new value, or press ENTER for the default
            Full Name []:
            Room Number []:
            Work Phone []:
            Home Phone []:
            Other []:
这个信息是否正确? [Y/n]

 

回车保持默认即可。

 

 

三:下载hadoop

      从apache hadoop 上下载稳定版本的发布包,这里采用的是hadoop-2.5.1.  下载地址:http://hadoop.apache.org/releases.html

 

配置~/.bashrc(待细究)

$ sudo gedit ~/.bashrc

将如下jdk的信息内容加到后面:

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_67  

export JRE_HOME=${JAVA_HOME}/jre  

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  

export PATH=${JAVA_HOME}/bin:$PATH

 

 

四:安装配置ssh1.安装ssh

 $sudo apt-get install ssh openssh-server



2.ssh无密码验证登录
1)生成当前用户的SSH公钥

$ssh-keygen -t rsa -P ""

 

2)将~/.ssh/id_rsa.pub添加到目标机器的~/.ssh/authorized_keys文件中

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



3)使用

$ssh localhost

 

命令即可免密码登录到本地。


五:解压hadoop源码包

终端下利用cd命令进入到到步骤三下载的hadoop源码包所在目录,使用复制命令把hadoop源码包复制到/home/hadoop下

$cp hadoop-2.5.1.tar.gz  /home/hadoop

在/home/hadoop下将hadoop-2.5.1.tar.gz解压到当前文件夹

$tar -xzvf    hadoop-2.5.1.tar.gz

六:配置hadoop的hadoop-2.5.1/etc/hadoop下的hadoop-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml1.配置hadoop-env.sh,命令行:

$gedit  /home/hadoop/hadoop-2.5.1/etc/hadoop/hadoop-env.sh



将下面原来的:

# The java implementation to use.
export JAVA_HOME=${JAVA_HOME}


将${JAVA_HOME}改为自己的jdk路径,例如我的如下:

# The java implementation to use.
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_67


2.配置core-site.xml

$gedit  /home/hadoop/hadoop-2.5.1/etc/hadoop/core-site.xml

 

在/home/hadoop/hadoop-2.5.1/下新建hadoop_tmp目录,将core-site.xml ,在<configuration></configuration>之间添加信息

<?xml version="1.0" encoding="UTF-8"?>
<?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/hadoop/hadoop-2.5.1/hadoop_tmp</value>
         <description>A base for other temporary directories.</description>
    </property>


</configuration>


3.配置mapred-site.xml

在<configuration></configuration>之间添加如下信息

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


4.配置hdfs-site.xml

hdfs-site.xml用来配置集群中每台主机都可用,指定主机上作为namenode和datanode的目录。

在/home/hadoop/hadoop-2.5.1下创建文件夹hdfs:

$cd  /home/hadoop/hadoop-2.5.1

进入后:

$mkdir hdfs
$mkdir hdfs/name
$mkdir hdfs/data

用gedit命令hdfs-site.xml如下:

$gedit  /home/hadoop/hadoop-2.5.1/etc/hadoop/hdfs-site.xml

 

 在该文件的<configuration></configuration>之间增加如下内容:

<configuration>
<property>

        <name>dfs.namenode.name.dir</name>

        <value>file:/home/hadoop/hadoop-2.5.1/hdfs/name</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>file:/home/hadoop/hadoop-2.5.1/hdfs/data</value>

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


保存、关闭编辑窗口

 

七:格式化hdfs:

cd进入hadoop-2.5.1后:

$ bin/hadoop namenode -format


八:启动hadoop

cd进入hadoop-2.5.1目录后:

$sbin/start-dfs.sh

 执行 jps命令,会看到Hadoop相关的进程:

$jps

会有如下信息:

hadoop@tiffer-Aspire-V3-571G:~/hadoop-2.5.1$ jps
11409 NameNode
11760 SecondaryNameNode
11874 Jps
11569 DataNode


浏览器打开 http://localhost:50070/,会看到hdfs管理页面。

 

若果想关闭hadoop可以使用:

$sbin/stop-all.sh

 

 

至此,hadoop伪分布的搭建基本完成。

 

各种问题总结:

 

(1)ssh免密码登陆配置之后失败原因之一:

.ssh及其下属子文件的权限问题:

1.首先.ssh的父目录文件权限应该是755,即所属用户的 用户文件 (/home下属的一个用户文件)。

2然后.ssh目录权限是700, 两个dsa 和 rsa的 私钥权限是600,其余文件权限是644.

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。