[Linux][Hadoop] 将hadoop跑起来

前面安装过程待补充,安装完成hadoop安装之后,开始执行相关命令,让hadoop跑起来

 

使用命令启动所有服务:

[email protected]:/usr/local/gz/hadoop-2.4.1$ ./sbin/start-all.sh

当然在目录hadoop-2.4.1/sbin下面会有很多启动文件:

里面会有所有服务各自启动的命令,而start-all.sh则是把所有服务一起启动,以下为.sh的内容:

#!/usr/bin/env bash

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.

# Start all hadoop daemons.  Run this on master node.

echo "This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh" #这里说明了这个脚本已经被弃用了,要我们使用start-dfs.sh和start-yarn.sh来进行启动
bin=`dirname "${BASH_SOURCE-$0}"`
bin=`cd "$bin"; pwd`

DEFAULT_LIBEXEC_DIR="$bin"/../libexec
HADOOP_LIBEXEC_DIR=${HADOOP_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR}
. $HADOOP_LIBEXEC_DIR/hadoop-config.sh  #这里执行相关配置文件在hadoop/libexec/hadoop-config.sh,该配置文件里面全是配置相关路径的,CLASSPATH, export相关的
#真正执行的是以下两个,也就是分别执行start-dfs.sh和start-yarn.sh两个脚本,以后还是自己分别执行这两个命令
# start hdfs daemons if hdfs is present
if [ -f "${HADOOP_HDFS_HOME}"/sbin/start-dfs.sh ]; then
  "${HADOOP_HDFS_HOME}"/sbin/start-dfs.sh --config $HADOOP_CONF_DIR
fi

# start yarn daemons if yarn is present
if [ -f "${HADOOP_YARN_HOME}"/sbin/start-yarn.sh ]; then
  "${HADOOP_YARN_HOME}"/sbin/start-yarn.sh --config $HADOOP_CONF_DIR
fi

执行完成之后调用jps查看是否所有服务都已经启动起来了:

这里注意,一定要有6个服务,我启动的时候当时只有5个服务,打开两个连接都成功http://192.168.1.107:50070/http://192.168.1.107:8088/,但是在执行wordcount示例的时候,发现执行失败,查找原因之后,才发起我启动的时候少了datanode服务

下面这个是application的运行情况:

下面这个是dfs的健康状态:

http://192.168.1.107:50070/打开的页面可以查看hadoop启动及运行的日志,详情如下:

我就是通过这里的日志找到问题原因的,打开日志之后是各个服务运行的日志文件:

此时打开datanode-ubuntu.log文件,有相关异常抛出:

2014-07-21 22:05:21,064 INFO org.apache.hadoop.hdfs.server.common.Storage: Lock on /usr/local/gz/hadoop-2.4.1/dfs/data/in_use.lock acquired by nodename [email protected]
2014-07-21 22:05:21,075 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to localhost/127.0.0.1:9000. Exiting.
java.io.IOException: Incompatible clusterIDs in /usr/local/gz/hadoop-2.4.1/dfs/data: namenode clusterID = CID-2cfdb22e-07b2-4ab8-965d-fdb27645bd62; datanode clusterID = ID-2cfdb22e-07b2-4ab8-965d-fdb27645bd62
	at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:477)
	at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:226)
	at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:254)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:974)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:945)
	at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:278)
	at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:220)
	at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:816)
	at java.lang.Thread.run(Thread.java:722)
2014-07-21 22:05:21,084 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Ending block pool service for: Block pool <registering> (Datanode Uuid unassigned) service to localhost/127.0.0.1:9000
2014-07-21 22:05:21,102 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Removed Block pool <registering> (Datanode Uuid unassigned)
2014-07-21 22:05:23,103 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting Datanode
2014-07-21 22:05:23,106 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 0
2014-07-21 22:05:23,112 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at ubuntu/127.0.1.1
************************************************************/
根据错误日志搜索之后发现是由于先前启动Hadoop之后,再使用命令格式化namenode会导致,datanode和namenode的clusterID不一致:
找到hadoop/etc/hadoop/hdfs-site.xml配置文件里配置的datanode和namenode下的./current/VERSION,文件,对比两个文件中的clusterID,不一致,将Datanode下的clusterID改为namenode下的此ID,重新启动之后即可。
参考连接:
http://www.cnblogs.com/kinglau/p/3796274.html

[Linux][Hadoop] 将hadoop跑起来,布布扣,bubuko.com

时间: 2024-10-12 15:35:37

[Linux][Hadoop] 将hadoop跑起来的相关文章

在Linux上搭建Hadoop

在Linux上搭建Hadoop集群搭建笔记 1.安装虚拟机 下载软件: VMware workstation CentOS 镜像 2.远程连接 下载软件并安装 Xshell5 http://www.netsarang.com/products/xsh_overview.html xftp5 http://www.netsarang.com/products/xfp_overview.html (1)打开Xshell (2)输入会话名称和ip地址 在右下角的位置将虚拟机的网络连接改为桥接模式且选中

linux平台下Hadoop下载、安装、配置

在这里我使用的linux版本是CentOS 6.4 CentOS-6.4-i386-bin-DVD1.iso 下载地址: http://mirrors.aliyun.com/centos/6.8/isos/i386/ 0.使用host-only方式 将Windows上的虚拟网卡改成跟linux上的网卡在同一个网段上 注意:一定要将windowsh 的WMnet1的ip设置和你的虚拟机在同一网段,但是ip不一样 一.前期工作: 1.修改linux ip 手动修改 也可以命令修改 vim /etc/

我用过的linux命令--安装Hadoop

1. hadoop软件传送给虚拟机 还是利用WinSCP把hadoop软件安装包,放到linux的Downloads文件夹中. 2. 选择安装目录 把hadoop安装包copy到这个安装目录中,这里我们选择CentOS中的/usr/local目录中. 3. 解压缩安装包 看到hadoop安装包的后缀是.tar.gz.所以直接用tar命令解压缩 #tar -zxvf xxx //解压.tar.gz的文件 解压完之后会产生一个文件夹,名字为hadoop-1.1.2,这个名字太长了,不好用,重命名一下

使用maven在linux上对hadoop 2.2进行编译

使用maven在linux上对hadoop 2.2进行编译 0.环境介绍: Hadoop信息: Version: 2.2 下载地址: http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/ 源码包:hadoop-2.2.0-src.tar.gz 软件包:hadoop-2.2.0.tar.gz Os环境: [[email protected] ~]#  lsb_release -a LSB Version::base-4.0-amd64

Linux虚拟机上Hadoop基础环境搭建

1 主要步骤 配置网络 修改主机名 关闭防火墙 关闭SELinux 安装jdk 增加hadoop用户 配置ssh信任 配置hadoop 集群部署规划 5台服务器, 一个主节点:nn1.hadoop, master (HA) 一个从节点:nn2.hadoop,slave 三个工作节点: s1.hadoop.s2.hadoop.s3.hadoop (work1     work2    work3) nn1.hadoop 机器作为操作机. whoami ifconfig 在实际生产里还应有操作机(跳

【转】Linux环境下hadoop安装过程

原文链接 http://blog.csdn.net/xumin07061133/article/details/8682424 一 实验环境: 1.三台物理机(可以虚拟机虚拟出的三台主机),其中一台做为主节点(namenode)ip:192.168.30.50,两台做为从节点(datanode)ip:192.168.30.51 /   192.168.30.52 2.为每一台主机安装JDK1.6以上,并设置好环境变量,推荐(如:JAVA_HOME=/usr/java/java1.7.0_17),

linux上部署hadoop集群系列 基础篇

介绍 这一系列博文介绍hadoop集群的部署和安装,因为hadoop确实比较复杂,所以分为几个部分来一一介绍.大致有基础篇,HA-QJM篇,Federation篇. 正文 一.操作环境 虚拟机4台,配置基于hadoop的集群中包括4个节点:1个Master,3个Salve,节点之间局域网连接,可以相互ping通,Ip分布为: 168.5.15.112 hadoop1(Master) 168.5.15.116 hadoop2(Slave) 168.5.15.207 hadoop3(Slave) 1

Python菜鸟的Hadoop实战——Hadoop集群搭建

Hadoop集群的部署 网上很多关于hadoop集群部署的文章, 我这里重新整理下,毕竟,别人的经历,让你按照着完整走下来,总有或多或少的问题. 小技巧分享: 有些初学者喜欢在自己机器上安装虚拟机来部署hadoop,毕竟,很多同学的学习环境都是比较受限的. 我这里则直接选择了阿里云的机器,买了三台ECS作为学习环境.毕竟,最低配一个月才40多块,学习还是要稍微投入点的. 一. 基础环境准备 Windows不熟练,小主只有选择Linux了. 官方提示如下,Linux所需软件包括: JavaTM1.

Hadoop:Hadoop单机伪分布式的安装和配置

http://blog.csdn.net/pipisorry/article/details/51623195 因为lz的linux系统已经安装好了很多开发环境,可能下面的步骤有遗漏. 之前是在docker中配置的hadoop单机伪分布式[Hadoop:Hadoop单机伪分布式的安装和配置 ],并且在docker只有root用户,所有没有权限问题存在. 这里直接在linux下配置,主要是为了能用netbeans ide调试hadoop程序,并且使用的用户就是开机时登录的用户pika. 本教程配置