前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hadoop集群配置之hadoop安装部署 原

hadoop集群配置之hadoop安装部署 原

作者头像
尚浩宇
发布2018-08-17 09:50:04
1K0
发布2018-08-17 09:50:04
举报
文章被收录于专栏:杂烩

hadoop分为单击模式,伪分布式和分布式,本文安装的是分布式。

需要先对linux系统做一些优化,编辑/etc/security/limits.conf 

代码语言:javascript
复制
*		soft	nofile		10240
*		hard	nofile		10240
*		soft	noproc		10240
*		hard	noproc		10240

nofile是设置限制打开的文件数,noproc是限制用户打开的进程数,*代表的是所有用户

然后执行

代码语言:javascript
复制
ulimit -n 10240
ulimit -c 10240

下载hadoop2.6.0.tar.gz

然后登陆hadoop账户解压至主文件夹下

代码语言:javascript
复制
tar xvzf hadoop-2.6.0

然后将hadoop-2.6.0移动到主文件夹下,找到etc/hadoop下的hadoop-env.sh文件,打开将里面的jdk配置成你自己实际的jdk路径。

然后编辑core-site.xml

代码语言:javascript
复制
<configuration>
	<property>
		<name>fs.default.name</name>
		<value>hdfs://192.168.1.55:9000</value>
	</property>
<-- 设置同时处理文件上限个数 -->
    <property>
		<name>dfs.datanode.max.xcievers</name>
		<value>4096</value>
	</property>
    <property>
		<name>dfs.data.dir</name>
		<value>/hdfsdata-2.6</value>
	</property>
</configuration>

hdfs-site.xml

代码语言:javascript
复制
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	<property>
		<name>dfs.data.dir</name>
		<value>/home/hadoop/data</value>
	</property>
</configuration>

mapred-site.xml

代码语言:javascript
复制
<configuration>
	<property>
		<name>mapred.job.tracker</name>
		<value>hdfs://192.168.1.55:9001</value>
	</property>
</configuration>

masters

代码语言:javascript
复制
h1

slaves

代码语言:javascript
复制
h2
h3

注意:1、hadoop2.6没有mapred-site.xml,需要自己考一个,

          2、hadoop2.6没有masters,需要自己拷一个

          3、关闭防火墙或者添加9000、9001、50010端口为信任

然后将配置好的hadoop拷贝到各个节点上

代码语言:javascript
复制
scp -r hadoop2.6.0 h2:/home/hadoop

拷贝完成后,格式化namenode

代码语言:javascript
复制
bin/hadoop namenode -format

最后启动hadoop

代码语言:javascript
复制
sbin/start-all.sh

访问http://localhost:50070

http://localhost:8080

若成功访问则说明namenode部署成功,

还有一种办法就是找到jdk的安装目录输入一下命令

代码语言:javascript
复制
bin/jps

看看namenode还有secondarynamenode以及resourcemanager是否成功启动,slave节点则是datanode

奇怪的是我这里并没有job或者track,看了下start-all.sh里并没有启动,不过一直没有什么问题,不知道是不是2.6版本没有这些,有知道的顺便说下吧

===============================================

                                                这里是补上的

================================================

用jps只是看到服务是否启动,下面用一个简单的测试来演示是否成功。再声明一下,我用的是hadoop-2.6.0

首先切换到主目录,并且创建出一个input文件夹,文件夹下面有两个文本文件

代码语言:javascript
复制
cd ~
makdir input
echo "hello word">text1.txt
echo "hello hadoop>test2.text

然后切换到hadoop目录

代码语言:javascript
复制
cd ~
cd hadoop-2.6.0

先测试hdfs,将刚刚创建的文件上传到集群里

代码语言:javascript
复制
bin/hadoop dfs ../input /in

看一下是否成功

代码语言:javascript
复制
bin/hadoop dfs -ls /in/*

应该会输出一个文件列表

然后测试mapreduce,用hadoop自带的wordcount,hadoop2.6和其他不一样,要以如下的命令运行wordcount

代码语言:javascript
复制
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /in /out

“/”代表的是hdfs的根目录,不是以前的“./”

运行命令后再看一下根目录下的文件

代码语言:javascript
复制
bin/hadoop dfs -ls /

发现里面不仅有in目录,还多了out和temp目录,打开out目录

代码语言:javascript
复制
bin/hadoop dfs -cat /out/*

下面有两个文件,一个是_SUCCESS一个是part-r-00000,打开文件,我这里两个都打开了,不过效果是差不多的

代码语言:javascript
复制
bin/hadoop dfs -cat /out/*

下面是运行结果

代码语言:javascript
复制
[hadoop@h1 hadoop-2.6.0]$ bin/hadoop dfs -cat /out/*
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

hadoop    1
hello    2
word    1
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015/05/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档