一步一步学习hadoop(一)
来源:互联网 发布:大智慧批量导出数据 编辑:程序博客网 时间:2024/04/24 23:13
想要学习hadoop,首先要将把“刀”磨好,安装好hadoop,hadoop集群有三种模式:本地模式,伪集群模式和集群模式,其中本地模式和伪集群模式主要用于在本地测试程序,集群模式用于实际运行中。本地模式和伪集群模式非常类似,只是在hadoop的配置上有一点差别,这里先介绍hadoop的伪集群模式的安装步骤
1.运行环境安装
1)ubuntu linux 12.04,安装非常简单,这里就不介绍了
2)java 1.6以上版本安装1'下载,在http://www.oracle.com/technetwork/indexes/downloads里下载需要的linux的java版本
2'安装(假设下载的文件为java1.6.0_37.bin,放在/home/administrator目录下)
- 将下载的安装文件授权为可以执行,使用chmod u+x java1.6.0_37.bin
- 改变工作目录到你要安装java的地方,我的是/usr/lib,所以是cd /usr/lib
- 运行安装文件 直接在shell中输入/home/administrator/java1.6.0_37.bin即可
4'重启机器,在shell中键入java -version得到java version "1.6.0_37"的话表示安装好java环境了export JAVA_HOME=/usr/lib/jdk1.6.0_37
export JRE_HOME=/usr/lib/jdk1.6.0_37/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
3) 安装ssh,如果可以连接因特网就比较方便了,直接使用sudo apt-get install openssh-server就搞定了。如果不能联网,拷贝下载好openssh-server安装包到需要安装的机器,然后使用sudo dpkg -i 你的ssh安装包的名字 。安装好了后,运行一下ssh localhost,可以运行表示安装成功。
4)配置ssh,hadoop需要ssh去管理节点,对于伪集群模式(也就是单节点)只需ssh能够无密码访问localhost即可
配置无密码访问,1'先切换到hduser用户,2'然后生成密钥对,3'然后将公钥给要访问的机器
su - hduser配置好后ssh localhost测试一下
ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
5)新建一个运行hadoop的用户,这不是必须的
sudo addgroup hadoop6)增加一个给hadoop使用的目录,运行下面命令
sudo adduser --ingroup hadoop hduser
sudo mkdir -p /usr/local/app/hadoop/tmp2.安装hadoop
sudo chown hduser:hadoop /usr/local/app/hadoop/tmp
sudo chmod 750 /usr/local/app/hadoop/tmp
1)下载hadoop安装文件,在hadoop官网下载hadoop,我下的版本是1.0.4
2 ) 解压到自己想要安装的目录,我这里假设为/usr/local/hadoop,并确保改变文件的所有权给hduser,下面这些命令完成这些工作
cd /usr/local3)修改shell启动文件 ~/.bashrc 增加下面几行
sudo tar xzf /你放hadoop安装文件的目录替换这里/hadoop-1.0.4.tar.gz
sudo mv hadoop-1.0.4 hadoop
sudo chown -R hduser:hadoop hadoop
export HADOOP_HOME=/usr/local/hadoop
export JAVA_HOME=/usr/lib/jdk1.6.0_37
export PATH=$PATH:$HADOOP_HOME/bin
#增加几个使用较多的命令的简写
unalias fs &>/dev/null
alias fs="hadoop fs"
unalias hls &>/dev/null
alias hls="fs -ls"
unalias start-all &>/dev/null
alias start-all="/usr/local/hadoop/bin/start-all.sh"
unalias stop-all &>/dev/null
alias stop-all="/usr/local/hadoop/bin/stop-all.sh"
unalias start-dfs &>/dev/null
alias start-dfs="/usr/local/hadoop/bin/start-dfs.sh"
unalias stop-dfs &>/dev/null
alias stop-dfs="/usr/local/hadoop/bin/stop-dfs.sh"
unalias start-mapred &>/dev/null
alias start-mapred="/usr/local/hadoop/bin/start-mapred.sh"
unalias stop-mapred &>/dev/null
alias stop-mapred="/usr/local/hadoop/bin/stop-mapred.sh"
4)配置hadoop相关的配置文件,在目录/usr/local/hadoop/conf里面
修改hadoop-en.sh,将export JAVA_HOME这一句前面的#去掉,改为export JAVA_HOME=/usr/lib/jdk1.6.0_37
core-site.xml文件,内容如下
<?xml version="1.0"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
</property>
<property>
<name>fs.tmp.dir</name>
<value>/usr/local/app/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml文件,内容如下
<?xml version="1.0"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
mapred-site.xml文件,内容如下
<?xml version="1.0"?>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
</property>
</configuration>
5)格式化HDFS文件系统
hadoop namenode -format
6)启动伪集群,启动后可以使用jps命令,看NameNode,DataNode,JobTracker和TaskTracker是不是都启动了
start-all
7)可以使用hadoop了,运行一个hadoop自带的测试程序
1'将数据拷贝到HDFS文件系统中,使用如下命令将hadoop的配置文件拷贝到HDFS下的input目录下
hadoop fs -put /usr/local/hadoop/conf /input2'运行hadoop作业
hadoop jar /usr/local/hadoop/hadoop-examples-1.0.4.jar WordCount /input /output运行成功表示安装OK了
8)可以使用http://localhost:50030查看map/reduce情况,使用http://localhost:50070查看HDFS文件系统情况
9)停止伪集群
stop-all
- 一步一步学习hadoop(一)
- 一步一步学习hadoop(二)
- 一步一步学习hadoop(三)
- 一步一步学习hadoop(四)
- 一步一步学习hadoop(五)
- 一步一步学习hadoop(六)
- 一步一步学习hadoop(七)
- 一步一步学习hadoop(八)
- 一步一步学习hadoop(九)
- 一步一步学习hadoop(十)
- 一步一步学习hadoop(十二)
- 一步一步学习JNI(一)
- oracle一步一步学习(一)
- 一步一步学习hadoop(十一)
- 一步一步学习工作流--Flow4J(一)
- 一步一步学习CakePHP(一)基本概念
- 一步一步写嵌入式操作系统学习(一)
- 一步一步学习OpenWrt(一)编译OpenWrt
- js实现鼠标滑动隐藏层或改变背景特效
- java设计模式(4)--代理模式
- Qt新动向
- 86版的五笔输入法
- 股票交易类-总结 2012 47周
- 一步一步学习hadoop(一)
- Tomcat中JavaMail支持与冲突--Tomcat创建邮件发送环境对象Session
- java通过pid来kill进程
- 【Google官方教程】第一课:高效地加载大Bitmap(位图)
- ArcGIS相关帮助网址大全
- 开源CAD(计算机辅助设计)——从源代码安装到依赖关系分析
- linux kernel coding styles
- 项目管理心得:一个项目经理的个人体会、经验总结
- 工业机械手臂—2012工博会