Hadoop社区版搭建

简介:

1.环境准备

1.1 硬件配置

设备名 参数
数量 6台
系统 centos6.5
内存 64G
硬盘 320T/台
CPU 8核/台

1.2 软件版本

Hadoop-2.x 下载地址

JDK1.7  下载地址

 

至此搭建Hadoop集群的条件准备OK了。

 

2.创建Hadoop用户

在管理Hadoop集群时,不推荐使用root用户去操作,我们可以通知运维,叫他创建一个hadoop用户去专门用于维护和管理集群。


useradd hadoop
passwd hadoop

同时通知运维给hadoop用户开通sudo权限。


hadoop    ALL=(ALL:ALL)    ALL

这样创建完用户后,我们接下来是在该用户下安装ssh,然各个服务器之间能够实现免密码登录。

3.SSH安装

a.首先在hadoop用户下安装ssh,保证服务器之间能够免密码登录

b.关闭各个服务器的内网防火墙,在外网由运维统一配置防火墙。

注:若不关闭防火墙,后面启动集群会由于权限不足导致启动失败

安装命令:


ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

注:在hadoop用户下,需要给authorized_keys赋予600的权限,不然免密码登陆无效


chmod 600 authorized_keys

这样免密码登录就算完成了。

注:每天服务器安装完ssh后,需登录一次ssh,不然know_hosts木有记录,其他集群启动会出现can't be established

关闭防火墙:


chkconfig  iptables off

这样第三步就ok了。接下来是安装JDK

4.安装JDK

将下载的jdk包解压到指定位置,然后配置环境变量即可:


sudo vi /etc/profile

JAVA_HOME=/usr/jdk1.7
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

然后让配置文件立即生效:


. /etc/profile (或source /etc/profile)

验证:


[hadoop@cloud001 portal]$ java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

5. 配置hadoop

将下载的hadoop-2.5.1安装包解压到指定的位置,然后配置etc目下的文件和环境变量,首先我们先配置环境变量:


sudo vi /etc/profile

HADOOP_DEV_HOME=/home/hadoop/source/hadoop-2.5.1
HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
YARN_HOME=${HADOOP_DEV_HOME}
HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
PATH=$JAVA_HOME/bin:$PATH:$HADOOP_DEV_HOME/bin:$HADOOP_DEV_HOME/sbin:$HIVE_HOME/bin:$HBASE_HOME/bin
export JAVA_HOME CLASSPATH PATH HADOOP_DEV_HOME HADOOP_MAPARED_HOME HADOOP_COMMON_HOME HADOOP_HDFS_HOME YARN_HOME HADOOP_CONF_DIR HDFS_CONF_DIR YARN_CONF_DIR


(1)修改hadoop-env.sh的JAVA_HOME

export JAVA_HOME=/usr/jdk1.7

(2)配置hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoop/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.dataname.data.dir</name>
<value>file:///home/hadoop/hdfs/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>10.211.55.12:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property> 
         <name>dfs.permissions</name>
     <value>false</value>
</property>
</configuration>

(3)配置core-site.xml


<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/tmp</value>
    </property>
    <property>
                <name>fs.default.name</name>
                <value>hdfs://10.211.55.12:9000</value>
        </property>
</configuration>

(4)配置mapred-site.xml


<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>10.211.55.12:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>10.211.55.12:19888</value>
    </property>
<property>
        <name>mapreduce.jobtracker.http.address</name>
        <value>10.211.55.12:50030</value>
    </property>
<property>
        <name>mapreduce.jobtracker.address</name>
        <value>10.211.55.12:9001</value>
    </property>
</configuration>

(5)配置yarn-env.sh


<configuration>

<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.address</name>
<value>10.211.55.12:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>10.211.55.12:18030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>10.211.55.12:18088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>10.211.55.12:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>10.211.55.12:18141</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

(6)复制mapred-queues.xml文件


cp mapred-queues.xml.template mapred-queues.xml

(7)设置master和slaver

master文件:cloud001

slaver文件:cloud002,cloud003,cloud004,cloud005,cloud006

(8)配置hosts

10.211.55.12 cloud001

10.211.55.15 cloud002

10.211.55.16 cloud003

10.211.55.19 cloud004

10.211.55.34 cloud005

10.211.55.22 cloud006

接着我们将配置好的资源打包分发到其他服务器。

6.分发资源

使用scp命令将配置好的资源分发的其他服务器上。

7.启动集群

到这里所有的准备工作已完成了,我们可以启动集群了,这里需要注意的是,hadoop2.x和hadoop1.x不一样的地方是,启动不着是start-all.sh,当然这个命令也是可以用的,但是这里不推荐使用,在hadoop2.x中,官方对启动命令做了优化,推荐使用start-dfs.sh和start-yarn.sh。下面我给出一个完整的启动过程:

格式化节点(首次启动):


hadoop namenode –format


启动所有节点:

start-dfs.sh


启动资源管理:

start-yarn.sh

注:在hadoop2.x中,由于hadoop的设计变了,相对hadoop1.x在HDFS上添加了一层yarn来管理,所以启动之后所有的资源交由yarn来管理。

添加代理(负载均衡):


yarn-daemons.sh start proxyserver

查看启动集群的简要概括:


hadoop dfsadmin –report


最后我们可以输入JPS命令来查看:

[hadoop@cloud001 portal]$ jps
7844 ResourceManager
7501 NameNode
7687 SecondaryNameNode
15251 Jps

到这里我们的社区版hadoop2.x集群就搭建完成了。





目录
相关文章
|
存储 分布式计算 资源调度
Hadoop社区比 Ozone 更重要的事情
本文回顾了最近几年Hadoop项目的发展,着重探讨个人对Ozone的看法和理解,不求正确,引玉而已,欢迎业内专家拍砖讨论。
Hadoop社区比 Ozone 更重要的事情
|
分布式计算 大数据 Hadoop
Hadoop社区支持阿里云OSS 云计算与开源融合的新里程碑
Hadoop社区作为大数据领域的开源软件,一直以来都受到了各个厂商的高度重视,对OSS的支持将更大程度的促进开源软件和云计算的互通与融合。
10728 0
|
28天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
57 2
|
28天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
2天前
|
分布式计算 资源调度 Hadoop
java与大数据:Hadoop与MapReduce
java与大数据:Hadoop与MapReduce
20 0
|
16天前
|
分布式计算 Hadoop 大数据
[大数据] mac 史上最简单 hadoop 安装过程
[大数据] mac 史上最简单 hadoop 安装过程
|
1月前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
80 1
|
1月前
|
分布式计算 资源调度 Hadoop
Apache Hadoop入门指南:搭建分布式大数据处理平台
【4月更文挑战第6天】本文介绍了Apache Hadoop在大数据处理中的关键作用,并引导初学者了解Hadoop的基本概念、核心组件(HDFS、YARN、MapReduce)及如何搭建分布式环境。通过配置Hadoop、格式化HDFS、启动服务和验证环境,学习者可掌握基本操作。此外,文章还提及了开发MapReduce程序、学习Hadoop生态系统和性能调优的重要性,旨在为读者提供Hadoop入门指导,助其踏入大数据处理的旅程。
172 0
|
2月前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
22 1
大数据Hadoop生态圈体系视频课程