您的位置:首页 > 运维架构

Ubuntu 13.10 32位系统安装hadoop-2.2.0教程

2013-12-19 17:15 441 查看
Ubuntu13.10 32位系统单节点安装hadoop-2.2.0教程注意:如果是64位的ubuntu13.10系统,需要自己编译hadoop-2.2.0的源代码,在apachehadoop官网有,包名:hadoop-2.20-src.tar.gz,编译比较麻烦,最好是32位系统,网上有编译教程,但都很难成功,建议重装32位系统。
以下教程是也适用于其他版本ubuntu32位系统,包你成功!
之所以安装hadoop2.2.0,而不安装最新的hadoop0.23.10,是因为hadoop2.2.0是稳定版,建议安装hadoop2.2.0.准备工作1.创建组与用户,这里组与用户名皆位hadoop,名字可以随意取sudo addgrouphadoop //创建组,名叫hadoop
sudo
adduser -ingrouphadoophadoop //
在hadoop
组下创建一个用户hadoop
给用户添加权限:
sudo gedit /etc/sudoers
在root ALL=(ALL:ALL) ALL
下添加hadoop
ALL=(ALL:ALL) ALL

然后,保存。
2.创建文件夹存放namenode,datanode,等进程的数据,很重要,必须创建,否则数据无处放,会报错建议这样创建,具体创建如下sudo mkdir /hadoop
sudo chownhadoop:hadoop /hadoop //设置/hadoop权限
mkdir/hadoop/dfs
mkdir/hadoop/tmp
mkdir/hadoop/mapred
mkdir/hadoop/dfs/data
mkdir/hadoop/dfs/name
mkdir/hadoop/mapred/local
mkdir/hadoop/mapred/system3.安装jdk,oracle官网下载jdk-7u45-linux-i586.gz,这是目前的最新版假设下载好后,jdk-7u45-linux-i586.gz文件所在目录为:/home/amingtenfei/下载,则接下来,解压-->重命名-->移动-->配置环境变量,步骤为:cd /home/amingtenfei/下载
tar -xvzf jdk-7u45-linux-i586.gz解压后的文件夹名字为jdk-7.0-45,mkdir /usr/lib/jvm
sudomv jdk-7.0-45 /usr/lib/jvm/java-7-sunsudo gredit /etc/profile
在profile文件末尾输入
export JAVA_HOME=/usr/lib/jvm/java-7-sun
export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH保存,关闭文件source/etc/profile //更新文件检查是否正确安装java -version

javaversion "1.7.0_45"Java(TM) SE Runtime Environment(build 1.7.0_45-b08)Java HotSpot(TM) Client VM (build 21.1-b02,mixed mode)

出现类似结果,即为安装正确4.安装shh服务,实现无密码登录安装openssh-server
sudo
apt-get install
ssh
openssh-server
切换用户,切换到hadoop(这步很重要,是在给hadoop用户建立ssh登录,而不是其他用户)suhadoop
ssh -keygen-t rsa -P ""
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
注:以上
3
步,照做就是,不再解释为什么,可以自己百度
ssh localhost //
测试一下
然后退出
.
安装
hadoop
apachehadoop
官网下载hadoop-2.2.0.tar.gz,


suhadoop //
注意:以下过程必须切换到用户hadoop
cd /usr/local
sudo tar -zxf
hadoop-2.2.0.tar.gz
sudo mvhadoop-
2.2.0
hadoop
sudo chmod -Rhadoop:hadoophadoop //
将hadoop
文件夹权限赋予hadoop
用户
开始配置文件,很重要,关乎成败
配置
hadoop-env.sh
文件
sudo gedithadoop//hadoop-env.sh
找到#exportJAVA_HOME=...,
去掉#
,然后加上本机jdk
的路径
export JAVA_HOME=/usr/lib/jvm/java-
7-sun
保存,关闭文件
cd /usr/local/hadoop/etc/hadoop
配置
core-site.xml
文件
sudo gedit core-site.xml
注意:是在<configuration> </configuration>之间加上这段代码<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
<description>temporarydirectories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>保存,关闭文件配置hdfs-site.xml文件sudo gedit hafs-site.xml注意:是在<configuration> </configuration>之间加上这段代码<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/dfs/name</value>
<description>Determineswhereon the local filesystem the DFS name node should store the nametable.</description>
<final>true</final>
</property><property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop/dfs/data</value>
<description>Determineswhereon the local filesystem an DFS data node should store its blocks.
</description>
<final>true</final>
</property><property>
<name>dfs.replication</name>
<value>1</value>
</property><property>
<name>dfs.permissions</name>
<value>false</value>
</property>保存,关闭文件配置mapred-site.xml.template此文件原名叫mapred-site.xml.template需修改文件名mv mapred-site.xml.template mapred-site.xmlsudo gedit mapred-site.xml注意:是在<configuration> </configuration>之间加上这段代码<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property><property>
<name>mapred.system.dir</name>
<value>file:/hadoop/mapred/system</value>
<final>true</final>
</property><property>
<name>mapred.local.dir</name>
<value>file:/hadoop/mapred/local</value>
<final>true</final>
</property>保存,关闭配置yarn-site.xmlsudo gedit yarn-site.xml注意:是在<configuration> </configuration>之间加上这段代码<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>shuffleservice that needsto be set for Map Reduce to run </description>
</property><property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
<description>hostanemof RM</description>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<vaule>org.apache.hadoop.mapred.ShuffleHandler</vaule>
</property>注意:网上有很多类似的配置,但都不全面,大多是没有建立数据存放目录,于是按照他的配置,你就出错了。以上配置是建立在前面(一.中第2步)已经新建的数据存放目录基础之上的,只要按照步骤来,肯定能成功。初始化cd /usr/local/hadoop/ //到hadoop目录bin /hadoopnamenode -format //格式化不一定这样,看到类似
13/12/1916:23:20 INFO common.Storage: Storage directory /hadoop/dfs/name hasbeen successfully formatted.
就算成功了。启动hadoop
sbin /start-all.sh
//启动
然后jps,该命令包含在open-jdk包中,如果使用时,系统没有,会提示你安装,安装命令是sudo apt-get install open-jdk-7 open-jdk-7是包名,包名也可以是其他,不一定,你按系统提示的包名安装即可。Jps //查看进程如果显示进程结果为:hadoop@amingtenfei-HP-Pavilion-dv4-Notebook-PC:/usr/local/hadoop$jps
23332NodeManager
10008Jps
22976DataNode
26317SecondaryNameNode
4583NameNode
23205ResourceManager
hadoop@amingtenfei-HP-Pavilion-dv4-Notebook-PC:/usr/local/hadoop$说明成功了。一共6进程。接下来,可以进行具体运算了,你也可以退出,下次直接启动,无需再初始化,即直接cd /usr/local/hadoop/
sbin /start-all.sh
然后可以
jps
查看进程
就是这样,有问题,可以发邮件,
amingtenfei@163.com
,
真诚解答你的疑问


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: