【甘道夫】Hadoop2.4.1尝鲜部署+完整版配置文件

引言

转眼间,Hadoop的stable版本已经升级到2.4.1了,社区的力量真是强大!3.0啥时候release呢?

今天做了个调研,尝鲜了一下2.4.1版本的分布式部署,包括NN HA(目前已经部署好了2.2.0的NN HA,ZK和ZKFC用现成的),顺便也结合官方文档 http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/ClusterSetup.html  梳理、补全了关键的配置文件属性,将同类属性归类,方便以后阅读修改,及作为模板使用。

下面记录参照官方文档及过去经验部署2.4.1的过程。

欢迎转载,请注明来源:http://blog.csdn.net/u010967382/article/details/37653177


注意

1.本文只记录配置文件,不记录其余部署过程,其余过程和2.2.0相同,参见

http://blog.csdn.net/u010967382/article/details/20380387

http://blog.csdn.net/u010967382/article/details/30976935

2.配置中所有的路径、IP、hostname均需根据实际情况修改。


1.实验环境

4节点集群,ZK节点3个,hosts文件和各节点角色分配如下:

hosts

192.168.66.91 master

192.168.66.92 slave1

192.168.66.93 slave2

192.168.66.94 slave3

角色分配

  Active NN Standby NN DN JournalNode Zookeeper FailoverController
master V     V V V
slave1   V V V V V
slave2     V V V  
slave3     V      

2.hadoop-env.sh  修改以下三处即可

# The java implementation to use.

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_07

# The directory where pid files are stored. /tmp by default.

# NOTE: this should be set to a directory that can only be written to by the user that will run the hadoop daemons.  Otherwise there is the potential for a symlink attack.

export HADOOP_PID_DIR=/home/yarn/Hadoop/hadoop-2.4.1/hadoop_pid_dir

export HADOOP_SECURE_DN_PID_DIR=/home/yarn/Hadoop/hadoop-2.4.1/hadoop_pid_dir


3.core-site.xml 完整文件

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Licensed under the Apache License, Version 2.0 (the "License"); you

may not use this file except in compliance with the License. You may obtain

a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless

required by applicable law or agreed to in writing, software distributed

under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES

OR CONDITIONS OF ANY KIND, either express or implied. See the License for

the specific language governing permissions and limitations under the License.

See accompanying LICENSE file. -->

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://myhadoop</value>

<description>NameNode UR,格式是hdfs://host:port/,如果开启了NN

HA特性,则配置集群的逻辑名,具体参见我的博客http://blog.csdn.net/u010967382/article/details/30976935

</description>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/yarn/Hadoop/hadoop-2.4.1/tmp</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>131072</value>

<description>Size of read/write buffer used in SequenceFiles.

</description>

</property>

<property>

<name>ha.zookeeper.quorum</name>

<value>master:2181,slave1:2181,slave2:2181</value>

<description>注意,配置了ZK以后,在格式化、启动NameNode之前必须先启动ZK,否则会报连接错误

</description>

</property>

</configuration>


4.hdfs-site.xml  完整文件

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Licensed under the Apache License, Version 2.0 (the "License"); you

may not use this file except in compliance with the License. You may obtain

a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless

required by applicable law or agreed to in writing, software distributed

under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES

OR CONDITIONS OF ANY KIND, either express or implied. See the License for

the specific language governing permissions and limitations under the License.

See accompanying LICENSE file. -->

<!-- Put site-specific property overrides in this file. -->

<configuration>

<!-- NN HA related configuration **BEGIN** -->

<property>

<name>dfs.nameservices</name>

<value>myhadoop</value>

<description>

Comma-separated list of nameservices.

as same as fs.defaultFS in core-site.xml.

</description>

</property>

<property>

<name>dfs.ha.namenodes.myhadoop</name>

<value>nn1,nn2</value>

<description>

The prefix for a given nameservice, contains a comma-separated

list of namenodes for a given nameservice (eg EXAMPLENAMESERVICE).

</description>

</property>

<property>

<name>dfs.namenode.rpc-address.myhadoop.nn1</name>

<value>master:8020</value>

<description>

RPC address for nomenode1 of hadoop-test

</description>

</property>

<property>

<name>dfs.namenode.rpc-address.myhadoop.nn2</name>

<value>slave1:8020</value>

<description>

RPC address for nomenode2 of hadoop-test

</description>

</property>

<property>

<name>dfs.namenode.http-address.myhadoop.nn1</name>

<value>master:50070</value>

<description>

The address and the base port where the dfs namenode1 web ui will listen

on.

</description>

</property>

<property>

<name>dfs.namenode.http-address.myhadoop.nn2</name>

<value>slave1:50070</value>

<description>

The address and the base port where the dfs namenode2 web ui will listen

on.

</description>

</property>

<property>

<name>dfs.namenode.servicerpc-address.myhadoop.n1</name>

<value>master:53310</value>

</property>

<property>

<name>dfs.namenode.servicerpc-address.myhadoop.n2</name>

<value>slave1:53310</value>

</property>

<property>

<name>dfs.ha.automatic-failover.enabled</name>

<value>true</value>

<description>

Whether automatic failover is enabled. See the HDFS High

Availability documentation for details on automatic HA

configuration.

</description>

</property>

<property>

<name>dfs.client.failover.proxy.provider.myhadoop</name>

<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

</value>

<description>Configure the name of the Java class which will be used

by the DFS Client to determine which NameNode is the current Active,

and therefore which NameNode is currently serving client requests.

这个类是Client的访问代理,是HA特性对于Client透明的关键!

</description>

</property>

<property>

<name>dfs.ha.fencing.methods</name>

<value>sshfence</value>

<description>how to communicate in the switch process</description>

</property>

<property>

<name>dfs.ha.fencing.ssh.private-key-files</name>

<value>/home/yarn/.ssh/id_rsa</value>

<description>the location stored ssh key</description>

</property>

<property>

<name>dfs.ha.fencing.ssh.connect-timeout</name>

<value>1000</value>

</property>

<property>

<name>dfs.journalnode.edits.dir</name>

<value>/home/yarn/Hadoop/hadoop-2.4.1/hdfs_dir/journal/</value>

</property>

<property>

<name>dfs.namenode.shared.edits.dir</name>

<value>qjournal://master:8485;slave1:8485;slave2:8485/hadoop-journal

</value>

<description>A directory on shared storage between the multiple

namenodes

in an HA cluster. This directory will be written by the active and read

by the standby in order to keep the namespaces synchronized. This

directory

does not need to be listed in dfs.namenode.edits.dir above. It should be

left empty in a non-HA cluster.

</description>

</property>

<!-- NN HA related configuration **END** -->

<!-- NameNode related configuration **BEGIN** -->

<property>

<name>dfs.namenode.name.dir</name>

<value>file:///home/yarn/Hadoop/hadoop-2.4.1/hdfs_dir/name</value>

<description>Path on the local filesystem where the NameNode stores

the namespace and transactions logs persistently.If this is a

comma-delimited list of directories then the name table is replicated

in all of the directories, for redundancy.</description>

</property>

<property>

<name>dfs.blocksize</name>

<value>1048576</value>

<description>

HDFS blocksize of 128MB for large file-systems.

Minimum block size is 1048576.

</description>

</property>

<property>

<name>dfs.namenode.handler.count</name>

<value>10</value>

<description>More NameNode server threads to handle RPCs from large

number of DataNodes.</description>

</property>

<!-- <property> <name>dfs.namenode.hosts</name> <value>master</value> <description>If

necessary, use this to control the list of allowable datanodes.</description>

</property> <property> <name>dfs.namenode.hosts.exclude</name> <value>slave1,slave2,slave3</value>

<description>If necessary, use this to control the list of exclude datanodes.</description>

</property> -->

<!-- NameNode related configuration **END** -->

<!-- DataNode related configuration **BEGIN** -->

<property>

<name>dfs.datanode.data.dir</name>

<value>file:///home/yarn/Hadoop/hadoop-2.4.1/hdfs_dir/data</value>

<description>Comma separated list of paths on the local filesystem of

a DataNode where it should store its blocks.If this is a

comma-delimited list of directories, then data will be stored in all

named directories, typically on different devices.</description>

</property>

<!-- DataNode related configuration **END** -->

</configuration>


5.yarn-site.xml

<?xml version="1.0"?>

<!-- Licensed under the Apache License, Version 2.0 (the "License"); you

may not use this file except in compliance with the License. You may obtain

a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless

required by applicable law or agreed to in writing, software distributed

under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES

OR CONDITIONS OF ANY KIND, either express or implied. See the License for

the specific language governing permissions and limitations under the License.

See accompanying LICENSE file. -->

<configuration>

<!-- ResourceManager and NodeManager related configuration ***BEGIN*** -->

<property>

<name>yarn.acl.enable</name>

<value>false</value>

<description>Enable ACLs? Defaults to false.</description>

</property>

<property>

<name>yarn.admin.acl</name>

<value>*</value>

<description>

ACL to set admins on the cluster. ACLs are of for comma-separated-usersspace comma-separated-groups.

Defaults to special value of * which means anyone. Special value of just space means no one has access.

</description>

</property>

<property>

<name>yarn.log-aggregation-enable</name>

<value>false</value>

<description>Configuration to enable or disable log aggregation</description>

</property>

<!-- ResourceManager and NodeManager related configuration ***END*** -->

<!-- ResourceManager related configuration ***BEGIN*** -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>master</value>

<description>The hostname of the RM.</description>

</property>

<property>

<name>yarn.resourcemanager.webapp.https.address</name>

<value>${yarn.resourcemanager.hostname}:8090</value>

<description>The https adddress of the RM web application.</description>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>${yarn.resourcemanager.hostname}:8032</value>

<description>ResourceManager host:port for clients to submit jobs.</description>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>${yarn.resourcemanager.hostname}:8030</value>

<description>ResourceManager host:port for ApplicationMasters to talk to Scheduler to obtain resources.</description>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>${yarn.resourcemanager.hostname}:8031</value>

<description>ResourceManager host:port for NodeManagers.</description>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>${yarn.resourcemanager.hostname}:8033</value>

<description>ResourceManager host:port for administrative commands.</description>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>${yarn.resourcemanager.hostname}:8088</value>

<description>ResourceManager web-ui host:port.</description>

</property>

<property>

<name>yarn.resourcemanager.scheduler.class</name>

<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>

<description>

ResourceManager Scheduler class.

CapacityScheduler (recommended), FairScheduler (also recommended), or FifoScheduler

</description>

</property>

<property>

<name>yarn.scheduler.minimum-allocation-mb</name>

<value>512</value>

<description>

Minimum limit of memory to allocate to each container request at the Resource Manager.

In MBs

</description>

</property>

<property>

<name>yarn.scheduler.maximum-allocation-mb</name>

<value>2048</value>

<description>

Maximum limit of memory to allocate to each container request at the Resource Manager.

In MBs.

According to my configuration,yarn.scheduler.maximum-allocation-mb
yarn.nodemanager.resource.memory-mb

</description>

</property>

<!--

<property>

<name>yarn.resourcemanager.nodes.include-path</name>

<value></value>

<description>

List of permitted NodeManagers.

If necessary, use this to control the list of allowable NodeManagers.

</description>

</property>

<property>

<name>yarn.resourcemanager.nodes.exclude-path</name>

<value></value>

<description>

List of exclude NodeManagers.

If necessary, use this to control the list of exclude NodeManagers.

</description>

</property>

-->

<!-- ResourceManager related configuration ***END*** -->

<!-- NodeManager related configuration ***BEGIN*** -->

<property>

<name>yarn.nodemanager.resource.memory-mb</name>

<value>1024</value>

<description>

Resource i.e. available physical memory, in MB, for given NodeManager.

Defines total available resources on the NodeManager to be made available to running containers.

</description>

</property>

<property>

<name>yarn.nodemanager.vmem-pmem-ratio</name>

<value>2.1</value>

<description>

Ratio between virtual memory to physical memory when setting memory limits for containers.

Container allocations are expressed in terms of physical memory,

and virtual memory usage is allowed to exceed this allocation by this ratio.

</description>

</property>

<property>

<name>yarn.nodemanager.local-dirs</name>

<value>/home/yarn/Hadoop/hadoop-2.4.1/yarn_dir/local</value>

<description>

Comma-separated list of paths on the local filesystem where intermediate data is written.

Multiple paths help spread disk i/o.

</description>

</property>

<property>

<name>yarn.nodemanager.log-dirs</name>

<value>/home/yarn/Hadoop/hadoop-2.4.1/yarn_dir/log</value>

<description>

Comma-separated list of paths on the local filesystem where logs are written.

Multiple paths help spread disk i/o.

</description>

</property>

<property>

<name>yarn.nodemanager.log.retain-seconds</name>

<value>10800</value>

<description>

Default time (in seconds) to retain log files on the NodeManager.

***Only applicable if log-aggregation is disabled.

</description>

</property>

<property>

<name>yarn.nodemanager.remote-app-log-dir</name>

<value>/yarn/log-aggregation</value>

<description>

HDFS directory where the application logs are moved on application completion.

Need to set appropriate permissions.

***Only applicable if log-aggregation is enabled.

</description>

</property>

<property>

<name>yarn.nodemanager.remote-app-log-dir-suffix</name>

<value>logs</value>

<description>

Suffix appended to the remote log dir.

Logs will be aggregated to ${yarn.nodemanager.remote-app-log-dir}/${user}/${thisParam}.

***Only applicable if log-aggregation is enabled.

</description>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

<description>Shuffle service that needs to be set for Map Reduce applications.</description>

</property>

<property>

<name>yarn.nodemanager.resource.cpu-vcores</name>

<value>1</value>

<description>Number of CPU cores that can be allocated for containers.</description>

</property>

<!-- NodeManager related configuration ***END*** -->

<!-- History Server related configuration ***BEGIN*** -->

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>-1</value>

<description>

How long to keep aggregation logs before deleting them.

-1 disables.

Be careful, set this too small and you will spam the name node.

</description>

</property>

<property>

<name>yarn.log-aggregation.retain-check-interval-seconds</name>

<value>-1</value>

<description>

Time between checks for aggregated log retention.

If set to 0 or a negative value then the value is computed as one-tenth of the aggregated log retention time.

Be careful, set this too small and you will spam the name node.

</description>

</property>

<!-- History Server related configuration ***END*** -->

<property>

<name>yarn.scheduler.fair.allocation.file</name>

<value>${yarn.home.dir}/etc/hadoop/fairscheduler.xml</value>

<description>fairscheduler config file path</description>

<!-- 官网文档居然找不到该属性!但该属性还是work的! -->

</property>

</configuration>


6.创建fairscheduler.xml

<?xml version="1.0"?>

<allocations>

<!--

<queue name="hadooptest">

<minResources>1024 mb, 1 vcores</minResources>

<maxResources>2048 mb, 2 vcores</maxResources>

<maxRunningApps>10</maxRunningApps>

<weight>2.0</weight>

<schedulingMode>fair</schedulingMode>

<aclAdministerApps> hadooptest</aclAdministerApps>

<aclSubmitApps> hadooptest</aclSubmitApps>

</queue>

<queue name="hadoopdev">

<minResources>1024 mb, 2 vcores</minResources>

<maxResources>2048 mb, 4 vcores</maxResources>

<maxRunningApps>20</maxRunningApps>

<weight>2.0</weight>

<schedulingMode>fair</schedulingMode>

<aclAdministerApps> hadoopdev</aclAdministerApps>

<aclSubmitApps> hadoopdev</aclSubmitApps>

</queue>

-->

<user name="yarn">

<maxRunningApps>30</maxRunningApps>

</user>

</allocations>


7.mapred-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Licensed under the Apache License, Version 2.0 (the "License"); you

may not use this file except in compliance with the License. You may obtain

a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless

required by applicable law or agreed to in writing, software distributed

under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES

OR CONDITIONS OF ANY KIND, either express or implied. See the License for

the specific language governing permissions and limitations under the License.

See accompanying LICENSE file. -->

<!-- Put site-specific property overrides in this file. -->

<configuration>

<!-- MapReduce Applications related configuration ***BEGIN*** -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

<description>Execution framework set to Hadoop YARN.</description>

</property>

<property>

<name>mapreduce.map.memory.mb</name>

<value>1024</value>

<description>Larger resource limit for maps.</description>

</property>

<property>

<name>mapreduce.map.java.opts</name>

<value>-Xmx1024M</value>

<description>Larger heap-size for child jvms of maps.</description>

</property>

<property>

<name>mapreduce.reduce.memory.mb</name>

<value>1024</value>

<description>Larger resource limit for reduces.</description>

</property>

<property>

<name>mapreduce.reduce.java.opts</name>

<value>-Xmx1024M</value>

<description>Larger heap-size for child jvms of reduces.</description>

</property>

<property>

<name>mapreduce.task.io.sort.mb</name>

<value>1024</value>

<description>Higher memory-limit while sorting data for efficiency.</description>

</property>

<property>

<name>mapreduce.task.io.sort.factor</name>

<value>10</value>

<description>More streams merged at once while sorting files.</description>

</property>

<property>

<name>mapreduce.reduce.shuffle.parallelcopies</name>

<value>20</value>

<description>Higher number of parallel copies run by reduces to fetch outputs from very large number of maps.</description>

</property>

<!-- MapReduce Applications related configuration ***END*** -->

<!-- MapReduce JobHistory Server related configuration ***BEGIN*** -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>slave1:10020</value>

<description>MapReduce JobHistory Server host:port.    Default port is 10020.</description>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>slave1:19888</value>

<description>MapReduce JobHistory Server Web UI host:port. Default port is 19888.</description>

</property>

<property>

<name>mapreduce.jobhistory.intermediate-done-dir</name>

<value>/home/yarn/Hadoop/hadoop-2.4.1/mr_history/tmp</value>

<description>Directory where history files are written by MapReduce jobs.</description>

</property>

<property>

<name>mapreduce.jobhistory.done-dir</name>

<value>/home/yarn/Hadoop/hadoop-2.4.1/mr_history/done</value>

<description>Directory where history files are managed by the MR JobHistory Server.</description>

</property>

<!-- MapReduce JobHistory Server related configuration ***END*** -->

</configuration>



8.slaves

slave1

slave2

slave3


配置文件就涉及以上这些,在一个节点修改好,然后:

  1. scp相关目录到各台机器
  2. 修改各台机器环境变量,添加新的HADOOP_HOME,#掉老的HADOOP_HOME

9.启动集群

(1)启动ZK

在所有的ZK节点执行命令:

zkServer.sh start

查看各个ZK的从属关系:

[email protected]:~$ zkServer.sh status

JMX enabled by default

Using config: /home/yarn/Zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg

Mode: follower

[email protected]:~$ zkServer.sh status

JMX enabled by default

Using config: /home/yarn/Zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg

Mode: follower

[email protected]:~$ zkServer.sh status

JMX enabled by default

Using config: /home/yarn/Zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg

Mode: leader

注意:

哪个ZK节点会成为leader是随机的,第一次实验时slave2成为了leader,第二次实验时slave1成为了leader!

此时,在各个节点都可以查看到ZK进程:

[email protected]:~$ jps

3084 QuorumPeerMain

3212 Jps

(2)格式化ZK(仅第一次需要做)

任意ZK节点上执行:

hdfs zkfc -formatZK

(3)启动ZKFC

ZookeeperFailoverController是用来监控NN状态,协助实现主备NN切换的,所以仅仅在主备NN节点上启动就行:

hadoop-daemon.sh start zkfc

启动后我们可以看到ZKFC进程:

[email protected]:~$ jps

3084 QuorumPeerMain

3292 Jps

3247 DFSZKFailoverController

(4)启动用于主备NN之间同步元数据信息的共享存储系统JournalNode

参见角色分配表,在各个JN节点上启动:

hadoop-daemon.sh start journalnode

启动后在各个JN节点都可以看到JournalNode进程:

[email protected]:~$ jps

3084 QuorumPeerMain

3358 Jps

3325 JournalNode

3247 DFSZKFailoverController

(5)格式化并启动主NN

格式化:

hdfs namenode -format

注意:只有第一次启动系统时需格式化,请勿重复格式化!

在主NN节点执行命令启动NN:

hadoop-daemon.sh start namenode

启动后可以看到NN进程:

[email protected]:~$ jps

3084 QuorumPeerMain

3480 Jps

3325 JournalNode

3411 NameNode

3247 DFSZKFailoverController

(6)在备NN上同步主NN的元数据信息

hdfs namenode -bootstrapStandby

以下是正常执行时的最后部分日志:

Re-format filesystem in Storage Directory /home/yarn/Hadoop/hdfs2.0/name ? (Y or N) Y

14/06/15 10:09:08 INFO common.Storage: Storage directory /home/yarn/Hadoop/hdfs2.0/name has been successfully formatted.

14/06/15 10:09:09 INFO namenode.TransferFsImage: Opening connection to http://master:50070/getimage?getimage=1&txid=935&storageInfo=-47:564636372:0:CID-d899b10e-10c9-4851-b60d-3e158e322a62

14/06/15 10:09:09 INFO namenode.TransferFsImage: Transfer took 0.11s at 63.64 KB/s

14/06/15 10:09:09 INFO namenode.TransferFsImage: Downloaded file fsimage.ckpt_0000000000000000935 size 7545 bytes.

14/06/15 10:09:09 INFO util.ExitUtil: Exiting with status 0

14/06/15 10:09:09 INFO namenode.NameNode: SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG: Shutting down NameNode at slave1/192.168.66.92

************************************************************/

(7)启动备NN

在备NN上执行命令:

hadoop-daemon.sh start namenode

(8)设置主NN(这一步可以省略,这是在设置手动切换NN时的步骤,ZK已经自动选择一个节点作为主NN了)

到目前为止,其实HDFS还不知道谁是主NN,可以通过监控页面查看,两个节点的NN都是Standby状态。

下面我们需要在主NN节点上执行命令激活主NN:

hdfs haadmin -transitionToActive nn1

(9)在主NN上启动Datanode

在[nn1]上,启动所有datanode

hadoop-daemons.sh start datanode

(10)启动yarn

在ResourceManager所在节点执行(yarn启动真是方便!!!):

start-yarn.sh

(11)在运行MRJS的slave1上执行以下命令启动MR JobHistory Server:

mr-jobhistory-daemon.sh start historyserver

至此,启动完毕,可以看到2.4.1的界面了:

 


10.停止集群

在RM和NN所在节点master执行:

停止yarn

stop-yarn.sh

停止hdfs

stop-dfs.sh

停止zookeeper

zkServer.sh stop

在运行JobHistoryServer的slave1上执行:

停止JobHistoryServer

mr-jobhistory-daemon.sh stop historyserver

【甘道夫】Hadoop2.4.1尝鲜部署+完整版配置文件

时间: 2024-10-29 10:45:39

【甘道夫】Hadoop2.4.1尝鲜部署+完整版配置文件的相关文章

【甘道夫】用贝叶斯文本分类测试打过1329-3.patch的Mahout0.9 on Hadoop2.2.0

引言 接前一篇文章<[甘道夫]Mahout0.9 打patch使其支持 Hadoop2.2.0> http://blog.csdn.net/u010967382/article/details/39088035, 为Mahout0.9打过Patch编译成功后,使用贝叶斯文本分类来测试Mahout0.9对Hadoop2.2.0的兼容性. 欢迎转载,转载请注明出处: http://blog.csdn.net/u010967382/article/details/39088285 步骤一:将20ne

【甘道夫】Hadoop2.2.0环境使用Sqoop-1.4.4将Oracle11g数据导入HBase0.96,并自动生成组合行键

目的: 使用Sqoop将Oracle中的数据导入到HBase中,并自动生成组合行键! 环境: Hadoop2.2.0 Hbase0.96 sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz Oracle11g jdk1.7 Ubuntu14 Server 这里关于环境吐槽一句: 最新版本的Sqoop1.99.3功能太弱,只支持导入数据到HDFS,没有别的任何选项,太土了!(如有不同意见欢迎讨论给出解决方案) 命令: sqoop import --connect

【甘道夫】Hadoop2.2.0 NN HA详细配置+Client透明性试验【完整版】

引言: 前面转载过一篇团队兄弟[伊利丹]写的NN HA实验记录,我也基于他的环境实验了NN HA对于Client的透明性. 本篇文章记录的是亲自配置NN HA的详细全过程,以及全面测试HA对客户端访问透明性的全过程,希望对大家有帮助. 实验环境: Hadoop2.2.0的4节点集群,ZK节点3个(ZK节点数最好为奇数个),hosts文件和各节点角色分配如下: hosts: 192.168.66.91 master 192.168.66.92 slave1 192.168.66.93 slave2

【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse小工具

目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.zip Apache Ant(TM) version 1.8.4 compiled on May 22 2012 java version "1.7.0_45" 參考文章: http://kangfoo.u.qiniudn.com/article/2013/12/build-hadoop2x

【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse插件

目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.zip Apache Ant(TM) version 1.8.4 compiled on May 22 2012 java version "1.7.0_45" 参考文章: http://kangfoo.u.qiniudn.com/article/2013/12/build-hadoop2x

【甘道夫】Win7环境下Eclipse连接Hadoop2.2.0

准备: 确保hadoop2.2.0集群正常运行 1.eclipse中建立java工程,导入hadoop2.2.0相关jar包 2.在src根目录下拷入log4j.properties,通过log4j查看详细日志 log4j.rootLogger=debug, stdout, R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLa

【甘道夫】Hive 0.13.1 on Hadoop2.2.0 + Oracle10g部署详解

环境: hadoop2.2.0 hive0.13.1 Ubuntu 14.04 LTS java version "1.7.0_60" Oracle10g ***欢迎转载,请注明来源***    http://blog.csdn.net/u010967382/article/details/38709751 到以下地址下载安装包 http://mirrors.cnnic.cn/apache/hive/stable/apache-hive-0.13.1-bin.tar.gz 安装包解压到

【甘道夫】MapReduce实现矩阵乘法--实现代码

之前写了一篇分析MapReduce实现矩阵乘法算法的文章:[甘道夫]Mapreduce实现矩阵乘法的算法思路 为了让大家更直观的了解程序执行,今天编写了实现代码供大家参考. 编程环境: java version "1.7.0_40" Eclipse Kepler Windows7 x64 Ubuntu 12.04 LTS Hadoop2.2.0 Vmware 9.0.0 build-812388 输入数据: A矩阵存放地址:hdfs://singlehadoop:8020/wordsp

【甘道夫】并行化频繁模式挖掘算法FP Growth及其在Mahout下的命令使用

今天调研了并行化频繁模式挖掘算法PFP Growth及其在Mahout下的命令使用,简单记录下试验结果,供以后查阅: 环境:Jdk1.7 + Hadoop2.2.0单机伪集群 +  Mahout0.6(0.8和0.9版本都不包含该算法.Mahout0.6可以和Hadoop2.2.0和平共处有点意外orz) 部分输入数据,输入数据一行代表一个购物篮: 4750,19394,25651,6395,5592 26180,10895,24571,23295,20578,27791,2729,8637 7