Hadoop社区版搭建
1.环境准备
1.1 硬件配置
设备名 | 参数 |
数量 | 6台 |
系统 | centos6.5 |
内存 | 64G |
硬盘 | 32T/台 |
CPU | 16核/台 |
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 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.
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) -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.
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.
(2)配置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value></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:</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:</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>10.211.55.12:</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>10.211.55.12:</value>
</property>
<property>
<name>mapreduce.jobtracker.address</name>
<value>10.211.55.12:</value>
</property>
</configuration>
(5)配置yarn-env.sh
<configuration> <!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.address</name>
<value>10.211.55.12:</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>10.211.55.12:</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>10.211.55.12:</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>10.211.55.12:</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>10.211.55.12:</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
ResourceManager
NameNode
SecondaryNameNode
Jps
到这里我们的社区版hadoop2.x集群就搭建完成了。
Hadoop社区版搭建的更多相关文章
- TDH社区版搭建总结
在安装之前需要对docker分区进行格式化处理: Redhat/CentOS 在Redhat/CentOS上,docker分区必须采用XFS格式,实现的步骤如下: 1. 创建目录/var/lib/do ...
- ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版
原文:ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio ...
- 搭建环境Visual Studio 2013 社区版
搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio Community 2013 开发环境. Visual St ...
- 搭建基于Docker社区版的Kubernetes本地集群
Kubernetes的本地集群搭建是一件颇费苦心的活,网上有各种参考资源,由于版本和容器的不断发展,搭建的方式也是各不相同,这里基于Docker CE的18.09.0版本,在Mac OS.Win10下 ...
- PyCharm社区版+Django搭建web开发环境-2
接上一篇:PyCharm社区版+Django搭建web开发环境-1 1. 创建好django项目并建立app应用:web 2. setting.py:配置app应用 INSTALLED_APPS = ...
- Centos 7 搭建蓝鲸3.1.5社区版
第一次搭建蓝鲸平台,参考了蓝鲸社区的官方搭建文档. 友情链接:蓝鲸智云社区版V3.1用户手册 搭建时遇到了不少的坑,这里做一个详细的安装梳理 主机硬件要求 官方的推荐如下: 我在公司测试环境搭建时机器 ...
- Centos 7 搭建蓝鲸V4.1.16社区版
第一次搭建蓝鲸平台,参考了蓝鲸社区的官方搭建文档. 友情链接:蓝鲸智云社区版V4.1.16用户手册 搭建时遇到了不少的坑,这里做一个详细的安装梳理 主机硬件要求 官方的推荐如下: 在本地用VMware ...
- PyCharm社区版+Django搭建web开发环境-1
PyCharm开源社区版不像商业版那样可以直接通过Django来创建项目,必须通过以下几个步骤进行: 1. 创建项目:在cmd命令行下输入:django-admin startproject Demo ...
- PyCharm社区版+Django搭建web开发环境
PyCharm开源社区版不像商业版那样可以直接通过Django来创建项目,必须通过以下几个步骤进行: 1. 创建项目:在cmd命令行下输入:django-admin startproject Demo ...
随机推荐
- [leetcode]86. Partition List划分链表
Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...
- win10系统配置jdk环境不能用%JAVA_HOME% 代替目录
发现以前配好的java环境变量和tomcat环境变量全都清空了,在重新配置的时候总是出现问题,即在cmd命令窗口下,输入java,显示正常,输入java -version 也是显示正常,唯独输入jav ...
- shell脚本编写informix数据库中表的导入和导出
表的导入: 第一行:是指此脚本使用/bin/bash来解释执行. 第四行:定义一个list,里面存放表的名称,之间用空格隔开. 第七行:dbaccess tofpe(数据库名) <<EOF ...
- 20172325 2018-2019-2 《Java程序设计》第七周学习总结
20172325 2018-2019-2 <Java程序设计>第七周学习总结 教材学习内容总结 二叉查找树 二叉查找树:是含附加属性的二叉树,即其左孩子小于父节点,而父节点又小于或等于右孩 ...
- 设计模式学习心得<单利模式 Singleton>
概述 意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 主要解决 一个全局使用的类频繁地创建与销毁. 何时使用 当您想控制实例数目,节省系统资源的时候. 如何解决 判断系统是否已经有这个单 ...
- zeromq学习记录(一)最初的简单示例使用ZMQ_REQ ZMQ_REP
阅读zeromq guide的一些学习记录 zeromq官方例子 在VC下运行会有些跨平台的错误 我这里有做修改 稍后会发布出来 相关的代码与库 http://download.zeromq.org ...
- mvc输出json时报HTTP Status 406错误
1.mvc输出json时报HTTP Status 406错误 错误纠结了2天时间,今天总与整对了,少jackson-databind引用 对于Spring 4.1.x 和以上, jackson-dat ...
- 【转】《深入理解C# 3.x的新特性》博文系列汇总
[转]<深入理解C# 3.x的新特性>博文系列汇总 较之C# 2.0, C# 3.x引入了一系列新的特性,为我们编程带来很大的便利,通过有效地利用这些新特性,我们可以编写出更加简洁.优雅的 ...
- 别人的Linux私房菜(23)软件安装RPM、SRPM、YUM
RPM(RedHat Package Manager),不同Linux发行版发布的RPM文件甚至不同版本,不通用. SRPM为Source RPM,所提供的软件内容没有经过编译,格式为xxx.src. ...
- 移动端web轮播图插件swiper,功能很强大
使用方法示例: <div class="swiper-container"> <div class="swiper-wrapper"> ...