搭建的单机操作系统配置如下图:
使用的hadoop版本为1.2.1版本,Java为jre7(搭建环境变量参照:http://fengfu222.iteye.com/admin/blogs/2026451)
第一步为设置ssh免密码登陆(如果没有ssh,则需要提前安装ssh, 终端下输入命令: sudo apt-get install openssh-server)
终端下执行:ssh-keygen -t rsa 一路回车就行,该命令会在你的当前用户下生成一个.ssh文件夹,下面包含两个文件 id_rsa和id_rsa.pub两个文件
接着复制id_rsa.pub 到.ssh目录下的authorized_keys,执行命令cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys即可
验证:本机下输入 ssh 本机IP或者别名 就能免密码登陆成功
第二步 修改hostname以及设置ip与hostname(主机名)绑定(如果是用localhost 配置,则掉过这一步骤)
ubuntu下hostname是在文件/etc/hostname下配置的,打开/etc/hostname,修改为主机名为hadoopserver,修改为hadoopserver后,需要立即修改ip与hostname的绑定,编辑/etc/hosts 注释掉先前的主机名对应的ip地址(必须做),添加 192.168.1.234(你的Ip地址) hadoopserver 配置完成后需要重启
验证:
终端输入hostname -i 显示你配置的主机名;ping 主机名 会进行解析为IP地址(对应正确即为配置正确)
第三步 安装hadoop,官网上面下载hadoop1.2.1版本,下载完成后解压缩,
在用户目录下建立software文件夹,在该文件夹下建立到解压缩后的hadoop目录的软链接
修改hadoop目录下conf目录下的hadoop-env.sh文件,制定本机的java运行环境
export JAVA_HOME=your java 运行环境目录(如果你设置了环境变量,则不用修改该文件)
接着修改3个文件: core-site.xml hdfs-site.xml mapred-site.xml文件,三个文件均在conf下
core-site.xml
core-site.xml简单配置为
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>fs.default.name</name> <value>hdfs://hadoopserver(可以配置为localhost,或者你上步骤配置的主机名):9000</value> </property> </configuration>
hdfs-site.xml简单配置为:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
mapred-site.xml配置为:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>mapred.job.tracker</name> <value>hadoopserver(此处可以是localhost 或者你配置的主机名):9001</value> </property> </configuration>
第四步 启动hadoop
启动hadoop 首先第一步要进行格式化 切换到hadoop目录 执行 bin/hadoop namenode -format(每次启动不需要都执行格式化,但是如果配置太简单,则系统重启后,启动hadoop则需要重新进行格式化)
出现如下,则格式化成功
14/12/21 22:54:31 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/tmp/hadoop-fengfu/dfs/name/current/edits 14/12/21 22:54:31 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/tmp/hadoop-fengfu/dfs/name/current/edits 14/12/21 22:54:32 INFO common.Storage: Storage directory /tmp/hadoop-fengfu/dfs/name has been successfully formatted. 14/12/21 22:54:32 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at hadoopserver/192.168.1.234 ************************************************************/
接下来执行bin/start-all.sh 启动Hadoop
命令执行完成后,可以使用java的jps查看是否全部启动起来,如下
fengfu@hadoopserver:~/software/hadoop-1.2.1$ jps 5694 SecondaryNameNode 6083 Jps 5965 TaskTracker 5806 JobTracker 5529 DataNode 5376 NameNode
或者浏览器上验证:
http://hadoopserver:50070
http://hadoopserver:50030
如果没有启动起来,可以到hadoop目录下的logs目录下查看输出日志,进行调试(当然可以配置logs的位置,不一定在Logs目录下)
本人配置碰到的问题
1 ubuntu下有默认的主机名,而我使用了hadoopserver,虽然我配置了/etc/hosts (ubuntu下主机名绑定的ip为127.0.1.1)但是没有修改hostname导致进行格式化的时候出问题(没有报错误,只是在eclipse下配置Hadoop的时候老是出错),因为格式化的时候默认使用的是主机名,如下图:
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = hadoopserver/192.168.1.234
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 1.2.1
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/b
2 系统每次启动后,都启动不起来hadoop,主要就是因为没有进行格式化,而系统重启后,需要重新格式化,则是因为hadoop格式化后的文件系统目录在/tmp文件夹下,如下图:
14/12/21 22:54:31 INFO common.Storage: Image file /tmp/hadoop-fengfu/dfs/name/current/fsimage of size 112 bytes saved in 0 seconds. 14/12/21 22:54:31 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/tmp/hadoop-fengfu/dfs/name/current/edits 14/12/21 22:54:31 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/tmp/hadoop-fengfu/dfs/name/current/edits 14/12/21 22:54:32 INFO common.Storage: Storage directory /tmp/hadoop-fengfu/dfs/name has been successfully formatted.
每次系统重启后,这个文件夹下的东西都清空,所以每次系统重启后启动hadoop都需要进行重新格式化,不重启则就不需要,建议在配置文件中重新指定hadoop文件系统的位置,不要放在/tmp下,每次格式化后都会丢失hdfs里面存储的数据
3 推荐使用主机名进行配置Hadoop是因为如果想配置集群的话,不用localhost是因为如果配置真分布式,则还需要修改掉配置文件中的localhost.
相关推荐
ubuntu下Hadoop的伪分布式配置
如果用的是 CentOS/RedHat 系统,请查看相应的CentOS安装Hadoop教程_单机伪分布式配置。 本教程基于原生 Hadoop 2,在 Hadoop 2.6.0 (stable) 版本下验证通过,可适合任何 Hadoop 2.x.y 版本,如 Hadoop 2.7.1、...
2.本机为ubuntu16.04服务器版本,无图形化界面,剔除无用冗杂的三方软件,速度更快。 hadoop=3.1.3 jdk=1.8.0_162 hbase=2.2.2 mysql=5.7.3 hive=3.1.2 scala=2.11.12 spark=2.4.0 sbt=1.3.8 flink=1.9.1 maven=...
利用VMWare虚拟机建立3台ubuntu虚拟系统,在此基础上搭建的hadoop完全分布式环境,本人亲测可行
ubuntu下搭建hadoop的单机版和伪分布式,花费一学期搭建完成。
使用vmware复制了三个ubuntu18.04虚拟机系统,模拟多台服务器,安装配置完全分布式hadoop。 想修改成免费的,不会修改。有问题可以留言一起交流
ubuntu环境下hadoop环境搭建(伪分布模式),是本人学习大数据以来对于hadoop环境搭建的一些经验,现在写成文档的形式分享给大家。
小白搭建hadoop完全分布式环境笔记,步骤详细,原创
第一步:打开ubuntu终端 如果没有hadoop用户,我们创建一个hadoop用户 使用命令 sudo useradd -m hadoop -s
在Ubuntu下利用Hadoop配置与搭建分布式系统。 全部是自己搜网上资料, 自己摸索写的。 内容详细!
自己学习后总结的详细搭建笔记,包括伪分布式,基本按照步骤操作就可以了
对于想学习 Spark 的人而言,如何构建 Spark 集群是其最大的难点之一, 为了解决大家构建 Spark 集群的一切困难,Spark 集群的构建分为了五个步骤,从 零起步,不需要任何前置知识,涵盖操作的每一个细节,构建完整...
NULL 博文链接:https://just2do.iteye.com/blog/2210992
-018.Hadoop在Win7下免Cygwin环境安装伪分布式与第三方增强软件介入.mp4 -019.Hadoop在Win7下免Cygwin环境安装NativeBug解决与dexpot多桌面应用.mp4 -020.Hadoop架构分析之单节点体系.mp4 021.Hadoop架构分析之集群...
hadoop完全分布式的集群搭建 硬件环境 两台虚拟机 linux的Ubuntu10.10的系统 hadoop0.20.2
Hadoop伪分布式配置 25 启动Hadoop 26 运行Hadoop伪分布式实例 30 启动YARN 35 附加教程: 配置PATH环境变量 37 使用Eclipse编译运行MapReduce程序(Hadoop-Eclipse-Plugin,建议) 38 使用Eclipse打包自己的...
【向Linux迁移记录】Deepin Linux下快速Hadoop完全分布式集群搭建-附件资源
spark要配合Hadoop的hdfs使用,然而Hadoop的特点就是分布式,在一台主机上搭建集群有点困难,百度后发现可以使用docker构建搭建,于是开搞: github项目:https://github.com/kiwenlau/hadoop-cluster-docker ...
基于hadoop-1.1.2的伪分布式集群、分布式集群搭建。使用javaapi操作hdfs、hdfs内部操作命令、从win7访问ubuntu中的hadoop集群。 eclipse hadoop java 分布式 云计算 Hadoop上路 v1.1
基于hadoop-1.1.2的伪分布式集群、分布式集群搭建。使用javaapi操作hdfs、hdfs内部操作命令、从win7访问ubuntu中的hadoop集群。 eclipse hadoop java 分布式 云计算 Hadoop-1.1.2上路 v1.0