【导语】下面是小编收集整理的Hadoop集群监控工具:HTools(共8篇),供大家参考借鉴,希望可以帮助到有需要的朋友。

篇1:Hadoop集群监控工具:HTools
HTools是一款专业的Hadoop管 理工具,不管您是非专业IT人士,还是多年经验的技术人员,本工具都会为您提供优质的管理服务和轻松的操作过程, 释放无谓的工作压力,提高Hadoop的管理水平,我们以最权威的专家为您量身定做的Hadoop管理工具,本系统提供优秀的用户体验,让您能够轻松的管 理Hadoop集群环境。
友善的向导式操作流程
图形报表、日志分析供您明了查看各节点使用情况
智能诊断,修复故障并发出短信、邮件故障告警
图形化UI、拖拖拽拽即可管理管理HDFS数据
傻瓜式操作优化Hadoop,方便快捷
免客户端部署,无需安装HTools客户端
版本控制灵活,不绑定Hadoop的JDK版本
一键智能搜索当前网段可部署节点
支持多个Hadoop集群同时监管
支持同时管理多个Hadoop集群和节点
支持7 × 24小时多集群实时监控
支持节点热插拔,服务不间断的情况下随时对节点进行扩展和调整
支持系统配置文件的推送和同步
项目主页:www.open-open.com/lib/view/home/1387940215953
篇2:Hadoop集群监控系统:Ambari
Ambari是Apache的一个开源项目,旨在提供一个Hadoop集群安装、管理、配置、监控的一体化工具,Ambari使用了开源项目hmc完成hadoop的安装功能 , 在监控方面则使用了ganglia和nagios两个开源项目。能对Hadoop进行监控、管理和生命周期管理的基于网页的开源项目。它也是一个为Hortonworks数据平台选择管理组建的项目。Ambari支持管理的服务有:
Apache HBase
Apache HCatalog
Apache Hadoop HDFS
Apache Hive
Apache Hadoop MapReduce
Apache Oozie
Apache Pig
Apache Sqoop
Apache Templeton
Apache Zookeeper
ambari可以使安装hadoop集群,管理hadoop集群服务,监控集群都很容易,
项目主页:www.open-open.com/lib/view/home/1390179006039
篇3:Ambari部署hadoop集群
1、基本工具
yum、scp、curl、wget、pdsh、ssh
2、环境准备
2.1、系统环境
Centos6.5 64bit
Ambari 1.4.3.38
2.2、ambari server 与 ambari agent 服务器root ssh无密互访
Ambari server服务器
Ssh-keygen 生产私钥公钥 id_rsa id_rsa.pub
Ambari agent服务器
将ambari server 服上root生成的id_rsa.pub上传到各个集群机器上,
cat id_rsa.pub >> authorized_keys
Ambar server
ssh root@ambariagent
2.3、所有集群机器时间同步
安装ntp服务
2.4、所有集群机器关闭selinux
setenforce 0
2.5、所有集群机器关闭防火墙
/etc/init.d/iptables stop
2.6、所有集群机器centos关闭packagekit
vim /etc/yum/pluginconf.d/refresh-packagekit.conf
enabled=0
3、安装准备
注:本节只需要在ambari server服务器上做
3.1、安装源
wgetpublic-repo-1.hortonworks.com/ambari/centos6/1.x/GA/ambari.repo
cp ambari.repo /etc/yum.repos.d
这个源可能会非常慢,如果慢可以部署本地源(以下为可选,一般ambari源所需资源少,不需要部署本地源),步奏如下:
1、下载打包好的ambari源百度云盘
2、在ambari-server机器上部署源,将上面下载的文件解压到如/var/www/html/目录下
3、修改ambari.repo文件如下,注意黄色部分即可
[ambari-1.x]
name=Ambari 1.x
baseurl=file:///var/www/html/ambari/
gpgcheck=0
gpgkey=public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16
baseurl=file:///var/www/html/ambari/
gpgcheck=0
gpgkey=public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[Updates-ambari-1.x]
name=ambari-1.x - Updates
baseurl=file:///var/www/html/ambari/
gpgcheck=0
gpgkey=public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
3.2、Install the epel repository
yum install epel-release
yum repolist
3.3、安装ambari server
yum install ambari-server
3.4、设置ambari server
ambari-server setup
一路按确定即可,ambari-server会用到数据库,自行选择默认使用PostgreSQL,如果你选择使用mysql还需要把jdbc驱动放到/usr/lib/ambari-server目录下,会自动下载jdk-6u31-linux-x64.bin到/var/lib/ambari-server/resources你可以可以自己下载
安装好之后 启动ambari-server
ambari-server start
如果启动失败主义看几个日志文件/var/log/ambari-server
查看ambari-server状态
ambari-server status
注:如果不自己使用自己创建的源,一下步奏略过
ambari-server 会自己搭建一个web服务器根目录为/usr/lib/ambari-server/web端口号为8080我们可以通过ambari-server-hostname:8080/访问到,我们要利用起来这个web服务器(也可以使用自己已有服务器)部署我们的ambari 和 hdp源,步骤如下:
1、将3.1中/var/www/html/ambari/复制到/usr/lib/ambari-server/web
cp -r /var/www/html/ambari/ /usr/lib/ambari-server/web
2、同时修改ambari.repo
[ambari-1.x]
name=Ambari 1.x
baseurl=ambari-server-hostname:8080/ambari/
gpgcheck=0
gpgkey=public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16
baseurl=ambari-server-hostname:8080/ambari/
gpgcheck=0
gpgkey=public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[Updates-ambari-1.x]
name=ambari-1.x - Updates
baseurl=ambari-server-hostname:8080/ambari/
gpgcheck=0
gpgkey=public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
3、创建HDP源
将HDP源(我自己打包好的源)百度云盘下载并解压到/usr/lib/ambari-server/web下可以看到一个hdp文件夹
4、修改repoinfo.xml文件
cd /var/lib/ambari-server/resources/stacks/HDP/2.0.6/repos
修改如下部分,我使用的是centos6.5所以修改对应的。
在安装过程中,ambari会在集群机器上创建一个HDP.repo的源文件,文件的内容就是我们这里修改的相关信息。
4、安装
浏览器访问ambari-server-hostname:8080/
按照步奏一步步走在这一步时注意,选择自己对应得版本,我使用的是2.0.6前面章节中我也配置的是2.0.6版本,其他版本类似修改。
在安装中可能会出现多次失败,如果retry很多次还这样就要清理各个机器上的相关类库,用户,目录,配置等信息。所以建议最好在一个新安装的纯净系统上使用。
5、重新安装
注:以下来自网络,我在安装中也是这样做的,有些内容可能与实际不同,主要就是删除相关包、用户、以及配置
1、停止ambari
所有集群机器
ambari-agent stop
Ambari-server机器
ambari-server stop
2、删除安装包
#用yum list installed |grepHDP来检查安装的hadoop相关的包
yumremove -y sqoop.noarch
yumremove -y lzo-devel.x86_64
yumremove -y hadoop-libhdfs.x86_64
yumremove -y rrdtool.x86_64
yumremove -y hbase.noarch
yumremove -y pig.noarch
yumremove -y lzo.x86_64
yumremove -y ambari-log4j.noarch
yumremove -y oozie.noarch
yumremove -y oozie-client.noarch
yumremove -y gweb.noarch
yumremove -y snappy-devel.x86_64
yumremove -y hcatalog.noarch
yumremove -y python-rrdtool.x86_64
yumremove -y nagios.x86_64
yumremove -y webhcat-tar-pig.noarch
yumremove -y snappy.x86_64
yumremove -y libconfuse.x86_64
yumremove -y webhcat-tar-hive.noarch
yumremove -y ganglia-gmetad.x86_64
yumremove -y extjs.noarch
yumremove -y hive.noarch
yumremove -y hadoop-lzo.x86_64
yumremove -y hadoop-lzo-native.x86_64
yumremove -y hadoop-native.x86_64
yumremove -y hadoop-pipes.x86_64
yumremove -y nagios-plugins.x86_64
yumremove -y hadoop.x86_64
yumremove -y zookeeper.noarch
yumremove -y hadoop-sbin.x86_64
yumremove -y ganglia-gmond.x86_64
yumremove -y libganglia.x86_64
yumremove -yperl-rrdtool.x86_64
yumremove -y epel-release.noarch
yumremove -y compat-readline5*
yumremove -y fping.x86_64
yumremove -yperl-Crypt-DES.x86_64
yumremove -y exim.x86_64
yumremove -y ganglia-web.noarch
yumremove -yperl-Digest-HMAC.noarch
yumremove -yperl-Digest-SHA1.x86_64
3.删除用户
userdel nagios
userdel hive
userdel ambari-qa
userdel hbase
userdel oozie
userdel hcat
userdel mapred
userdel hdfs
userdel rrdcached
userdel zookeeper
userdel sqoop
userdel puppet
4.删除快捷方式
cd /etc/alternatives
rm-rf hadoop-etc
rm-rf zookeeper-conf
rm-rf hbase-conf
rm-rf hadoop-log
rm-rf hadoop-lib
rm-rf hadoop-default
rm-rf oozie-conf
rm-rf hcatalog-conf
rm-rf hive-conf
rm-rf hadoop-man
rm-rf sqoop-conf
rm-rf hadoop-conf
5.删除文件夹
rm-rf /var/lib/pgsql
rm-rf /hadoop
rm-rf /etc/hadoop
rm-rf /etc/hbase
rm-rf /etc/hcatalog
rm-rf /etc/hive
rm-rf /etc/ganglia
rm-rf /etc/nagios
rm-rf /etc/oozie
rm-rf /etc/sqoop
rm-rf /etc/zookeeper
rm-rf /var/run/hadoop
rm-rf /var/run/hbase
rm-rf /var/run/hive
rm-rf /var/run/ganglia
rm-rf /var/run/nagios
rm-rf /var/run/oozie
rm-rf /var/run/zookeeper
rm-rf /var/log/hadoop
rm-rf /var/log/hbase
rm-rf /var/log/hive
rm-rf /var/log/nagios
rm-rf /var/log/oozie
rm-rf /var/log/zookeeper
rm-rf /usr/lib/hadoop
rm-rf /usr/lib/hbase
rm-rf /usr/lib/hcatalog
rm-rf /usr/lib/hive
rm-rf /usr/lib/oozie
rm-rf /usr/lib/sqoop
rm-rf /usr/lib/zookeeper
rm-rf /var/lib/hive
rm-rf /var/lib/ganglia
rm-rf /var/lib/oozie
rm-rf /var/lib/zookeeper
rm-rf /var/tmp/oozie
rm-rf /tmp/hive
rm-rf /tmp/nagios
rm-rf /tmp/ambari-qa
rm-rf /tmp/sqoop-ambari-qa
rm-rf /var/nagios
rm-rf /hadoop/oozie
rm-rf /hadoop/zookeeper
rm-rf /hadoop/mapred
rm-rf /hadoop/hdfs
rm-rf /tmp/hadoop-hive
rm-rf /tmp/hadoop-nagios
rm-rf /tmp/hadoop-hcat
rm-rf /tmp/hadoop-ambari-qa
rm-rf /tmp/hsperfdata_hbase
rm-rf /tmp/hsperfdata_hive
rm-rf /tmp/hsperfdata_nagios
rm-rf /tmp/hsperfdata_oozie
rm-rf /tmp/hsperfdata_zookeeper
rm-rf /tmp/hsperfdata_mapred
rm-rf /tmp/hsperfdata_hdfs
rm-rf /tmp/hsperfdata_hcat
rm-rf /tmp/hsperfdata_ambari-qa
6.删除ambari包
#采用这句命令来检查yum list installed |grepambari
yumremove -y ambari-*
yumremove -y postgresql
rm-rf /var/lib/ambari*
rm-rf /var/log/ambari*
rm-rf /etc/ambari*
7.删除HDP.repo和amabari.repo
cd /etc/yum.repos.d/
rm-rf HDP*
rm-rf ambari*
篇4:hadoop分布式集群搭建
hadoop版本:hadoop-0.20.205.0-1.i386.rpm
下载地址:www.fayea.com/apache-mirror/hadoop/common/hadoop-0.20.205.0/
jdk版本:jdk-6u35-linux-i586-rpm.bin
下载地址:www.oracle.com/technetwork/java/javase/downloads/jdk6u35-downloads-1836443.html
环境为redhat6.2 32bitmaster: 192.169.1.133
slave1: 192.169.1.134
slave2: 192.169.1.135
总体的步骤:
1.修改主机名/etc/hosts(虚拟机拷贝后若不一致要从新修改,从新分发)
2.创建一个普通账户(hadoop),hadoop以此账户运行,
2.root安装jdk
3.修改环境变量
4.安装hadoop,修改配置文件
5.将虚拟机拷贝2份,分别作为slave1,slave2
6.配置ssh,使两两之间,自己登陆自己都免密码
7.用普通账户格式化namenode
8.启动,并观察是否正常运行了
注意两个错误:
1.Warning: $HADOOP_HOME is deprecated. 关闭
解决方法:将export HADOOP_HOME_WARN_SUPPRESS=TRUE添加到每个节点的/etc/hadoop/hadoop-env.sh配置文件中。
2.提示不能创建虚拟机错误
#[root@master ~]# /usr/bin/start-all.sh
namenode running as process 26878. Stop it first.
slave2: starting datanode, logging to /var/log/hadoop/root/hadoop-root-datanode-slave2.out
slave1: starting datanode, logging to /var/log/hadoop/root/hadoop-root-datanode-slave1.out
slave2: Unrecognized option: -jvm
slave2: Could not create the Java virtual machine.
slave1: Unrecognized option: -jvm
slave1: Could not create the Java virtual machine.
master: secondarynamenode running as process 26009. Stop it first.
jobtracker running as process 25461. Stop it first.
slave2: starting tasktracker, logging to /var/log/hadoop/root/hadoop-root-tasktracker-slave2.out
slave1: starting tasktracker, logging to /var/log/hadoop/root/hadoop-root-tasktracker-slave1.out
解决方法:root不能启动hadoop,需要用普通账户启动。
------------------------1.设置主机ip地址映射/etc/hosts-----------------------------------------------------2.添加hadoop用户,作为运行hadoop的用户---------------------------------------------3.安装jdk并设置环境变量------------------------------------[chen@master 桌面]$ su - root密码:[root@master ~]# useradd hadoop[root@master ~]# passwd hadoop更改用户 hadoop 的密码 。新的 密码:无效的密码: 过短无效的密码: 过于简单重新输入新的 密码:passwd: 所有的身份验证令牌已经成功更新。[root@master ~]# vim /etc/hosts[root@master ~]# cat /etc/hosts192.169.1.133 master192.169.1.134 slave1192.169.1.135 slave2[root@master ~]# cd /home/chen/[root@master chen]# lshadoop-0.20.205.0-1.i386.rpm 公共的 视频 文档 音乐jdk-6u35-linux-i586-rpm.bin 模板 图片 下载 桌面[root@master chen]# chmod 744 jdk-6u35-linux-i586-rpm.bin #给bin执行权限[root@master chen]# ./jdk-6u35-linux-i586-rpm.bin Unpacking...Checksumming...Extracting...UnZipSFX 5.50 of 17 February , by Info-ZIP (Zip-Bugs@lists.wku.edu). inflating: jdk-6u35-linux-i586.rpm inflating: sun-javadb-common-10.6.2-1.1.i386.rpm inflating: sun-javadb-core-10.6.2-1.1.i386.rpm inflating: sun-javadb-client-10.6.2-1.1.i386.rpm inflating: sun-javadb-demo-10.6.2-1.1.i386.rpm inflating: sun-javadb-docs-10.6.2-1.1.i386.rpm inflating: sun-javadb-javadoc-10.6.2-1.1.i386.rpm Preparing... ########################################### [100%] 1:jdk ########################################### [100%]Unpacking JAR files... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... plugin.jar... javaws.jar... deploy.jar...Installing JavaDBPreparing... ########################################### [100%] 1:sun-javadb-common########################################### [ 17%] 2:sun-javadb-core ########################################### [ 33%] 3:sun-javadb-client########################################### [ 50%] 4:sun-javadb-demo ########################################### [ 67%] 5:sun-javadb-docs ########################################### [ 83%] 6:sun-javadb-javadoc ########################################### [100%]Java(TM) SE Development Kit 6 successfully installed.Product Registration is FREE and includes many benefits:* Notification of new versions, patches, and updates* Special offers on Oracle products, services and training* Access to early releases and documentationProduct and system data will be collected. If your configurationsupports a browser, the JDK Product Registration form. willbe presented. If you do not register, none of this informationwill be saved. You may also register your JDK later byopening the register.html file (located in the JDK installationdirectory) in a browser.For more information on what data Registration collects and how it is managed and used, see:java.sun.com/javase/registration/JDKRegistrationPrivacy.htmlPress Enter to continue..... Done.[root@master chen]# vim /etc/profile[root@master chen]# ls /usr/java/jdk1.6.0_35/bin lib register.html THIRDPARTYLICENSEREADME.txtCOPYRIGHT LICENSEregister_ja.htmlinclude man register_zh_CN.htmljre README.html src.zip[root@master chen]# tail -3 /etc/profile #设置环境变量export JAVA_HOME=/usr/java/jdk1.6.0_35export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH[root@master chen]# -----------------------安装hadoop,修改配置文件-----------------------#这一步完后后,将虚拟机拷贝两份,分别作为slave1,slave2#若启动两个拷贝后,ip地址和hosts不一样,要改为实际的ip[root@master chen]# lshadoop-0.20.205.0-1.i386.rpm公共的jdk-6u35-linux-i586.rpm 模板jdk-6u35-linux-i586-rpm.bin 视频sun-javadb-client-10.6.2-1.1.i386.rpm 图片sun-javadb-common-10.6.2-1.1.i386.rpm 文档sun-javadb-core-10.6.2-1.1.i386.rpm 下载sun-javadb-demo-10.6.2-1.1.i386.rpm 音乐sun-javadb-docs-10.6.2-1.1.i386.rpm 桌面sun-javadb-javadoc-10.6.2-1.1.i386.rpm[root@master chen]# rpm -ivh hadoop-0.20.205.0-1.i386.rpm Preparing... ########################################### [100%] 1:hadoop ########################################### [100%][root@master chen]# cd /etc/hadoop/[root@master hadoop]# lscapacity-scheduler.xmlhadoop-policy.xmlslavesconfiguration.xsl hdfs-site.xml ssl-client.xml.examplecore-site.xml log4j.properties ssl-server.xml.examplefair-scheduler.xml mapred-queue-acls.xml taskcontroller.cfghadoop-env.sh mapred-site.xmlhadoop-metrics2.properties masters[root@master hadoop]# vim hadoop-env.sh export JAVA_HOME=/usr/java/jdk1.6.0_35[root@master hadoop]# vim core-site.xml [root@master hadoop]# cat core-site.xml
篇5:Hadoop集群作业调度算法
Hadoop集群中有三种作业调度算法,分别为FIFO,公平调度算法和计算能力调度算法
先来先服务(FIFO)
FIFO比较简单,hadoop中只有一个作业队列,被提交的作业按照先后顺序在作业队列中排队,新来的作业插入到队尾,一个作业运行完后,总是从队首取下一个作业运行。这种调度策略的优点是简单、易于实现,同时也减轻了jobtracker的负担。但是它的缺点也是显然的,它对所有的作业都一视同仁,没有考虑到作业的紧迫程度,另外对小作业的运行不利。
公平调度策略
这种策略在系统中配置了任务槽,一个任务槽可以运行一个task任务,这些任务就是一个大的作业被切分后的小作业。当一个用户提交多个作业时,每个作业可以分配到一定的任务槽以执行task任务(这里的任务槽可以理解为可以运行一个map任务或reduce任务)。如果把整个hadoop集群作业调度跟操作系统的作业调度相比,第一种FIFO就相当于操作系统中早期的单道批处理系统,系统中每个时刻只有一道作业在运行,而公平调度相当于多道批处理系统,它实现了同一个时刻多道作业同时运行。由于linux是 多用户的,若有多个用户同时提交多个作业会怎样?在这种策略中给每个用户分配一个作业池,然后给每个作业池设置一个最小共享槽个数,什么是最小共享槽个数 呢?先要理解一个最小什么意思,最小是指只要这个作业池需要,调度器应该确保能够满足这个作业池的最小任务槽数的需求,但是如何才能确保在它需要的时候就 有空的任务槽,一种方法是固定分配一定数量的槽给作业池不动,这个数量至少是最小任务槽值,这样只要在作业池需要的时候就分配给它就行了,但是这样在这个 作业池没有用到这么多任务槽的时候会造成浪费,这种策略实际上是这样做的,当作业池的需求没有达到最小任务槽数时,名义上是自己的剩余的任务槽会被分给其 他有需要的作业池,当一个作业池需要申请任务槽的时候若系统中没有了,这时候不会去抢占别人的(也不知道抢谁的啊),只要当前一个空的任务槽释放会被立即 分配给这个作业池,
在一个用户的作业池内,多个作业如何分配槽这个可以自行选择了如FIFO。所以这种调度策略分为两级:
第一级,在池间分配槽,在多用户的情况下,每个用户分配一个作业池。
第二级,在作业池内,每个用户可以使用不同的调度策略。
计算能力调度
计算能力调度和公平调度有点类似,公平调度策略是以作业池为单位分配任务槽,而计算能力调度是以队列为单位分配tasktracker(集群中一个节点),这种调度策略配置了多个队列,每个队列配置了最小额度的tasktracker数量,同公平调度策略类似,当一个队列有空闲的tasktracker时,调度器会将空闲的分配给其他的队列,当有空闲的tasktracker时,由于这时候可能有多个队列没有得到最小额度的tasktracker而又在申请新的,空闲的tasktracker会被优先分配到最饥饿的队列中去,如何衡量饥饿程度呢?可以通过计算队列中正在运行的任务数与其分得的计算资源之间的比值是否最低来判断的,越低说明饥饿程度越高。
计算能力调度策略是以队列的方式组织作业的,所以一个用户的作业可能在多个队列中,如果不对用户做一定的限制,很可能出现在多个用户之间出现严重不公平的现象。所以在选中新作业运行时候,还需要考虑作业所属的用户是否超过了资源的限制,如果超过,作业不会被选中。
对于在同一个队列中,这种策略使用的是基于优先级的FIFO策略,但是不会抢占。
转自:blog.csdn.net/chen_jp/article/details/7983076
篇6:Hadoop集群提交作业问题总结
我们知道可以在本地节点向远程集群提交作业,为了实现远程作业的提交:首先,要确保本地机器的用户名需要跟远程集群的用户名一致(在实验环境中,集群的用户名是hadoop,因此要在本地机器上创建一个hadoop用户)。
其次,要确保本地机器上的用户对hadoop执行文件和配置文件具备相应的权限(在实验环境中,hadoop用户需要对hadoop安装文件具有执行权限;需要对hadoop配置文件具备读权限;需要对作业的jar文件具备执行权限等)。
再次,本地机器的hadoop配置文件需要与集群的配置文件一致。在一般情况下直接将集群上的配置文件拷贝下来即可。
所有这些完成后使用下面命令进行作业的提交
hadoop --config配置文件目录jar作业.jar其他参数
注意:在本次作业提交实验过程中还发现一些问题,hadoop在通过配置文件进行启动的过程中已经知道HDFS是使用的何种文件系统,
因此,在使用的过程中不需要在添加hdfs://namenode:port/。注意,如果添加了hdfs://namenode:port/一定要注意端口与配置文件的端口是不是一致。我们知道,在命令行中输入的参数具有较高的优先级。以下面的命令为例:
hadoop --config ~/conf fs -ls direcotry
其中directory是不需要以hdfs://namenode:port/开头的,因为hadoop会根据配置文件~/conf进行默认判断。如果directory以hdfs://namenode:port/作为开头,那么一定要注意port。如果你没有显示表明port,默认的port是8020。在本次实验中,HDFS core-site设置的是hdfs://namenode:9001/,而我们在执行命令的时候输入的是hadoop --config ~/conf fs -ls hdfs://namenode/这样就导致了两者的端口不一致,从而造成了麻烦。来自:blog.csdn.net/zuochanxiaoheshang/article/details/8062101
篇7:Hadoop标准化安装工具 Cloudera
Cloudera 的定位在于Bringing Big Data to the Enterprise with Hadoop
Cloudera为了让Hadoop的配置标准化,可以帮助企业安装,配置,运行hadoop以达到大规模企业数据的处理和分析,
既然是给企业使用,Cloudera的软件配置不是采用最新的hadoop 0.20,而是采用了Hadoop 0.18.3-12.cloudera.CH0_3的版本进行封装,并且集成了facebook提供的hive,yahoo提供的pig等基于 hadoop的sql实现接口,使得这些软件的安装,配置和使用的成本降低并且进行了标准化,
当然除了集成和封装这些成熟的工具外,Cloudera一个 比较有意思的工具是sqoop,目前这个工具没有独立提供。
项目主页:www.open-open.com/lib/view/home/1339228000997
篇8:如何使用vagrant在虚拟机安装hadoop集群
$client_script. = <
cat > /etc/hosts <
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
10.211.55.100 vm-cluster-node1
10.211.55.101 vm-cluster-node2
10.211.55.102 vm-cluster-node3
10.211.55.103 vm-cluster-node4
10.211.55.104 vm-cluster-node5
10.211.55.105 vm-cluster-client
EOF
SCRIPT
Vagrant.configure(“2”) do |config|
config.vm.define :master do |master|
master.vm.box = “precise64”
master.vm.provider “vmware_fusion” do |v|
v.vmx[“memsize”] = “4096”
end
master.vm.provider :virtualbox do |v|
v.name = “vm-cluster-node1”
v.customize [“modifyvm”, :id, “--memory”, “4096”]
end
master.vm.network :private_network, ip: “10.211.55.100”
master.vm.hostname = “vm-cluster-node1”
master.vm.provision :shell, :inline => $master_script
end
config.vm.define :slave1 do |slave1|
slave1.vm.box = “precise64”
slave1.vm.provider “vmware_fusion” do |v|
v.vmx[“memsize”] = “5120”
end
slave1.vm.provider :virtualbox do |v|
v.name = “vm-cluster-node2”
v.customize [“modifyvm”, :id, “--memory”, “5120”]
end
slave1.vm.network :private_network, ip: “10.211.55.101”
slave1.vm.hostname = “vm-cluster-node2”
slave1.vm.provision :shell, :inline => $slave_script
end
config.vm.define :slave2 do |slave2|
slave2.vm.box = “precise64”
slave2.vm.provider “vmware_fusion” do |v|
v.vmx[“memsize”] = “5120”
end
slave2.vm.provider :virtualbox do |v|
v.name = “vm-cluster-node3”
v.customize [“modifyvm”, :id, “--memory”, “5120”]
end
slave2.vm.network :private_network, ip: “10.211.55.102”
slave2.vm.hostname = “vm-cluster-node3”
slave2.vm.provision :shell, :inline => $slave_script
end
config.vm.define :slave3 do |slave3|
slave3.vm.box = “precise64”
slave3.vm.provider “vmware_fusion” do |v|
v.vmx[“memsize”] = “5120”
end
slave3.vm.provider :virtualbox do |v|
v.name = “vm-cluster-node4”
v.customize [“modifyvm”, :id, “--memory”, “5120”]
end
slave3.vm.network :private_network, ip: “10.211.55.103”
slave3.vm.hostname = “vm-cluster-node4”
slave3.vm.provision :shell, :inline => $slave_script
end
config.vm.define :slave4 do |slave4|
slave4.vm.box = “precise64”
slave4.vm.provider “vmware_fusion” do |v|
v.vmx[“memsize”] = “5120”
end
slave4.vm.provider :virtualbox do |v|
v.name = “vm-cluster-node5”
v.customize [“modifyvm”, :id, “--memory”, “5120”]
end
slave4.vm.network :private_network, ip: “10.211.55.104”
slave4.vm.hostname = “vm-cluster-node5”
slave4.vm.provision :shell, :inline => $slave_script
end
config.vm.define :client do |client|
client.vm.box = “precise64”
client.vm.provider “vmware_fusion” do |v|
v.vmx[“memsize”] = “4096”
end
client.vm.provider :virtualbox do |v|
v.name = “vm-cluster-client”
v.customize [“modifyvm”, :id, “--memory”, “4096”]
end
client.vm.network :private_network, ip: “10.211.55.105”
client.vm.hostname = “vm-cluster-client”
client.vm.provision :shell, :inline => $client_script
end
end
配置文件定义了6台vm,并指定了各vm的角色(遵循CDH角色):
www.dnzg.cn
vm-cluster-node1: This is the master; besides running the CM master, it should run the namenode, secondary namenode, and jobtracker.
vm-cluster-node2: This is a slave, it should run a datanode and a tasktracker.
vm-cluster-node3: This is a slave, it should run a datanode and a tasktracker.
vm-cluster-node4: This is a slave, it should run a datanode and a tasktracker.
vm-cluster-node5: This is a slave, it should run a datanode and a tasktracker.
vm-cluster-client: This machine plays the role of gateway for the cluster.
★监控方案
文档为doc格式