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集群就搭建完成了。

时间: 2024-11-05 06:39:07

Hadoop社区版搭建的相关文章

ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版

原文:ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio Community 2013 开发环境. Visual Studio Community 2013 提供完整功能的 IDE ,可开发 Windows.Android 和 iOS 应用.支持:C++, Python, HTML5, JavaScript, 和 C#,VB, F# 语言的开发,提供设计器

Hadoop发行版运维利器:vSphere Big Data Extensions

vSphere Big Data Extensions(BDE)提供了部署Hadoop多种厂商发行版的巨大灵活性,为客户提供三大价值: 为所支持的Hadoop版本提供调优的基础架构,VMware和Hadoop发行版厂商彼此认证 在统一虚拟化平台上部署.运行和管理异构的Hadoop集群,满足多租户的不同需求 不必被单一Hadoop发行版厂商所绑定,保护投资回报 管理Hadoop发行版 Apache Hadoop 1.2是开源社区的原生Hadoop,BDE已经包含Apache Hadoop的安装包,

大数据虚拟化实例:Tarball方式部署Hadoop发行版

在博文<灵活管理Hadoop各发行版的运维利器>中,我们介绍了vSphere Big Data Extensions(BDE)是解决企业部署和管理Hadoop发行版的利器,通过它可以很方便可靠地运维Hadoop多个主流的商业发行版(包括社区的Apache Hadoop).本文的内容围绕上述主题,以具体实例深入讲解如何做到灵活部署和管理Hadoop发行版的. 实例:Tarball方式部署GPHD1.2发行版 首先,需要下载GPHD 1.2发行版到本地.这里是Tarball的下载地址,完成后解压缩

让大数据运转更快:MemSQL推免费社区版

文章讲的是让大数据运转更快:MemSQL推免费社区版,大数据的兴起,为数据库实时汇总和报告信息带来了巨大的压力.为此,实时数据库专家MemSQL发布了最新版本,以进一步提升这款面向企业的实时数据库解决方案.MemSQL 4能够快速响应,并提升物联网.金融服务.以及移动应用等领域的业务表现.更给力的是,MemSQL推出了一个全新的社区版本,并将之免费提供给全球用户. MemSQL社区版支持无限量的容量规模.完整事务.以及分析功能,这意味着任何人都可以访问MemSQL并获得实时处理和分析数据所需的速

让大数据运转更快:MemSQL推出完全免费的社区版

让大数据运转更快:MemSQL推出完全免费的社区版 大数据的兴起,为数据库实时汇总和报告信息带来了巨大的压力.为此,实时数据库专家MemSQL发布了最新版本,以进一步提升这款面向企业的实时数据库解决方案.MemSQL 4能够快速响应,并提升物联网.金融服务.以及移动应用等领域的业务表现.更给力的是,MemSQL推出了一个全新的社区版本,并将之免费提供给全球用户. Database-community-600x400.jpg MemSQL社区版支持无限量的容量规模.完整事务.以及分析功能,这意味着

Hortonworks为Hadoop发行版新增企业级功能

在近日结束的Hadoop欧洲地区峰会上,Hortonworks公布了Hortonworks Data Platform (HDP)2.1版本.这一Hadoop发行版的升级版本新增了数据治理.安全.流处理和搜索等新企业功能,代表着针对交互式SQL查询的Stinger Initiative工具发展到了一个新的高度. Hortonworks产品营销总监Jim Walker说:"为了让Hadoop真正成为企业级数据平台,它们必须要满足某些特定需求.对此实践者们都有着非常明确的需求,那就是数据治理.数据访

《三体》官方社区建立,搭建与粉丝沟通平台征集粉丝建议

游族网络联合游族影业共同建立<三体>官方社区,搭建与粉丝沟通平台,从中征集小说改编电影及游戏的粉丝建议. 据游族介绍,建立<三体>官方社区的意义在于通过粉丝与原著作者及电影和游戏制作团队的交流,听取粉丝建议,并以此作为改编的依据. 社区1月21日正式上线开放注册,并由<三体>原创大刘亲自入驻担任版主,首发科幻帖子并亲自回复粉丝问题.此外,社区内还将邀请原著作者刘慈欣.游族影业CEO孔二狗及导演张番番.科幻文学博导吴岩及<科幻世界>主编领衔的专家团队担任社区相

一周云热点:Google打造云中Hadoop便捷版,强势对抗AWS

1. Google打造云中Hadoop便捷版,强势对抗AWS 上周,Google为其Google Cloud Platform增加了Hadoop 连接器,这样开发人员现在已经能够很轻松的在Google计算虚拟机上进行Hadoop操作了,Google Cloud Storage Hadoop的预览版将使开发人员不用再花大力气去管理集群和文件系统.在此领域,Google和AWS的竞争将更加激烈. 下图是Hadoop在Google Cloud Platform上的图解.在Google Cloud St

阿里云AliCloudDB PostgreSQL 分区表功能性能比社区版提升100倍

阿里云PostgreSQL 数据库即将推出的分区表功能. 实际测试case比社区版基于触发器的分区表插入性能提升1184倍,比基于规则的触发器插入性能提升159倍. 测试case: 1000张分区表,按INT8类型范围分区,每个分区2000万记录,测试查询,插入性能. 测试结果 1. 非分区表 查询1条记录耗时 9 毫秒 插入1010001条记录 9 秒 2. 阿里PostgreSQL 分区表 查询1条记录耗时 (第1个分区) 89 毫秒 查询1条记录耗时 (第996个分区) 93 毫秒 插入1