itwye's 博客

勇于尝试心中所想


  • Home

  • Tags

  • Categories

  • Archives

  • About

从hadoop-1.0.3升级到hadoop-1.2.1

Posted on 2013-09-12 | In hadoop

从hadoop-1.0.3升级到hadoop-1.2.1

将生产环境下hadoop-1.0.3升级到hadoop-1.2.1,且数据不丢失.

hadoop安装目录结构

1
2
3
4
5
[cloudiyadatauser@c01 opt]$ ls -al /opt/cloudiyaDataCluster/
drwxr-xr-x 18 cloudiyadatauser cloudiyadatauser 4096 Sep 12 17:07 hadoop
drwxr-xr-x 15 cloudiyadatauser cloudiyadatauser 4096 Sep 12 10:31 hadoop-1.2.1
drwxr-xr-x 8 cloudiyadatauser cloudiyadatauser 4096 May 3 2012 jdk
drwxrwxr-x 3 cloudiyadatauser cloudiyadatauser 4096 Sep 12 17:09 UpgradeBackup

以下所有操作需在namenode下,以hadoop管理员账号进行,我的管理员账号是cloudiyadatauser。

Read more »

mapper间资源冲突

Posted on 2013-02-20 | In hadoop

mapper间资源冲突

由同一作业启用的多个mapper在同一任务节点运行时,各个mapper在该节点使用的资源不能相冲突.

如在mapper.py里有这样一段程序:

1
2
3
f = open("/tmp/vid.txt","r")
f.read()
subprocess.call("rm -f /tmp/vid.txt",shell=True)

如果同一作业有两个mapper被分配到同一任务节点执行,

那前一个mapper在执行完后,删除了后一个mapper需要的资源”/tmp/vid.txt”,那后面这个mapper就执行失败了.

所以对于每个mapper在任务节点使用的资源相互之间隔离开,互不影响.

Read more »

设置默认map和reducer数

Posted on 2013-02-20 | In hadoop

设置默认map和reducer数

在提交作业的客户端设置默认map和reducer数。

缘起

在用mapreducer处理数据的过程中碰到这样一个事,先把上下文说下.

Read more »

一键安装Hadoop

Posted on 2012-10-28 | In hadoop

一键安装Hadoop

感于hadoop的难于安装部署,特写Hadoop的一键安装脚本简化其过程.

请注意,该脚本在hadoop 1.0.3 , jdk 1.7.0.3 , centos 6.6 执行通过.

Read more »

hadoop运行一段时间后,无法stop-all.sh停止

Posted on 2012-07-20 | In hadoop

hadoop运行一段时间后,无法stop-all.sh停止

在hadoop集群运行一段时间后 ,无法通过stop-all.sh关闭hadoop.

From Google

1
2
3
4
5
6
7
8
9
10
11
12
今天发现一个问题,当hadoop集群运行一段时间以后,无法停止服务。执行stop-all的时候提示 no tasktracker to stop ,no  datanode to stop。
而当我把所有节点手动kill掉以后,执行start-all和stop-all均没有问题。在邮件群组里问 了一下,最后结论如下:

stop-all.sh会调用stop-mapred.sh和 stop-dfs.sh去停止jobtracker, tasktrackers; namenode, datanodes。

Jobtracker和namenode的停止是在本地通过调用hadoop-daemon完成的,而tasktracker,和datanode 的停止是通过调用hadoop-daemons来完成的。

Hadoop-daemon实质上是ssh到每一个slave去执行一个当地的hadoop- daemon命令,比如:hadoop-daemon stop datanoade。
Hadoop-daemon stop command会通过kill -0 `cat command.pid` 来测试进程是否存在,如果这个测试中有错误产生,就会报”no command to stop ”

可能原因: pid 文件丢了,导致 hadoop-daemon.sh stop XXX 时找不到进程号。
解决办法:默认 pid 文件放在 /tmp 目录下,不太安全。可以在 conf/hadoop-env.sh 里设置 HADOOP_PID_DIR 环 境变量改变 pid文件的存放目录.
Read more »

hadoop集群动态增加节点

Posted on 2012-07-19 | In hadoop

hadoop集群动态增加节点

  • 将新节点的网络地址或域名加入include文件中

include文件只存在于namenode本地

1
2
3
4
5
6
7
8
9
10
hdfs-site.xml
<property>
<name>dfs.hosts</name>
<value>/usr/local/src/lanhadoop/hadoopv101/conf/include</value>
</property>
mapred-site.xml
<property>
<name>mapred.hosts</name>
<value>/usr/local/src/lanhadoop/hadoopv101/conf/include</value>
</property>
Read more »

Namenode Manual Failover

Posted on 2012-07-06 | In hadoop

前言

如果主节点挂掉了,硬盘数据需要时间恢复或者不能恢复了,现在又想立刻恢复HDFS,
这个时候就可以import checkpoint。步骤如下:

  • 拿一台和原来机器一样的机器,包括配置和文件,一般来说最快的是拿你节点机器中的一台,立马能用(部分配置要改成NameNode的配置)
  • 创建一个空的文件夹,该文件夹就是配置文件中dfs.name.dir所指向的文件夹。
  • 拷贝你的secondary NameNode checkpoint出来的文件,到某个文件夹,该文件夹为fs.checkpoint.dir指向的文件夹
  • 执行命令bin/hadoop namenode -importCheckpoint

这样NameNode会读取checkpoint文件,保存到dfs.name.dir。但是如果你的dfs.name.dir包含合法的fsimage,是会执行失败的。
因为NameNode会检查fs.checkpoint.dir目录下镜像的一致性,但是不会去改动它。

以上是Namenode Manual Failover的依据,来自Google.

以下是我实验的过程!

Read more »

用fuse-dfs挂载hdfs到linux本地目录

Posted on 2012-07-06 | In hadoop

用fuse-dfs挂载hdfs到linux本地目录

需要的组件
组件 版本
os redhat 6.0
hadoop 0.20.203.0
gcc 4.4.5
jdk 1.6.0.31
fuse 2.8.3

其它:automake,autoconf,m4,libtool,pkgconfig,fuse,fuse-devel,fuse-libs。

Read more »

hadoop基本安装

Posted on 2012-07-02 | In hadoop

前言

hadoop分三种运行模式 单机,伪分布,全分布,单机和伪分布是用于开发和调试,全分布是真正的hadoop集群,用于生产环境。

本次安装做全分布模式,包括master节点,snn节点和2个slave节点。

Read more »

Namenode Manual Failover(元数据备份采用nfs)

Posted on 2012-06-20 | In hadoop

Namenode Manual Failover(元数据备份采用nfs)

通过备份在nfs上的元数据恢复namenode.

前言

元数据备份通过NFS放在snn(c05.cloudiya.com)下,namenode故障手动切换到snn,snn升级为namenode,
新snn和datanode(c02.cloudiya.com)是一个节点。

Read more »
123
itwye

itwye

22 posts
6 categories
17 tags
GitHub
© 2023 itwye
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4