HADOOP伪分布式安装
来源:互联网 发布:makeblock 淘宝 编辑:程序博客网 时间:2024/04/29 07:17
一、环境搭建
1)安装JDK
hadoop是java编写的,首先自然是要安装jdk了,在ubuntu和debian上可以直接用apt-get install sun-java6-jdk安装即可。
2)安装SSH
可以安装open-ssh-server。
3)在namenode上面实现无密码登录
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa输入上面的命令回车,完成后会在 ~/.ssh/ 生成两个文件: id_dsa 和 id_dsa.pub 。这两个是成对出现,类似钥匙和锁。 再把 id_dsa.pub 追加到授权 key 里面 ( 当前并没有 authorized_keys文件 ) :
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys完成后可以实现无密码录本机:ssh localhost 。若此时连接不上,检查sshd服务是否打开。可以用命令:service sshd start开启服务。
4)下载hadoop
这次我下载的是hadoop的1.2.1版本,应该是最新的稳定版。地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/。
二、hadoop配置
解压下载的hadoop.tar.gz文件,配置文件全部位于conf目录中。主要配置下面四个配置文件,具体配置参数的含义参见:http://www.cnblogs.com/ggjucheng/archive/2012/04/17/2454590.html。
1)配置hadoop-env.xml
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26/export HADOOP_SSH_OPTS="-p 1220"其中只需要配置java路径,如果ssh端口默认不是22,请设置HADOOP_SSH_OPTS。
2)配置masters和slaves文件,默认都是localhost。我的这个hadoop只用了一台机器,所以不修改。
如果是多台机器,则在masters中配置master,slaves中配置其他节点ip。
3)配置core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> </property> <property> <name>fs.default.name</name> <value>hdfs://localhost:6990</value> </property></configuration>4)配置hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.name.dir</name> <value>/home/hadoop/name</value> <description> </description> </property> <property> <name>dfs.data.dir</name> <value>/home/hadoop/data</value> <description> </description> </property></configuration>
5)配置mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:6991</value> </property></configuration>
三、运行hadoop
1) 格式化文件系统
bin/hadoop namenode -format2)启动hadoop
bin/start-all.sh3)启动完成用命令jps查看,如果有如下几个进程,代表hadoop启动成功了。
3733 SecondaryNameNode12592 Jps3829 JobTracker3501 NameNode3942 TaskTracker3616 DataNode
4)启动成功后,可以通过命令和WEB查看hadoop运行状态。
查看集群状态: $ hadoop dfsadmin -report Hadoop 的 web 方式查看: http://localhost:50070
四、示例程序
hadoop最经典的示例当然是wordcount程序了,类似于其他语言中的helloworld。运行方法如下:
1)先在本地磁盘建立两个输入文件file01和file02:
$echo“hello world bye world”>file01
$echo“hello hadoop goodbye hadoop”>file02
2)在hdfs中建立一个input目录:$hadoop fs –mkdir input
3)将file01和file02拷贝到hdfs中:
$echo“hello world bye world”>file01
$echo“hello hadoop goodbye hadoop”>file02
2)在hdfs中建立一个input目录:$hadoop fs –mkdir input
3)将file01和file02拷贝到hdfs中:
bin/hadoop fs –copyFromLocal /home/hadoop/file0* input
4)执行wordcount:
bin/hadoop jar hadoop-examples-1.2.1.jar wordcount input output5)完成之后,查看结果:
gzshishujuan@onlinegame-11-219:~/hadoop$ bin/hadoop fs -cat output/part-r-00000bye1goodbye1hadoop2hello2world2
- Hadoop 伪分布式安装
- hadoop 伪分布式安装
- Hadoop 伪分布式安装
- HADOOP伪分布式安装
- hadoop伪分布式安装
- Hadoop伪分布式安装
- Hadoop伪分布式安装
- hadoop伪分布式安装
- hadoop伪分布式安装
- 伪分布式Hadoop安装
- hadoop伪分布式安装
- hadoop伪分布式安装
- Hadoop 伪分布式安装
- 伪分布式安装Hadoop
- 伪分布式安装hadoop
- Hadoop伪分布式安装
- Hadoop伪分布式安装
- hadoop伪分布式安装
- perl 题目
- Node.js HTTP客户端
- 应用二维数组的行指针输出二维数组的元素
- HTML 复习
- fs2410调试笔记
- HADOOP伪分布式安装
- sed命令 linux
- Tag lib
- pongo题解之字符串消除
- POJ 3259 判断图中是否存在负权回路
- http和https的区别
- HDU 1394 Minimum Inversion Number (树状数组)
- Struts2中<result>标签
- Android HttpGet和HttpPost设置超时