hadoop

ubuntu版本12.04   64位

1、首先要下载安装hadoop,我下载的是hadoop-1.2.1.tar.gz,这个版本比较稳定,下载地址可以到官网提供的镜像http://www.apache.org/dyn/closer.cgi/hadoop/common/

2、然后安装hadoop-eclipse

我用最简单的方法安装eclipse和JDK

sudo apt-get install cdt-eclipse

3、创建hadoop管理员账号

sudo adduser hadoop

然后要求你设置hadoop帐户密码,这个命令是添加一个名为hadoop的标准帐户,我们需要的是管理员帐号

可以直接在图形界面下修改hadoop权限,将鼠标点击右上角的一个人头处,浮现列表,点击“用户账户”,解锁,然后更改为管理员权限

4、安装ssh服务

sudo apt-get install ssh openssh-server

5、ssh无密码登陆

首先用刚创建的管理员hadoop重登系统

ssh-keygen -t rsa -P ""
cd ~/.ssh
cp id_rsa.pub authorized_keys
然后就可以无密码登陆了

ssh localhost
exit
6、解压hadoop源码包

cp hadoop-1.2.1.tar.gz /home/hadoop
tar -xzvf *.tag.gz
7、配置hadoop的hadoop/conf下的hadoop-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml

配置hadoop-1.2.1/conf/hadoop-env.sh

vim /home/hadoop/hadoop-1.2.1/conf/hadoop-env.sh
搜索到JAVA_HOME
把前面的#去掉,加上本系统jdk路径,保存退出

查看本系统的JDK路径,可以通过如下命令

sudo update-alternatives --config java(我的路径是/usr/lib/jvm/java-6-openjdk-amd64)

# The java implementation to use.  Required.
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

配置hadoop-1.2.1/conf/core-site.xml

gedit /home/hadoop/hadoop-1.2.1/conf/core-site.xml

在hadoop新建hadoop_tmp目录(我的是/home/hadoop/hadoop-1.2.1/hadoop_tmp)原因是http://blog.csdn.net/bychjzh/article/details/7830508

将如下<configuration> </configuration>之间的添加进入,保存退出

<?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/hadoop/hadoop-1.2.1/hadoop_tmp</value>
         <description>A base for other temporary directories.</description>
    </property>


</configuration>
配置hadoop-1.2.1/conf/mapre-site.xml,命令行:

vim /home/hadoop/hadoop-1.2.1/conf/mapre-site.xml.xml
将如下<configuration> </configuration>之间的添加进入,保存退出

<?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>
配置hadoop-1.2.1/conf/hdfs-site.xml,命令行:

 gedit /home/hadoop/hadoop-1.2.1/conf/hdfs-site.xml
将如下<configuration> </configuration>之间的添加进入,保存退出

<?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>
至此hadoop的安装配置已经完毕,稍后的是hadoop的初次运行操作
8、格式化hdfs文件系统
进入hadoop-1.2.1
/bin/hadoop namenode -format
9、启动hadoop服务
/bin/start-all.sh
jps
jps是查看java虚拟机运行的java线程
然后出现如下画面

不计jps,有五个hadoop相关线程,恭喜你,hadoop安装配置成功,运行正常。

hadoop的伪分布模式已经安装成功,再次在伪分布模式下运行一下WordCount来感受MapReduce过程:

这时注意程序是在文件系统dfs运行的,创建的文件也都基于文件系统:

首先在dfs中创建input目录

hadoop dfs -mkdir input
将conf中的文件拷贝到dfs中的input

hadoop dfs -copyFromLocal conf/* input 
在伪分布式模式下运行wordcount

hadoop jar hadoop-examples-1.2.1.jar wordcount input output  

检测一下输出信息:

hadoop dfs -cat output/*  

然后可以退出hadoop。以后再用时再启动,导入数据

bin/stop-all.sh 
10、然后配置hadoop-eclipse

参考文章 http://www.cnblogs.com/alex-blog/p/3160619.html

首先安装ant

sudo apt-get install ant

然后配置hadoop

修改配置文件

在hadoop解压目录下,找到src\contrib\eclipse-plugin\build.xml(我的是/home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml),修改以下几行:

<path id="hadoop-core-jar">
    <fileset dir="${hadoop.root}/">
        <include name="hadoop*.jar"/>
    </fileset>
  </path>

  <!-- Override classpath to include Eclipse SDK jars -->
  <path id="classpath">
    <pathelement location="${build.classes}"/>
    <pathelement location="${hadoop.root}/build/classes"/>
    <path refid="eclipse-sdk-jars"/>
   <path refid="hadoop-core-jar"/>
  </path>
......
  <target name="jar" depends="compile" unless="skip.contrib">
    <mkdir dir="${build.dir}/lib"/>
    <copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>  
    <copy file="${hadoop.root}/lib/commons-cli-1.2.jar"  todir="${build.dir}/lib" verbose="true"/>  
    <copy file="${hadoop.root}/lib/commons-lang-2.4.jar"  todir="${build.dir}/lib" verbose="true"/>  
    <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar"  todir="${build.dir}/lib" verbose="true"/>  
    <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>  
    <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>  
    <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar"  todir="${build.dir}/lib" verbose="true"/>
    <jar
      jarfile="${build.dir}/hadoop-${name}-${version}.jar"
      manifest="${root}/META-INF/MANIFEST.MF">
      <fileset dir="${build.dir}" includes="classes/ lib/"/>
      <fileset dir="${root}" includes="resources/ plugin.xml"/>
    </jar>
  </target>
找到src\contrib\build-contrib.xml(我的是/home/hadoop/hadoop-1.2.1/build/contrib/build-contrib.xml),添加以下几行:

  <property name="version" value="1.2.1"/>
  <property name="ivy.version" value="2.1.0"/>
  <property name="eclipse.home" location="/home/hadoop/eclipse"/> //这里就是eclipse的目录,不是工作目录
将src/contrib/eclipse-plugin/META-INF目录下的MANIFEST.MF文件中的(我的是/home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/META-INF/MANIFEST.MF)

Bundle-ClassPath: classes/,
 lib/hadoop-core.jar

修改为
Bundle-ClassPath: classes/,
 lib/hadoop-core.jar,
 lib/commons-cli-1.2.jar,
 lib/commons-configuration-1.6.jar,
 lib/jackson-core-asl-1.8.8.jar,
 lib/commons-httpclient-3.0.1.jar,
 lib/jackson-mapper-asl-1.8.8.jar,
 lib/commons-lang-2.4.jar
然后,进入目录\src\contrib\eclipse-plugin(我的是/home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin),输入ant编译,如果一切正常就编译通过了

最后可以在{hadoophome}\build\contrib\eclipse-plugin(我的是/home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin)路径下找到编译好的插件。

然后将编译好的插件hadoop-eclipse-plugin-1.2.1.jar 拷贝到/home/hadoop/eclipse/plugins,启动eclipse

./eclipse -clean

配置eclipse

首先是 window->perferences

然后是New Hadoop location,在General配置端口号

最后在Advanced parameters中配置core-site.xml里的hadoop.tmp.dir

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值