CentOS安装配置Hadoop 1.2.1(伪分布模式)
CentOS安装配置Hadoop1.2.1
1.下载安装文件
下载2个安装文件
JAVA环境:jdk-6u21-linux-i586.bin
Hadoop环境:hadoop-1.2.1.tar.gz
这里是把jdk安装在/root下,hadoop安装在/etc下面
2.安装jdk
这里jdk-6u21-linux-i586.bin放在/root下
添加执行权限,并解包。
[root@master ~]# cd /root
[root@master
root]# chmod 777 jdk-6u21-linux-i586.bin
[root@master
root]# ./ jdk-6u21-linux-i586.bin
接着
2)添加环境变量配置(这里连带hadoop的环境变量一起先设好)
[root@master~]# vi /etc/profile
(命令行方式较麻烦)
在/etc/profile文件最后加入以下代码,可以直接用文本编辑器打开profile
请注意自己实际的安装路径和名称
exportJAVA_HOME=/root/jdk1.6.0_21
export JRE_HOME=/root/jdk1.6.0_21/jre
export HADOOP_HOME=/etc/hadoop-1.2.1
exportHADOOP_HOME_WARN_SUPPRESS=1
exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/lib:$CLASSPATH
exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
让配置生效:[root@master ~]# source/etc/profile
可以输入下面命令测试下Java环境是否成功
[root@master ~]#java –version
2.1
设置/etc/hosts文件以及/etc/sysconfig/network
进入终端
[root@master ~]# hostname
查看hostname是否为network中的值,如果不是
修改hostname的值
[root@master ~]# hostname master
3
给VM虚拟机建立SSH无密码登录
使用ssh服务,首先得确保机器已经完整安装,否则可能出现port 22 refused
之类的情况,当然出现这种情况也可能是防火墙的原因
搜索并安装(一般是装好的,可以不用)
[root@master ~]#yum search openssh*
[root@master ~]#yum install openssh*
生成签名文件
[root@master~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
[root@master~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[root@master~]# service iptables stop
测试本地SSH无密码登录
[root@centos1~]# ssh master
4、Hadoop安装
文件包hadoop-1.2.1.tar.gz放在etc下面
[root@master ~]# cd /etc
解包并安装
[root@master
etc]# tar -zvxf hadoop-1.2.1.tar.gz
4.1 Hadoop测试
把hadoop下bin下的hadoop拷贝到根目录/bin下,根目录下可测试hadoop
[root@master ~]#hadoopversion
可以看到hadoop版本信息,若有错误,说明安装过程出现了问题
5、Hadoop配置
配置hadoop安装路径在/conf/core-site.xml、hdfs-site.xml和mapred-site.xml三个文件。
[root@master conf]# vicore-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadooptmp</value>
</property>
[root@master conf]# vihdfs-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadooptmp</value>
</property>
[root@master conf]# vi mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/usr/local/hadoop/mapred/local</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/tmp/hadoop/mapred/system</value>
</property>
继续修改一些配置文件
[root@master ~]# vi ~/.bashrc
输入i进入insert模式,移动光标到最后一行,粘贴以下代码(得根据具体的文件名和路径进行修改)
export JAVA_HOME=/root/jdk1.6.0_21
export JRE_HOME=/root/jdk1.6.0_21/jre
export HADOOP_HOME=/etc/hadoop-1.2.1
export HADOOP_DEV_HOME=/etc/hadoop-1.2.1
export HADOOP_COMMON_HOME=/etc/hadoop-1.2.1
export HADOOP_HDFS_HOME=/etc/hadoop-1.2.1
export HADOOP_CONF_DIR=/etc/hadoop-1.2.1/conf
按下esc并输入:wq
[root@centos1 conf]# vi hadoop-env.sh
打开hadoop下conf文件直接文本编辑加入以下代码更快
export JAVA_HOME=/root/jdk1.6.0_21
export HADOOP_HOME_WARN_SUPPRESS=1
export HADOOP_CLASSPATH=/etc/hadoop-1.2.1:/etc/hadoop-1.2.1/lib
6、配置节点
可以直接用文本编辑器打开那个文件,以下可以直接加入以下代码,
[root@master conf]# vi masters(命令行方式)
127.0.0.1
[root@master conf]# vi slaves
(命令行方式)
127.0.0.1
7、SSH登录测试
[root@master ~]# ping master
Ctrl+shift+c终止
[root@master ~]# ssh master
*注意:service iptables stop
每次启动要执行。
每台机器都要能通。
8、运行Hadoop
8、首先执行格式化
先关闭防火墙
[root@masterhadoop-1.2.1]# service iptables stop
再格式化
[root@master hadoop-1.2.1]# hadoop namenode–format
每次修改xml配置文件都要格式化。格式化过程仔细查看日志
这里注意查看格式化的时候当中一行的信息是否是host=master/127.0.0.1
如果不是那可能将造成:运行wordcount示例时候:
卡在
map 100% reduce 0% 那里不动。
出现这个问题主要是hostname不一致的原因
9、启动hadoop
[root@centos1 hadoop-1.1.1]# start-all.sh
如果出现以下错误
则分别尝试在bin下和hadoop根目录下运行
并尝试service iptables stop后再次开启
10、查看进程
使用jps指令,主机进程,4个。
[root@master hadoop-1.2.1]# jps
4001 Jps
3642 NameNode
3899 JobTracker
3805 SecondaryNameNode
[root@master conf]# jps
3793 Jps
3621 DataNode
3722 TaskTracker
11、查看集群状态
[root@master hadoop-1.1.1]# hadoop dfsadmin
-report
这里有一个数据节点,可以看到上面是有大小的,如果为0说明一开始hadoop启动失败
注意:如果报错“INFOipc.Client: Retrying connect to server”,是因为core-site.xml失效的原因。停止,重启hadoop后,格式化namenode即可。
另外,每次启动VM都要关闭防火墙。
12、列出HDFS文件系统中存在的目录情况
[root@redhat1 conf]# hadoopfs -ls
显示结果:ls: Cannot access .: No such file or directory.
这是这个目录为空所致。
可以改为执行 hadoop fs -ls /
可以看到有一条空结果。
执行hadoop fs -mkdir hello
其中hello为文件夹名字,再执行hadoop fs -ls命令,即可看到结果。
13、测试一下DFS操作
[root@centos1hadoop-1.2.1]# hadoop dfs -mkdir input
[root@centos1hadoop-1.2.1]# hadoop dfs -ls
Found 1 items
drwxr-xr-x - root supergroup
02013-01-19 23:24 /user/root/input
14、测试下HDFS文件系统Web浏览器监视
HDFS文件系统状态NameNode,http://master:50070/
15、运行Hadoop自带框架的wordcount示例
15.1、建立数据源文件
/root/test建立2个文本文件,在这两个文本文件输入你想输入的单词
这里随便输入
15.2、发布数据文件至hadoop集群
1、在hdfs中建立一个input目录
[root@master hadoop-1.2.1]#hadoop dfs -mkdir input
2.
将/root/test的文本文件上传到刚建立的input文件夹下
[root@master hadoop-1.2.1]#hadoop dfs –put /root/test/* input
3、执行wordcount程序
执行wordcount程序,并确保hdfs上没有output目录,如果已经有,便会有如下问题:
output目录则执行[root@masterroot]#
hadoop fs -rmr putput
[root@master hadoop-1.2.1]#hadoop jar hadoop-examples-1.2.1.jar wordcount input output
14/09/24 17:37:39 INFO input.FileInputFormat: Total input pathsto process : 4
14/09/24 17:37:39 INFO util.NativeCodeLoader: Loaded thenative-hadoop library
14/09/24 17:37:39 WARN snappy.LoadSnappy: Snappy native librarynot loaded
14/09/24 17:37:39 INFO mapred.JobClient: Running job:job_201409241734_0002
14/09/24 17:37:41 INFO mapred.JobClient:
map 0% reduce 0%
14/09/24 17:37:54 INFO mapred.JobClient:
map 50% reduce 0%
14/09/24 17:37:59 INFO mapred.JobClient:
map 75% reduce 0%
14/09/24 17:38:00 INFO mapred.JobClient:
map 100% reduce 0%
14/09/24 17:38:05 INFO mapred.JobClient:
map 100% reduce 100%
14/09/24 17:38:06 INFO mapred.JobClient: Job complete:job_201409241734_0002
14/09/24 17:38:06 INFO mapred.JobClient: Counters: 29
14/09/24 17:38:06 INFO mapred.JobClient:
Job Counters
14/09/24 17:38:06 INFO mapred.JobClient:
Launched reduce tasks=1
14/09/24 17:38:06 INFO mapred.JobClient:
SLOTS_MILLIS_MAPS=33257
14/09/24 17:38:06 INFO mapred.JobClient:
Total time spent by all reduces waitingafter reserving slots (ms)=0
14/09/24 17:38:06 INFO mapred.JobClient:
Total time spent by all maps waiting afterreserving slots (ms)=0
14/09/24 17:38:06 INFO mapred.JobClient:
Launched map tasks=4
14/09/24 17:38:06 INFO mapred.JobClient:
Data-local map tasks=2
14/09/24 17:38:06 INFO mapred.JobClient:
SLOTS_MILLIS_REDUCES=11496
14/09/24 17:38:06 INFO mapred.JobClient:
File Output Format Counters
14/09/24 17:38:06 INFO mapred.JobClient:
Bytes Written=27
14/09/24 17:38:06 INFO mapred.JobClient:
FileSystemCounters
14/09/24 17:38:06 INFO mapred.JobClient:
FILE_BYTES_READ=57
14/09/24 17:38:06 INFO mapred.JobClient:
HDFS_BYTES_READ=442
14/09/24 17:38:06 INFO mapred.JobClient:
FILE_BYTES_WRITTEN=274717
14/09/24 17:38:06 INFO mapred.JobClient:
HDFS_BYTES_WRITTEN=27
14/09/24 17:38:06 INFO mapred.JobClient:
File Input Format Counters
14/09/24 17:38:06 INFO mapred.JobClient:
Bytes Read=28
14/09/24 17:38:06 INFO mapred.JobClient:
Map-Reduce Framework
14/09/24 17:38:06 INFO mapred.JobClient:
Map output materialized bytes=75
14/09/24 17:38:06 INFO mapred.JobClient:
Map input records=2
14/09/24 17:38:06 INFO mapred.JobClient:
Reduce shuffle bytes=75
14/09/24 17:38:06 INFO mapred.JobClient:
Spilled Records=8
14/09/24 17:38:06 INFO mapred.JobClient:
Map output bytes=43
14/09/24 17:38:06 INFO mapred.JobClient:
CPU time spent (ms)=6560
14/09/24 17:38:06 INFO mapred.JobClient:
Total committed heap usage(bytes)=569655296
14/09/24 17:38:06 INFO mapred.JobClient:
Combine input records=4
14/09/24 17:38:06 INFO mapred.JobClient:
SPLIT_RAW_BYTES=414
14/09/24 17:38:06 INFO mapred.JobClient:
Reduce input records=4
14/09/24 17:38:06 INFO mapred.JobClient:
Reduce input groups=3
14/09/24 17:38:06 INFO mapred.JobClient:
Combine output records=4
14/09/24 17:38:06 INFO mapred.JobClient:
Physical memory (bytes) snapshot=617246720
14/09/24 17:38:06 INFO mapred.JobClient:
Reduce output records=3
14/09/24 17:38:06 INFO mapred.JobClient:
Virtual memory (bytes) snapshot=1871646720
14/09/24 17:38:06 INFO mapred.JobClient:
Map output records=4
[root@centos1 hadoop-1.1.1]#hadoop dfs -cat output/part-r-00000
[root@master hadoop-1.2.1]# hadoop dfs -cat output/part-r-00000
guangzhou
1
hello
2
java
1
CentOS安装配置Hadoop 1.2.1(伪分布模式)的更多相关文章
- 虚拟机Ubuntu(18.04.2)下安装配置Hadoop(2.9.2)(伪分布式+Java8)
[本文结构] [1]安装Hadoop前的准备工作 [1.1] 创建新用户 [1.2] 更新APT [1.3] 安装SSH [1.4] 安装Java环境 [2]安装和配置hadoop [2.1] Had ...
- centos 7下Hadoop 2.7.2 伪分布式安装
centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...
- 集群安装配置Hadoop具体图解
集群安装配置Hadoop 集群节点:node4.node5.node6.node7.node8. 详细架构: node4 Namenode,secondnamenode,jobtracker node ...
- 阿里云服务器Linux CentOS安装配置(零)目录
阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...
- 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署
阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...
- 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定
阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...
- 阿里云服务器Linux CentOS安装配置(七)域名解析
阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...
- 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署
阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...
- 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署
阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...
随机推荐
- IDEA + maven 零基础构建 java agent 项目
200316-IDEA + maven 零基础构建 java agent 项目 Java Agent(java 探针)虽说在 jdk1.5 之后就有了,但是对于绝大多数的业务开发 javaer 来说, ...
- Linux基础入门级命令文档
Linux系统上命令的使用格式,及常用命令示例 1.命令提示符 登录系统后,第一眼看到的内容是: [root@node01 ~]# 上图就是 Linux 系统的命令提示符.那么,这个提示符的含义是什么 ...
- 疯狂Java基础Day1
--每过一遍基础,都是一次提升! 太多遗忘了,慢慢补... 推一个Java学习教程--->b站搜:狂神说Java系列(排序完毕) 推荐原因:讲的不错,会涉及到底层,也会讲讲面试. 一.注释 主要 ...
- Linkerd 2:5 分种厘清 Service Mesh 相关术语
API Gateway(API 网关) API gateway 位于应用程序的前面,旨在解决身份验证和授权.速率限制以及为外部消费者提供公共访问点等业务问题. 相比之下,service mesh 专注 ...
- hdu 1160 FatMouse's Speed(最长不下降子序列+输出路径)
题意: FatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to ...
- JAVA笔记13__创建线程/线程休眠/等待线程终止/线程中断/守护线程
/** * 线程:是进程的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程最少有一个进程(单线程程序) * 多线程两种实现方法:1.继承Thread类 2.实现Runnable ...
- MySQL中特别实用的几种SQL语句送给大家
在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一亮. 目录 实用的SQL 1.插 ...
- 理解ASP.NET Core - 日志(Logging)
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 快速上手 添加日志提供程序 在文章主机(Host)中,讲到Host.CreateDefault ...
- vs Code配置C++运行和调试环境以及相关问题
vs Code配置C++运行和调试环境以及相关问题 第一步:下载c++插件 第二步:安装编译.调试环境 如果没有Dev-C++下载MinGW 下载地址:https://sourceforge.net/ ...
- 一看就懂的IdentityServer4认证授权设计方案
查阅了大多数相关资料,总结设计一个IdentityServer4认证授权方案,我们先看理论,后设计方案. 1.快速理解认证授权 我们先看一下网站发起QQ认证授权,授权通过后获取用户头像,昵称的流程. ...