折腾了两天多,终于搞明白怎样从虚拟机中搭建伪分布式hadoop,并通过windows中的eclipse连接虚拟机中的hadoop,废话不多说,下面介绍linux安装过程。

需要环境:虚拟机VMware,CentOS安装包,jdk-7u25-linux-i586.rpm,hadoop-2.4.0.tar.gz,xshell

首先下载hadoop2.4.0的安装包,资源很多,这里不给出下载地址了

安装虚拟机后安装CentOS系统,此处不详细介绍,说一下虚拟机不管用NAT或桥接方式连接网络都可以,不会产生影响,但是如果担心后期动态ip会变导致环境问题,可以使用桥接方式设置静态IP。

安装后使用xhell进行连接,安装rzsz命令,(yum -y install lrzsz

上传hadoop-2.4.0.tar.gz ,解压tar -zxvf hadoop-2.4.0.tar.gz

根据自己的需求移动到对应目录里面,我这里放在/usr/local目录下面,安装jdk 并且配置jdk和hadoop环境变量,安装JDK可以参考JDK安装

配置环境变量:vi /etc/profile 在最后添加:

export JAVA_HOME=/usr/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export HADOOP_HOME=/usr/local/hadoop-2.4.0
export PATH=$HADOOP_HOME/bin:$PATH

下面介绍伪分布式下hadoop几个配置文件的相关配置:

在hadoop-2.4.0目录下建立如下几个文件夹:mkdir hdfs ;  mkdir hdfs/name ; mkdir hdfs/data ; mkdir tmp ; mkdir mapred ; mkdir mapred/local ; mkdir mapred/system

进入到配置文件文件夹下(hadoop-2.4.0/etc/hadoop),修改hadoop-env.sh中的JAVA_HOME

# The java implementation to use.

export JAVA_HOME=/usr/java/jdk1.7.0_25

修改core-site.xml添加如下内容:

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://127.0.0.1:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/local/hadoop-2.4.0/tmp</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop-2.4.0/dfs/name</value>
  </property>

  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop-2.4.0/dfs/data</value>
  </property>
</configuration>

修改hdfs-site.xml添加内容如下:

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

  <property>
    <name>dfs.permissions</name>
    <value>false</value>
  </property>

  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop-2.4.0/dfs/name</value>
  </property>

  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop-2.4.0/dfs/data</value>
  </property>
</configuration>

修改mapred-site.xml(默认没有这个配置文件,可以拷贝改目录下的mapred-site.xml.template    :  cp mapred-site.xml.template mapred-site.xml)内容如下:

<configuration>
  <property>
    <name>mapreduce.jobtracker.address </name>
    <value>127.0.0.1:9001</value>
    <final>true</final>
  </property>
  <property>
    <name>mapred.system.dir</name>
    <value>file:/usr/local/hadoop-2.4.0/mapred/system</value>
    <final>true</final>
  </property>

  <property>
    <name>mapred.local.dir</name>
    <value>file:/usr/local/hadoop-2.4.0/mapred/local</value>
    <final>true</final>
  </property>
</configuration>

修改yarn-site.xml内容如下:

<configuration>
<!-- Site specific YARN configuration properties -->
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>

  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

OK,到此配置文件初步配置完成,接下来需要设置ssh免密码登陆,执行命令:ssh-keygen -t rsa    一路回车即可 ,然后运行命令:cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

运行命令 ssh localhost 不会使用密码直接能够登陆则成功。

首次运行需要进行hdfs格式化:hdfs namenode -format

注意打印信息,如果有warn则需要斟酌修改,视具体情况而定。

进入sbin文件夹,执行:./start-all.sh

运行启动后,使用jps命令查看是否将服务启动成功:

输入命令:jps

打印结果:

4467 DataNode
6515 Jps
4602 SecondaryNameNode
4363 NameNode
4819 NodeManager
4734 ResourceManager

通过浏览器访问:http://ip_ip:8088  http://ip_ip:50070  http://ip_ip:19888查看相关信息

可以看到启动成功,到目前为止,linux端hadoop伪分布式环境搭建成功。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐