在Ubuntu中安装Hadoop
时间:2022-05-06
本文章向大家介绍在Ubuntu中安装Hadoop,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在装Hadoop之前首先需要:
1.java1.6.x 最好是sun的,1.5.x也可以
2.ssh
安装ssh
$ sudo apt-get install ssh
$ sudo apt-get install rsync
下载Hadoop
从http://Hadoop.apache.org/core/releases.html 下载最近发布的版本
最好为Hadoop创建一个用户:
比如创建一个group为Hadoop user为Hadoop的用户以及组
$ sudo addgroup Hadoop
$ sudo adduser --ingroup Hadoop Hadoop
解压下载的Hadoop文件,放到/home/Hadoop目录下 名字为Hadoop
配置JAVA_HOME:
gedit ~/Hadoop/conf/Hadoop-env.sh
将Java代码
1. # The java implementation to use. Required.
2. # export JAVA_HOME=/usr/lib/j2sdk1.5-sun
# The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
修改成java的安装目录:
# The java implementation to use. Required.
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.15
现在可以使用单节点的方式运行:
$ cd Hadoop
$ mkdir input
$ cp conf/*.xml input
$ bin/Hadoop jar Hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
$ cat output/*
Pseudo-distributed方式跑:
配置ssh
$ su - Hadoop
$ ssh-keygen -t rsa -P ""
Generating public/private rsa key pair.
Enter file in which to save the key (/home/Hadoop/.ssh/id_rsa):
Created directory '/home/Hadoop/.ssh'.
Your identification has been saved in /home/Hadoop/.ssh/id_rsa.
Your public key has been saved in /home/Hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
9d:47:ab:d7:22:54:f0:f9:b9:3b:64:93:12:75:81:27 Hadoop@Ubuntu
让其不输入密码就能登录:
Hadoop@Ubuntu:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
使用:
$ ssh localhost
看看是不是直接ok了。
Hadoop配置文件:
conf/core-site.xml
Java代码
1. <?xml version="1.0"?>
2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
3.
4. <!-- Put site-specific property overrides in this file. -->
5.
6. <configuration>
7. <property>
8. <name>Hadoop.tmp.dir</name>
9. <value>/home/Hadoop/Hadoop-datastore/Hadoop-${user.name}</value>
10. </property>
11. <property>
12. <name>fs.default.name</name>
13. <value>hdfs://localhost:9000</value>
14. </property>
15. </configuration>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>Hadoop.tmp.dir</name>
<value>/home/Hadoop/Hadoop-datastore/Hadoop-${user.name}</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
Hadoop.tmp.dir配置为你想要的路径,${user.name}会自动扩展为运行Hadoop的代码
1. <configuration>
2. <property>
3. <name>dfs.replication</name>
4. <value>1</value>
5. </property>
6. </configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
dfs.replication为默认block复制数量
conf/mapred-site.xml
Xml代码
1. <configuration>
2. <property>
3. <name>mapred.job.tracker</name>
4. <value>localhost:9001</value>
5. </property>
6. </configuration>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
执行
格式化分布式文件系统:
$ bin/Hadoop namenode -format
启动Hadoop:
Java代码
1. $ bin/start-all.sh
$ bin/start-all.sh
可以从
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
查看NameNode和JobTracker
运行例子:
$ bin/Hadoop fs -put conf input
$ bin/Hadoop jar Hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
look at the run result:
$ bin/Hadoop fs -get output output
$ cat output/*
- Js基础---红宝书读书日记(1)-------基本类型和引用类型
- 并发编程之future模式
- Html5模拟通讯录人员排序(sen.js)
- Goroutine + Channel 实践
- Http和Https的区别
- JavaScript实现单击全选 ,再次点击取消全选
- 连AI都在看《英雄联盟》游戏直播
- MAC使用adb工具
- 并发编程之master-worker模式
- Android WebView全面总结
- Url参数中出现+、空格、=、%、&、#等字符的解决办法
- 解决CSS垂直居中的几种方法(基于绝对定位,基于视口单位,Flexbox方法)
- Go语言学习之cgo(golang与C语言相互调用)
- golang之旅--数据类型之字符串
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【DB笔试面试845】在Oracle中,sqlnet.ora文件的作用是什么?
- 安卓-无敌解决ListView添加标题头无法正常显示的问题(歪门邪道)
- 贪心算法-活动选择问题(Python实现)
- 浅析C语言中一些“令人吃惊”的结构
- 贪心算法-分数背包问题(Python实现)
- 为什么GNE 不做全自动提取列表页的功能
- 百度地图开发如何自定义控件(无敌的解决办法)
- 百度地图如何创建一个属于自己的地图,附加到项目中?
- FreeRTOS系列第9篇---FreeRTOS任务概述基础篇
- 图书管理系统(四)图书管理系统实战(2)
- 源码分析之 FactoryBean接口不为人知的秘密
- 图书管理系统(三)图书管理系统实战(1)
- 图书管理系统(二)整合 SSM,你学会了么
- CellChat:细胞间相互作用分析利器
- 我对一类常考算法面试题的详细分析