ubuntu 下的 hadoop 安装,ubuntuhadoop安装
ubuntu 下的 hadoop 安装,ubuntuhadoop安装
这两天一直在安装hadoop 道路比较曲折,记录一下
在redhat下安装完成以后一直无法启动datanode,原因是jdk 的版本一直有问题,换了一个jdk后问题依旧,自己推测是redhat版本太低的原因,于是只好舍弃,换ubuntu
ubantu版本是13.04.比较稳定。
安装前首先准备好材料。
vmare 虚拟机 ,准备好jdk 和hadoop
因为是虚拟机安装所以放到vmvare 共享文件夹下面。
=====================================================================================================
在安装这些之前要先安装ssh 我在开始装的时候没有发现ubantu没有装ssh 的服务器端只有客户端。然后直接apt-get 发现又不能直接下,所以每次启动hadoop后只有namenode的进程,datanode进程报错链接被拒绝,后来换了很多个数据源包括国内国外都有,都是在更新数据源(sudo apt-get update),失败。不知什么原因找了好久也没有解决方案(有知道的大牛可以告诉我),最后没有办法只能自己手动安装ssh了。
安装ssh 准备好材料:
1 安装zlib
解压zlib 进入目录
编译安装(1 ./configure 2 make 3 make install)
2 安装openssl
步骤同上(./configure 改为./config)
3 安装openssh
同1
4 getdit /etc/passwd
加入下面一行
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
5 启动ssh。ssh默认安装在/usr/local/sbin/目录下,使用 /usr/local/sbin/sshd 启动ssh服务,该服务默认侦听22端口。
6 检查ssh服务是否启动监听端口是否为22:netstat -tnlp|grep :22
==============================================================================
以上为安装ssh
下面进入安装HADOOP正题:
1 安装java
jdk 解压到/usr/java/jdk
cd 到指定目录
/mnt/hgfs/Ubantu/jdk-6u24-linux-i586.bin
2 解压Hadoop安装包
hadoop 解压到/usr
cd 到指定目录
tar -zxvf /mnt/hgfs/Ubantu/hadoop-1.2.1.tar
3 配置环境变量
vi /etc/profile
加入以下
export JAVA_HOME=/usr/java/jdk1.6.0_24
export HADOOP_HOME=/usr/hadoop-1.2.1
export
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
CLASSPATH=.:$HADOOP_HOME/bin:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH
4编辑conf/hadoop-env.sh
加入 export JAVA_HOME=/usr/java/jdk1.6.0_24
5伪分布式模式下Hadoop的配置如下(共有三个文件要配置 位置在/conf下 )
(1)core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop-1.2.1/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
(2)hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(3)mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
6 免密码SSH设置
生成密钥对 ssh-keygen -t rsa
进入.ssh目录 执行 sp id_ras.pub authorized_keys
执行ssh localhost 发现可以实现SSH链接不需要密码
7 创建tmp文件每次进行第八步都会生成一个tmp文件(注意每次重新格式化的时候要删除tmp 因为其中tmp存有上次的namenode的namespaceID,但每次重新format 会生成新的namenode namespaceID造成版本不一致,从而下次执行9时,会造成namenode进程起不来)
步骤5中core-site.xml中已经将tmp文件指向配置。8 格式化分布式文件系统
bin/hadoop namenode -format
9 启动Hadoop守护进程
bin/start-all.sh
jps命令可以发现有除了jps以外五个线程
10 停止Hadoop守护进程
bin/stop-all.sh
解压之后设置一下环境变量就可以了。可以在在/etc/profile后面加入类似的内容:
#set java environment
JAVA_HOME=JDK路径
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
或者下载一个.bin的JDK安装包
download.oracle.com/...86.bin
这个分布式文件系统不知道用OpenJDK可以不,如若嫌麻烦可以试试OpenJDK,ubuntu的软件源里一般都有,用命令“sudo apt-get install default-jdk”或“sudo apt-get install openjdk-6-jdk”就可以安装
你试试 sudo update-alternatives --config java
能看看你的jdk到底是什么版本
比如我的是/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
那么我的JAVA_HOME就是”/usr/lib/jvm/java-7-openjdk-amd64". 你的也可能是java-7-openjdk-i386也说不定
所以我怀疑你直接写java-6-oepnjdk会有问题
评论暂时关闭