Hadoop部署web服务器,轻松搭建大数据处理平台 (hadoop部署web服务器)

在当今大数据时代,如何高效地存储、处理和分析数据是每个企业都需要面对的挑战。Hadoop是当今更流行的开源大数据处理平台之一,其分布式计算和数据处理能力使得其广受欢迎。本文将介绍如何使用。

一、Hadoop简介

Hadoop是Apache基金会开发的一个开源框架,旨在处理大规模数据和分布式存储。它由两个核心部分组成:HDFS和MapReduce。HDFS(Hadoop分布式文件系统)用于存储大规模的数据,而MapReduce则用于处理数据。Hadoop还有许多其他的组件,如YARN(Yet Another Resource Negotiator)用于集群资源的管理,HBase用于非关系型数据库的存储等等。Hadoop的高扩展性和高容错性使得其成为了处理大数据的首选平台之一。

二、Hadoop的web服务器部署

1. 安装Java

在安装Hadoop之前,需要先安装Java。可以从Oracle官方网站或其他可靠渠道下载Java。安装完Java后,可以通过以下命令验证是否成功:

“`bash

java -version

“`

2. 下载和安装Hadoop

Hadoop可以从Apache官方网站或其他可靠渠道下载。下载完毕后,将其解压到一个目录中,例如:

“`bash

tar -xzvf hadoop-x.x.x.tar.gz -C /usr/local/

“`

Hadoop安装完成后,需要设置一些必要的环境变量,包括JAVA_HOME、HADOOP_HOME和PATH。配置方法如下:

“`bash

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export HADOOP_HOME=/usr/local/hadoop-x.x.x

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/in

“`

3. 修改Hadoop配置文件

进入$HADOOP_HOME/etc/hadoop目录,修改以下文件:

core-site.xml:

“`xml

fs.defaultFS

hdfs://localhost:9000

“`

hdfs-site.xml:

“`xml

dfs.replication

1

dfs.namenode.name.dir

/usr/local/hadoop-x.x.x/hadoop_data/hdfs/namenode

dfs.datanode.data.dir

/usr/local/hadoop-x.x.x/hadoop_data/hdfs/datanode

“`

mapred-site.xml:

“`xml

mapreduce.framework.name

yarn

“`

4. 启动Hadoop

输入以下命令启动Hadoop:

“`bash

start-dfs.sh

start-yarn.sh

“`

输入jps命令,可以看到以下进程已经启动:

“`bash

1100 ResourceManager

943 Jps

727 DataNode

581 NameNode

800 SecondaryNameNode

1042 NodeManager

“`

5. 部署web服务器

安装Tomcat作为web服务器,下载地址:https://tomcat.apache.org/download-80.cgi。下载完成后解压到一个目录中。修改$TOMCAT_HOME/conf/server.xml文件,添加以下内容:

“`xml

unpackWARs=”true” autoDeploy=”true”>

“`

6. 访问web服务器

启动Tomcat服务器:

“`bash

cd $TOMCAT_HOME/bin

./startup.sh

“`

访问http://localhost:8080/hadoop即可进入Hadoop的web界面,进行文件系统管理、作业管理以及集群管理等操作。

三、结语

通过以上步骤,我们已经成功地使用Hadoop搭建了web服务器,轻松搭建了一个大数据处理平台。当然,为了更好地利用Hadoop的分布式计算和数据处理能力,我们还需要深入了解Hadoop的其他组件,如YARN、HBase等等,以及如何编写MapReduce程序。只有这样,我们才能更大化地发挥Hadoop的威力,在海量的数据中发现商机和价值。

相关问题拓展阅读:

哪些Hadoop版本支持WebHDFS?是不是Hadoop 1.0之后的都支持

WebHDFS观盯粗念是基于HTTP操作,比如GET、PUT、POST和DELETE。像OPEN、GETFILESTATUS、LISTSTATUS的操作是使用HTTP GET,其它的像CREAT、凯悉镇MKDIRS、RENAME、SETPERMISSION是依赖于HTTP PUT类型。 APPEND操作时基于HTTP POST类型,然而,DELETE是使用HTTP DELETE。

在配置开源日志系统fluentd过程中,fluentd就是利用webHDFS和HDFS进行通信,配置好久没有通,最后发现Hadoop 0.20.2 不支持webHDFS!所以本陆余文中的hadoop版本是:hadoop-1.2.1

应该是吧!我0.20.2都用过的,可以的!

Hadoop安装过程中常见问题

一、启动namenode服务后,web页面依然无法访问

1、启动namenode服务,

指令:start-all.sh

”’

# start-all.sh

Starting namenodes on

Starting datanodes

Starting secondary namenodes

Starting resourcemanager

Starting nodemanagers

ERROR: Refusing to run as root: roo account is not found. Aborting.

”’

2、查看namenode服务是否启动,

”’

# jps

8130 Jps

7494 ResourceManager

6871 NameNode

7244 SecondaryNameNode

”’

3、查看后台监听端口

”’

# netstat -nltp |grep 6871

tcp 0 192.168.43.250:.0.0.0:*    LISTEN/java

tcp 0 0.0.0.0:.0.0.0:*    LISTEN     态态 6871/java   

”’

4、查看web是否可以访问,发现web页面无法访问

5、检查防火墙设置,可以看帆燃源到hadoop1服务器已经禁用了除本机外的其他多有服务访问,

# service iptables status

表格:filter

Chain INPUT (policy ACCEPT)

num  target    prot opt source destination

1    ACCEPT    all.0.0.0/.0.0.0/state RELATED,ESTABLISHED

2    ACCEPT    icmp —  0.0.0.0/.0.0.0/

3    ACCEPT    all.0.0.0/.0.0.0/

4    ACCEPT    tcp.0.0.0/.0.0.0/state NEW tcp dpt:22

5    REJECT    all.0.0.0/.0.0.0/段野reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)

num  target    prot opt source destination

1    REJECT    all.0.0.0/.0.0.0/reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)

num  target    prot opt source destination

6、关闭防火墙,并把防火墙设置为开启不启动

centos6:

    关闭防火墙:service iptables stop

    设置开启不启动防火墙:chkconfig iptables off

centos7:

    关闭防火墙:systemctl stop firewalld.service

     设置开启不启动防火墙:systemctl disable firewalld.service

7、检查web已经可以正常显示

8、如果上面的操作依然无法访问的话,需要查看一下主机的hosts文件 是否有配置域名映射

二、开启datanode指令时出现waring

# hadoop-daemon.sh start datanode

WARNING: Use of this script to start HDFS daemons is deprecated.

WARNING: Attempting to execute replacement “hdfs –daemon start” instead.

主要是2.7版本的hadoop已经把hadoop命令改为hdfs命令了,所以尝试使用

指令:hdfs –daemon start datanode

”’

# hdfs –daemon start datanode

# jps

4064 Jps

4033 DataNode

2922 ResourceManager

”’

三、使用root配置的hadoop并启动会出现报错

错误:

Starting namenodes on

ERROR: Attempting to operate on hdfs namenode as root

ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.

Starting datanodes

ERROR: Attempting to operate on hdfs datanode as root

ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.

Starting secondary namenodes

ERROR: Attempting to operate on hdfs secondarynamenode as root

ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.

原因分析:由于root没有start-dfs.sh和 stop-dfs.sh脚本的执行权限,在这两个脚本的开头加上如下参数,给root赋予执行权限即可:

HDFS_DATANODE_USER=root

HADOOP_SECURE_DN_USER=hdfs /* 后续版本这边需要修改为 HDFS_DATANODE_SECURE_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

start-yarn.sh,stop-yarn.sh顶部也需添加以下

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn  /* 后续版本这边需要修改为 HDFS_DATANODE_SECURE_USER=hdfs

YARN_NODEMANAGER_USER=root

4、hdfs运行指令时出现warn警告提示:

:07:58,517 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

该警告信息主要是由于是依赖库的问题

我们对静态库查看下依赖:看下依赖是否都正常:

通过指令 ldd libhadoop.so.1.0.0

”’

./libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by ./libhadoop.so.1.0.0)

linux-vdso.so.1 =>  (0x00007fff369ff000)

libdl.so.2 => /lib64/libdl.so.2 (0x00007f3caa7ea000)

libc.so.6 => /lib64/libc.so.6 (0x00007f3caa455000)

/lib64/ld-linux-x86-64.so.2 (0x00007f3caac1b000)

”’

可以看到是glibc 版本的问题:

我们再确认下:

GLIBC_2.14找不到,现在检查系统的glibc库,  ldd –version  即可检查。

输入命令:

”’

ldd –version

ldd (GNU libc) 2.12

Copyright (C) 2023 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Written by Roland McGrath and Ulrich Drepper.

”’

还可以直接确认下glibc 目前支持的版本:

通过如下查询方法:

”’

strings /lib64/libc.so.6|grep GLIBC

GLIBC_2.2.5

GLIBC_2.2.6

GLIBC_2.3

GLIBC_2.3.2

GLIBC_2.3.3

GLIBC_2.3.4

GLIBC_2.4

GLIBC_2.5

GLIBC_2.6

GLIBC_2.7

GLIBC_2.8

GLIBC_2.9

GLIBC_2.10

GLIBC_2.11

GLIBC_2.12

GLIBC_PRIVATE

”’

可以看到目前只支持到 2.12 

解决办法有两个

1、升级 glibc 库

2、屏蔽hadoop提示这个告警

直接在log4j日志中去除告警信息。在$HADOOP_HOME/etc/hadoop/log4j.properties文件中添加

hadoop部署web服务器的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于hadoop部署web服务器,Hadoop部署web服务器,轻松搭建大数据处理平台,哪些Hadoop版本支持WebHDFS?是不是Hadoop 1.0之后的都支持,Hadoop安装过程中常见问题的信息别忘了在本站进行查找喔。


数据运维技术 » Hadoop部署web服务器,轻松搭建大数据处理平台 (hadoop部署web服务器)