搜档网
当前位置:搜档网 › CentOS配置高可用集群-heartbeat

CentOS配置高可用集群-heartbeat

CentOS配置高可用集群-heartbeat
CentOS配置高可用集群-heartbeat

通过安装heartbeat软件,可以实现Linux双机系统的高可用性解决方案,实现双机系统的热备份,并能够做到双机之间的无缝切换,从而对外提供稳定可靠的服务,最终实现系统高性能RAS(reliability, availability, and serviceability)。

1.Heartbeat三种方式提供底层信息

a)通过交叉线将两个主机连起来,配置一个专用的通道。

b)通过串行线,连接起来,一个用于服务,一个用于心跳信息。

c)通过数据共享。

注意:节点的通讯是通过主机名来实现的,节点的主机名需要和uname -n命令所得的主机名保持一致。

2.Heartbeat配置文件介绍:

/etc/ha.d/ha.cf 定义心跳信息层,用于实现心跳信息传输。

/etc/ha.d/haresources 本地最重要的CRM,这个文件我们使用v1版本的配置文件,最弱智,最简单。

/etc/ha.d/authkeys 实现两个节点之间传递,对心跳信息进行签名,或者加密,避免篡改;authkeys的权限非常重要,通常是400或者600的,如果设置不对无法启动heartbeat服务。

3.HA网络图谱图如下:

主从

4.实验环境说明:

系统:Centos5.4

集群软件:Heartbeat-2.1.3 httpd-2.2.3

节点1IP(Master):192.168.10.10

节点2IP(Slave):192.168.10.11

Virtual IP:192.168.10.100

5.配置环境:

分别编辑两个节点服务器的HOSTNAME

vim /etc/sysconfig/network

HOSTNAME=ha01(或者HOSTNAME=ha02)

vim /etc/hosts

192.168.10.10 ha01

192.168.10.11 ha02

二.软件包安装

1.需要以下软件包:

heartbeat-2.1.3

heartbeat-pils-2.1.3

heartbeat-stonith-2.1.3

直接使用yum -y install heartbeat来进行安装。

直接使用yum -y install httpd来进行安装。

三、配置heartbeat

1.配置每个节点上heartbeat

需要编辑/etc/ha.d/目录里的三个文件authkeys、ha.cf、haresources。

2.创建以上提到的三个文件:

cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/

cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/

cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/

3.配置

3.1 配置文件说明

3.1.1 配置ha.cf文件

ha.cf是heartbeat的主要配置文件,可以对heartbeat的多数性能和状态进行配置。大部分选项的取值可以采用默认值,其中的主要选项及配置方法说明如下:

debugfile /var/log/ha-debug:该文件保存heartbeat的调试信息

logfile /var/log/ha-log:heartbeat的日志文件

keepalive 2:心跳的时间间隔,默认时间单位为秒

deadtime 30:超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。warntime 10:超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。initdead 120:在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。

udpport 694:设置广播通信使用的端口,694为默认使用的端口号。

baud 19200:设置串行通信的波特率。

serial /dev/ttyS0:选择串行通信设备,用于双机使用串口线连接的情况。如果双机使用以太网连接,则应该关闭该选项。

bcast eth0:设置广播通信所使用的网络接口卡。

auto_failback on: heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点,否则不取代从节点。node ha01

node ha02

respawn hacluster /usr/lib/heartbeat/ipfail:指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping ha来检测网络连接。

3.1.2 配置haresources文件

haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等。其配置语句格式如下:

ha-name network-config

其中ha-name指定双机系统的主节点,取值必须匹配ha.cf文件中ha选项设置的主机名中的一个,ha选项设置的另一个主机名成为从节点。

network-config用于网络设置,包括指定集群IP、子网掩码、广播地址等。resource-group 用于设置heartbeat启动的服务,该服务最终由双机系统通过集群IP对外提供。

下面举例对配置方法进行说明:

ha01 192.168.10.100 httpd tomcat

假设ha.cf文件中ha选项设置的两个主机名分别为ha01和ha02,则根据上述配置,双机系统的主节点为ha01,从节点为ha02。

heartbeat启动时获取集群IP(cluster IP)为192.168.10.100,该IP成为heartbeat对外提供服务的网络地址。此外heartbeat依次启动服务httpd和tomcat(从左向右的顺序)。heartbeat关闭时将依次关闭tomcat和httpd(从右向左的顺序),并释放cluster IP。

httpd和tomcat分别是apache和tomcat的启动脚本,heartbeat将从下面目录中寻找这些启动脚本:

/etc/ha.d/resource.d

/etc/rc.d/init.d

ha01 192.168.10.100/8 httpd tomcat

指定cluster IP为192.168.10.100,并且指定子网掩码为255.255.224.0,每个网段内有213个可用IP,默认广播地址取该网段内的最大可用IP,取值为192.168.31.255。

此外,还可以向启动脚本传递argument,语法为:scriptname::argument

ha01 192.168.10.100/8/eth0/10.10.10.255 httpd tomcat

指定cluster IP为192.168.10.100,子网掩码为255.255.224.0,使用的网络接口卡为eth0,并强制设定广播地址为10.10.10.255。

注意:两台主机的haresources文件设置必须完全一致。

3.1.3 配置authkeys文件

authkeys文件用于heartbeat的鉴权设置,共有三种可用的鉴权方式:crc、md5和sha1。三种方式安全性依次提高,但同时占用的系统资源也依次扩大。crc安全性最低,适用于物理上比较安全的网络,sha1提供最为有效的鉴权方式,占用的系统资源也最多。

其配置语句格式如下:

auth

[]

举例说明:

auth 1

1 sha1 key-for-sha1

其中键值key-for-sha1可以任意指定,number设置必须保证上下一致。

auth 2

2 crc

crc方式不需要指定键值。

最后,该authkeys文件的文件许可权应该设为600(即-rw-------),命令为:

chmod 600 authkeys

注意:上述三个配置文件设置完毕后,应该复制到/etc/ha.d目录下。

3.2 编辑配置文件

vim /etc/ha.d/authkeys

auth 2

2 sha1 test-ha

chmod 600 /etc/ha.d/authkeys

vim /etc/ha.d/ha.cf

logfile /var/log/ha-log

logfacility local0

keepalive 2

deadtime 30

initdead 120

bcast eth0

udpport 694

auto_failback on

node ha01

node ha02

vim /etc/ha.d/haresources加入下行:

ha01 192.168.10.100 httpd

把ha01上的/etc/ha.d/目录复制到节点ha02上的/etc目录里。

scp -r /etc/ha.d/ root@ha02:/etc/

vim /etc/httpd/conf/httpd.conf

Listen 192.168.10.100:80

把节点ha01上的/etc/httpd/conf/httpd.conf文件复制到节点ha02相应的目录里:

scp /etc/httpd/conf/httpd.conf root@ha02:/etc/httpd/conf/

在两个节点上分别创建一个index文件来进行测试:

在ha01上:

echo "192.168.10.10 HA01" > /var/www/html/index.html

在ha02上:

echo "192.168.10.11 HA02" > /var/www/html/index.html

在两个节点上分别启动heartbeat:

/etc/init.d/heartbeat start

四、验证:

1、ifconfig 在ha01上会看到eth0:0 的网络接口邦定ip:192.168.10.100,可以通过ping测试。

查看httpd 进程,可以看到httpd 已启动;查看heartbeat 进程。

2、在client上,开启一个浏览器:输入http://192.168.10.100并回车,将会看到

“192.168.10.10 HA01”

3、停止ha01上的heartbeat进程,然后再浏览器里输入http://192.168.10.100并回车,将会看到” 192.168.10.11 HA02”

4、ifconfig 在ha02上会看到eth0:0 的网络接口邦定ip:192.168.10.100,可以通过ping测试查看httpd 进程,可以看到httpd 已启动;查看heartbeat 进程。

五、补充:

这里不需要创建一个虚拟网络接口和配置一个IP(192.168.10.100)给它,因为heartbeat 会帮助我们来完成的,并启动httpd server。

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu_CentOS

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 本教程讲述如何配置Hadoop 集群,默认读者已经掌握了Hadoop 的单机伪分布式配置,否则请先查看Hadoop安装教程_单机/伪分布式配置或CentOS安装Hadoop_单机/伪分布式配置。 本教程由厦门大学数据库实验室出品,转载请注明。本教程适合于原生Hadoop 2,包括Hadoop 2.6.0, Hadoop 2.7.1 等版本,主要参考了官方安装教程,步骤详细,辅以适当说明,保证按照步骤来,都能顺利安装并运行Hadoop。另外有Hadoop安装配置简略版方便有基础的读者快速完成安装。 为了方便新手入门,我们准备了两篇不同系统的Hadoop 伪分布式配置教程。但其他Hadoop 教程我们将不再区分,可同时适用于Ubuntu 和CentOS/RedHat 系统。例如本教程以Ubuntu 系统为主要演示环境,但对Ubuntu/CentOS 的不同配置之处、CentOS 6.x 与CentOS 7 的操作区别等都会尽量给出注明。 环境 本教程使用Ubuntu 14.04 64位作为系统环境,基于原生Hadoop 2,在Hadoop 2.6.0 (stable)版本下验证通过,可适合任何Hadoop 2.x.y 版本,例如Hadoop 2.7.1,Hadoop 2.4.1 等。 本教程简单的使用两个节点作为集群环境: 一个作为Master 节点,局域网IP 为192.168.1.121;另一个作为Slave 节点,局域网IP 为192.168.1.122。 准备工作 Hadoop 集群的安装配置大致为如下流程: 1.选定一台机器作为Master 2.在Master 节点上配置hadoop 用户、安装SSH server、安装Java 环境 3.在Master 节点上安装Hadoop,并完成配置 4.在其他Slave 节点上配置hadoop 用户、安装SSH server、安装Java 环境 5.将Master 节点上的/usr/local/hadoop 目录复制到其他Slave 节点上 6.在Master 节点上开启Hadoop 配置hadoop 用户、安装SSH server、安装Java 环境、安装Hadoop 等过程已经在Hadoop安装教程_单机/伪分布式配置或CentOS安装Hadoop_单机/伪分布式配置中有详细介绍,请前往查看,不再重复叙述。 继续下一步配置前,请先完成上述流程的前 4 个步骤。 网络配置 假设集群所用的节点都位于同一个局域网。 如果使用的是虚拟机安装的系统,那么需要更改网络连接方式为桥接(Bridge)模式,才能实现多个节点互连,例如在VirturalBox 中的设置如下图。此外,如果节点的系统是在虚拟机中直接复制的,要确保各个节点的Mac 地址不同(可以点右边的按钮随机生成MAC 地址,否则IP 会冲突):

hadoop2.7.2 伪分布式安装

hadoop:建立一个单节点集群伪分布式操作 安装路径为:/opt/hadoop-2.7.2.tar.gz 解压hadoop: tar -zxvf hadoop-2.7.2.tar.gz 配置文件 1. etc/hadoop/hadoop-env.sh export JAVA_HOME=/opt/jdk1.8 2. etc/hadoop/core-site.xml fs.defaultFS hdfs://localhost:9000 hadoop.tmp.dir file:/opt/hadoop-2.7.2/tmp 3. etc/hadoop/hdfs-site.xml https://www.sodocs.net/doc/7a4919265.html,.dir file:/opt/hadoop-2.7.2/dfs/name dfs.datanode.data.dir file:/opt/hadoop-2.7.2/dfs/data dfs.replication 1 dfs.webhdfs.enabled true

Hadoop集群MYSQL的安装指南

前言 本篇主要介绍在大数据应用中比较常用的一款软件Mysql,我相信这款软件不紧紧在大数据分析的时候会用到,现在作为开源系统中的比较优秀的一款关系型开源数据库已经被很多互联网公司所使用,而且现在正慢慢的壮大中。 在大数据分析的系统中作为离线分析计算中比较普遍的两种处理思路就是:1、写程序利用 mapper-Reducer的算法平台进行分析;2、利用Hive组件进行书写Hive SQL进行分析。 第二种方法用到的Hive组件存储元数据最常用的关系型数据库最常用的就是开源的MySQL了,这也是本篇最主要讲解的。 技术准备 VMware虚拟机、CentOS 6.8 64 bit、SecureCRT、VSFTP、Notepad++ 软件下载 我们需要从Mysql官网上选择相应版本的安装介质,官网地址如下: MySQL下载地址:https://www.sodocs.net/doc/7a4919265.html,/downloads/

默认进入的页面是企业版,这个是要收费的,这里一般建议选择社区开源版本,土豪公司除外。

然后选择相应的版本,这里我们选择通用的Server版本,点击Download下载按钮,将安装包下载到本地。 下载完成,上传至我们要安装的系统目录。 这里,需要提示下,一般在Linux系统中大型公用的软件安装在/opt目录中,比如上图我已经安装了Sql Server On linux,默认就安装在这个目录中,这里我手动创建了mysql目录。 将我们下载的MySQL安装介质,上传至该目录下。

安装流程 1、首先解压当前压缩包,进入目录 cd /opt/mysql/ tar -xf mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar 这样,我们就完成了这个安装包的解压。 2、创建MySql超级管理用户 这里我们需要单独创建一个mySQL的用户,作为MySQL的超级管理员用户,这里也方便我们以后的管理。 groupaddmysql 添加用户组 useradd -g mysqlmysql 添加用户 id mysql 查看用户信息。

hadoop集群部署之双虚拟机版

1、采用一台机器开两个虚拟机的方式构成两台电脑的环境,用root登录。 分别查看其IP地址:输入# ifconfig,可得主机IP:192.168.1.99;分机为:192.168.1.100。 2、在两台机器上的/etc/hosts均添加相应的主机名和IP地址: 这里主机名命名为shenghao,分机名命名为slave: 保存后重启网络: 3、两台机器上均创立hadoop用户(注意是用root登陆) # useradd hadoop # passwd hadoop 输入111111做为密码 登录hadoop用户: 注意,登录用户名为hadoop,而不是自己命名的shenghao。 4、ssh的配置 进入centos的“系统→管理→服务器设置→服务,查看sshd服务是否运行。 在所有的机器上生成密码对: # ssh-keygen -t rsa 这时hadoop目录下生成一个.ssh的文件夹, 可以通过# ls .ssh/来查看里面产生的私钥和公钥:id_rsa和id_rsa.pub。 更改.ssh的读写权限: # chmod 755 .ssh 在namenode上(即主机上)

进入.ssh,将id_rsa.pub直接复制为authorized_keys(namenode的公钥): # cp id_rsa.pub authorized_keys 更改authorized_keys的读写权限: # chmod 644 authorized_keys 【这个不必须,但保险起见,推荐使用】 然后上传到datanode上(即分机上): # scp authorized_keys hadoop@slave:/home/hadoop/.ssh # cd .. 退出.ssh文件夹 这样shenghao就可以免密码登录slave了: 然后输入exit就可以退出去。 然后在datanode上(即分机上): 将datanode上之前产生的公钥id_rsa.pub复制到namenode上的.ssh目录中,并重命名为slave.id_rsa.pub,这是为了区分从各个datanode上传过来的公钥,这里就一个datanode,简单标记下就可。 # scp -r id_rsa.pub hadoop@shenghao:/home/hadoop/.ssh/slave.id_rsa.pub 复制完毕,此时,由于namenode中已经存在authorized_keys文件,所以这里是追加,不是复制。在namenode上执行以下命令,将每个datanode的公钥信息追加: # cat slave.id_rsa.pub >> authorized_keys 这样,namenode和datanode之间便可以相互ssh上并不需要密码: 然后输入exit就可以退出去。 5、hadoop的集群部署 配置hadoop前一定要配置JDK,请参考相关资料,这里就不赘述了。 将下载好的hadoop-0.19.0.tar.gz文件上传到namenode的/home/hadoop/hadoopinstall 解压文件: # tar zxvf hadoop-0.19.0.tar.gz 在/erc/profile的最后添加hadoop的路径: # set hadoop path export HADOOP_HOME=/home/hadoop/hadoopinstall/hadoop-0.20.2 export PATH=$HADOOP_HOME/bin:$PATH 之后配置hadoop/conf中的4个文件:

Hadoop集群搭建(二)HDFS_2017

Hadoop集群搭建(二)HDFS HDFS只是Hadoop最基本的一个服务,很多其他服务,都是基于HDFS 展开的。所以部署一个HDFS集群,是很核心的一个动作,也是大数据平台的开始。 安装Hadoop集群,首先需要有Zookeeper才可以完成安装。如果没有Zookeeper,请先部署一套Zookeeper。另外,JDK以及物理主机的一些设置等。都请参考下文: Hadoop集群搭建(一) Zookeeper 下面开始HDFS的安装 HDFS主机分配 1.19 2.168.67.101 c6701 --Namenode+datanode 2.192.168.67.102 c6702 --datanode 3.192.168.67.103 c6703 --datanode 1. 安装HDFS,解压hadoop- 2.6.0-EDH-0u2.tar.gz 我同时下载2.6和2.7版本的软件,先安装2.6,然后在执行2.6到2.7的升级步骤 https://www.sodocs.net/doc/7a4919265.html,eradd hdfs 2.echo "hdfs:hdfs"| chpasswd 3.su - hdfs

4.cd /tmp/software 5.tar -zxvf hadoop-2. 6.0-EDH-0u2.tar.gz -C /home/hdfs/ 6.mkdir -p /data/hadoop/temp 7.mkdir -p /data/hadoop/journal 8.mkdir -p /data/hadoop/hdfs/name 9.mkdir -p /data/hadoop/hdfs/data 10.chown -R hdfs:hdfs /data/hadoop 11.chown -R hdfs:hdfs /data/hadoop/temp 12.chown -R hdfs:hdfs /data/hadoop/journal 13.chown -R hdfs:hdfs /data/hadoop/hdfs/name 14.chown -R hdfs:hdfs /data/hadoop/hdfs/data 15.$ pwd 16./home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop 2. 修改core-site.xml对应的参数 1.$ cat core-site.xml 2.<configuration> 3.<!--指定hdfs的nameservice为ns --> 4.<property> 5.<name>fs.defaultFS</name> 6.<value>hdfs://ns</value> 7.</property> 8.<!--指定hadoop数据临时存放目录-->

Hadoop集群部署方案

Hadoop集群部署方案

目录 1.网络拓扑 (1) 2.软件安装 (1) 2.1.修改主机名 (1) 2.2.修改host文件 (1) 2.3.创建Hadoop 用户 (2) 2.4.禁用防火墙 (2) 2.5.设置ssh登录免密码 (2) 2.6.安装hadoop (4) 3.集群配置 (5) 3.1.修改脚本 (5) 3.1.1................................................ hadoop-env.sh 5 3.1.2................................................... y arn-env.sh 5 3.2.配置文件 (5) 3.2.1................................................ core-site.xml 5 3.2.2................................................ hdfs-site.xml 7 3.2.3.............................................. mapred-site.xml 10 3.2. 4................................................ yarn-site.xml 11 3.2.5.配置datanode 14 3.3.创建目录 (14)

4.启动zk集群 (14) 5.启动hadoop (14) 5.1.启动所有节点journalnode (14) 5.2.格式化h1 namenode (15) 5.3.在h1上格式化ZK (15) 5.4.启动h1的namenode,zkfc (16) 5.5.启动h2上namenode (16) 5.6.同步h1上的格式化数据到h2 (16) 5.7.启动 HDFS (17) 5.8.启动 YARN (18) 5.9.启动h2 ResourceManager (18) 5.10........................................ h4上启动 JobHistoryServer 19 5.11.......................................... 查看ResourceManager状态19 6.浏览器访问 (19) https://www.sodocs.net/doc/7a4919265.html,node管理界面 (19) 6.1.1............................... http://192.168.121.167:50070 19 6.1.2............................... http://192.168.121.168:50070 20 6.2.ResourceManager管理界面 (20) 6.2.1............................... http://192.168.121.167:8088/ 21 6.2.2............................... http://192.168.121.168:8088/ 21 6.3.JournalNode HTTP 服务 (21) 6.3.1............................... http://192.168.121.167:8480/ 21 6.4.Datanode HTTP服务 (22)

如何基于Docker快速搭建多节点Hadoop集群

如何基于Docker快速搭建多节点Hadoop集群 Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中。这篇教程介绍了利用Docker在单机上快速搭建多节点 Hadoop集群的详细步骤。作者在发现目前的Hadoop on Docker项目所存在的问题之后,开发了接近最小化的Hadoop镜像,并且支持快速搭建任意节点数的Hadoop集群。 Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中。这篇教程介绍了利用Docker在单机上快速搭建多节点 Hadoop集群的详细步骤。作者在发现目前的Hadoop on Docker项目所存在的问题之后,开发了接近最小化的Hadoop镜像,并且支持快速搭建任意节点数的Hadoop集群。 一. 项目简介 GitHub: kiwanlau/hadoop-cluster-docker 直接用机器搭建Hadoop集群是一个相当痛苦的过程,尤其对初学者来说。他们还没开始跑wordcount,可能就被这个问题折腾的体无完肤了。而且也不是每个人都有好几台机器对吧。你可以尝试用多个虚拟机搭建,前提是你有个性能杠杠的机器。 我的目标是将Hadoop集群运行在Docker容器中,使Hadoop开发者能够快速便捷地在本机搭建多节点的Hadoop集群。其实这个想法已经有了不少实现,但是都不是很理想,他们或者镜像太大,或者使用太慢,或者使用了第三方工具使得使用起来过于复杂。下表为一些已知的Hadoop on Docker项目以及其存在的问题。 我的项目参考了alvinhenrick/hadoop-mutinode项目,不过我做了大量的优化和重构。alvinhenrick/hadoop-mutinode项目的GitHub主页以及作者所写的博客地址如下: GitHub:Hadoop (YARN) Multinode Cluster with Docker

Hadoop集群安装详细步骤

Hadoop集群安装详细步骤|Hadoop安装配置 文章分类:综合技术 Hadoop集群安装 首先我们统一一下定义,在这里所提到的Hadoop是指Hadoop Common,主要提供DFS(分布式文件存储)与Map/Reduce的核心功能。 Hadoop在windows下还未经过很好的测试,所以笔者推荐大家在linux(cent os 5.X)下安装使用。 准备安装Hadoop集群之前我们得先检验系统是否安装了如下的必备软件:ssh、rsync和Jdk1.6(因为Hadoop需要使用到Jdk中的编译工具,所以一般不直接使用Jre)。可以使用yum install rsync来安装rsync。一般来说ssh是默认安装到系统中的。Jdk1.6的安装方法这里就不多介绍了。 确保以上准备工作完了之后我们就开始安装Hadoop软件,假设我们用三台机器做Hadoop集群,分别是:192.168.1.111、192.168.1.112和192.168.1.113(下文简称111,112和113),且都使用root用户。 下面是在linux平台下安装Hadoop的过程: 在所有服务器的同一路径下都进行这几步,就完成了集群Hadoop软件的安装,是不是很简单?没错安装是很简单的,下面就是比较困难的工作了。 集群配置

根据Hadoop文档的描述“The Hadoop daemons are N ameNode/DataNode and JobTracker/TaskTracker.”可以看出Hadoop核心守护程序就是由 NameNode/DataNode 和JobTracker/TaskTracker这几个角色构成。 Hadoop的DFS需要确立NameNode与DataNode角色,一般NameNode会部署到一台单独的服务器上而不与DataNode共同同一机器。另外Map/Reduce服务也需要确立JobTracker和TaskTracker的角色,一般JobTracker与NameNode共用一台机器作为master,而TaskTracker与DataNode同属于slave。至于NameNode/DataNode和JobTracker/TaskTracker的概念这里就不多讲了,需要了解的可以参看相关文档。 在这里我们使用111作为NameNode与JobTracker,其它两台机器作为DataNode和TaskTracker,具体的配置如下: 环境的配置 在$HADOOP_HOME/conf/hadoop-env.sh中定义了Hadoop启动时需要的环境变量设置,其中我们至少需要配置JAVA_HOME(Jdk的路径)变量;另外我们一般还需要更改HADOOP_LOG_DIR(Hadoop的日志路径)这个变量,默认的设置是“export HADOOP_LOG_DIR=${HADOOP_HOME}/logs”,一般需要将其配置到一个磁盘空间比较大的目录下。 Hadoop核心程序配置 Hadoop 包括一组默认配置文件($HADOOP_HOME/src目录下的 core/core-default.xml, hdfs/hdfs-default.xml 和 mapred/mapred-default.xml),大家可以先好好看看并理解默认配置文件中的那些属性。虽然默认配置文件能让Hadoop核心程序顺利启动,但对于开发人员来说一般需要自己的来设置一些常规配置以满足开发和业务的需求,所以我们需要对默认配置文件的值进行覆盖,具体方法如下。 $HADOOP_HOME/conf/core-site.xml是Hadoop的核心配置文件,对应并覆盖core-default.xml中的配置项。我们一般在这个文件中增加如下配置: Core-site.xml代码 1. 2. 3. 4. https://www.sodocs.net/doc/7a4919265.html, 5. hdfs://192.168.1.111:9000 6. 7.

CentOS6.6安装hadoop2.7.3教程

CentOS6.6安装Hadoop2.7.3教程大胡子工作室

目录 1 前言 (1) 2 安装准备 (1) 2.1 所需软件 (1) 2.1.1 CentOS6.6minimal (1) 2.1.2 Hadoop 2.7.3 (1) 2.2 安装规划 (1) 3 安装步骤 (2) 3.1 安装操作系统 (2) 3.2 操作系统基本配置 (13) 3.2.1 配置IP地址 (13) 3.2.2 配置hostname及网关 (14) 3.2.3 关闭selinux (15) 3.2.4 设置limit最大连接数 (15) 3.2.5 配置DNS (16) 3.2.6 配置本地hosts (17) 3.2.7 添加hadoop用户 (17) 3.2.8 关闭防火墙 (18) 3.3 安装jdk (19) 3.4 配置ssh免密码登录 (19) 3.4.1 切换hadoop用户 (20) 3.4.2 生成免登陆ssh证书 (20) 3.4.3 追加授权 (20) 3.5 配置master计算机的hadoop (22) 3.5.1 解压缩hadoop文件 (23) 3.5.2 创建存储hadoop数据文件的目录 (23) 3.5.3 设置hadoop的环境变量 (23) 3.5.4 配置core-site.xml文件 (26) 3.5.5 配置hdfs-site.xml文件 (28) 3.5.6 配置mapred-site.xml文件 (30) 3.5.7 配置yarn-site.xml文件 (32) 3.5.8 配置slaves文件 (34) 3.5.9 格式化HDFS文件系统 (34) 3.6 配置slave计算机的hadoop (34) 3.6.1 创建hadoop文件夹 (35) 3.6.2 将文件分发给slave计算机 (35) 3.6.3 设置hadoop的环境变量 (35) 4 hadoop的控制 (36) 4.1 hadoop的启动 (36) 4.2 hadoop的关闭 (36)

Hadoop集群架构搭建分析

Hadoop集群架构搭建分析 一、概述 1、集群在6台机器上搭建完成,IP与hostname设置如下: 10.8.3.240 namenode 10.8.3.246 datanode1 10.8.3.239 datanode2 10.8.3.249 datanode3 10.8.3.238 datanode4 10.8.3.251 datanode5 2、软件安装描述: Hadoop Zookeeper HBase MongoDB namenode √√√datanode1 √√ datanode2 √√ datanode3 √√ datanode4 √√ datanode5 √ 3、进程运行描述 namenode datanode1datanode2datanode3datanode4datanode5 NameNode√ DataNode√√√√√JobTracker√ TaskTracker√√√√√HMaster√ HRegionServer√ √ Secondary NameNode HQuorumPeer √√√ 注: (1)NameNode、DataNode、SecondaryNameNode是hdfs进程 (2)JobTracker、TaskTracker是mapreducer进程 (3)HMaster、HRegionServer是HBase进程 (4)HQuorumPeer是Zookeeper进程

1、设置IP 修改/etc/sysconfig/network-scripts/ifcfg-eth0文件:DEVICE=eth0 --网卡名称 BOOTPROTO=static --获取静态IP HW ADDR=00:E0:4C:F8:3B:CE --机器MAC地址 IPADDR=10.8.3.240 --IP NETMASK=255.255.255.0 --子网掩码 NETWORK=10.8.3.254 --默认网关 ONBOOT=yes 2、设置hostname 在所有机器的/etc/hosts 文件下添加: 10.8.3.240 namenode 10.8.3.246 datanode1 10.8.3.239 datanode2 10.8.3.249 datanode3 10.8.3.238 datanode4 10.8.3.251 datanode5 注:为了使机器辨别到hostname,必须重启机器。

hadoop.集群搭建详解

hadoop2.2.0集群搭建 PS:apache提供的hadoop-2.2.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库,所以如果在64位的操作上安装 hadoop-2.2.0就需要重新在64操作系统上重新编译 1.准备工作:(参考伪分布式搭建) 1.1修改Linux主机名 1.2修改IP 1.3修改主机名和IP的映射关系 1.4关闭防火墙 1.5ssh免登陆 1.6.安装JDK,配置环境变量等 2.集群规划:

PS: 在hadoop2.0中通常由两个NameNode组成,一个处于active 状态, 另一个处于standby状态。Active NameNode对外提供服务, 而Standby NameNode则不对外提供服务,仅同步active namenode 的状态,以便能够在它失败时快速进行切换。 hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中, 主备NameNode之间通过一组JournalNode同步元数据信息, 一条数据只要成功写入多数JournalNode即认为写入成功。 通常配置奇数个JournalNode

这里还配置了一个zookeeper集群,用于ZKFC (DFSZKFailoverController)故障转移,当Active NameNode挂 掉了,会自动切换Standby NameNode为standby状态3.安装步骤: 3.1.安装配置zooekeeper集群 3.1.1解压 tar -zxvf zookeeper-3.4.5.tar.gz -C /cloud/ 3.1.2修改配置 cd /cloud/zookeeper-3.4.5/conf/ cp zoo_sample.cfg zoo.cfg vim zoo.cfg 修改:dataDir=/cloud/zookeeper-3.4.5/tmp 在最后添加: server.1=hadoop01:2888:3888 server.2=hadoop02:2888:3888 server.3=hadoop03:2888:3888 保存退出 然后创建一个tmp文件夹

第2课-Hadoop3.1分布式集群安装

Hadoop3.1.0伪分布式集群环境安装 【实验名称】 Hadoop3.1.0伪分布式集群环境安装 【实验目的】 (1)熟悉掌握Hadoop项目体系结构及其组成原理,通过对各个组件的学习掌握各个组件的运行机制和原理。 (2)能够搭建大数据hadoop底层平台,熟练掌握Hadoop平台的安装和hadoop常用命令使用方法; 【实验要求】 要求实验结束时,已构建出以下HDFS集群: 1.hadoop1上部署主服务NameNode; 2.hadoop2、hadoop3上部署从服务DataNode; 【实验环境】 实验设备包括3台Linux虚拟机、实验所需安装包

【实验步骤】 1.基础环境准备 1.1 集群规划 本节实验搭建hadoop分布式集群环境,通过三台hadoop主机建立整个hadoop3.1.0集群,其中hadoop1作为主节点(NameNode),hadoop2和hadoop3作为数据节点(DataNode)。平台提供已安装好系统的Linux虚拟机,底层系统为centos6.8 X64。

1.2 系统准备 本实验中,Linux系统已经准备好,包括安装Linux系统以及安装vmware Tools等操作。 软件安装包存放于/opt/hadoop-package目录下 1.3 网络配置 为每个Hadoop主机配置相应的IP地址,每台的操作方法相同。IP地址根据实验环境进行配置,如果实验环境使用的是动态IP地址则可以跳过网络配置部分,进入下一步操作。如果有疑问请联系授课老师 1.3.1修改网络配置文件 1、首先,确保在root用户下进行操作。通过vi命令修改网络配置文件[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 2、然后按i键进入编辑模式,我们需要将其中的BOOTPROTO=dhcp改为BOOTPROTO=static意思是设置为静态IP,将ONBOOT=no改为ONBOOT=yes意思是将网卡设置为开机启用,同时在文字下方添加如下命令:IPADDR=172.16.16.108 #静态IP GATEWAY=172.16.16.254 #默认网关 NETMASK=255.255.255.0 #子网掩码 DNS1=114.114.114.114 #DNS 配置

Hadoop3.0.0完全分布式集群搭建过程

Hadoop3.0.0完全分布式集群搭建过程1.选取两台服务器(CentOS系统64位) 192.168.33.181 主节点 192.168.33.182 从节点 之后的操作如果是用普通用户操作的话也必须知道root用户的密码,因为有些操作是得用root用户操作。如果是用root用户操作的话就不存在以上问题。 我是用root用户操作的。 2.修改hosts文件 修改两台服务器的hosts文件。 vi /etc/hosts 在原文件的基础最后面加上: 192.168.33.181 Master 192.168.33.182 Slave1 修改完成后保存执行如下命令。 source /etc/hosts 3.ssh无密码验证配置 3.1修改ssh配置文件"/etc/ssh/sshd_config"的下列内容,将以下内容的注释去掉: RSAAuthentication yes # 启用 RSA 认证 PubkeyAuthentication yes # 启用公钥私钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同) 重启ssh服务,才能使刚才设置有效。

service sshd restart 验证无密码登录本机是否成功。 ssh localhost 3.1在Master上生成密钥: ssh-keygen -t rsa -P '' 将Master上密钥拷贝至Slave1 ssh-copy-id Slave1 ssh命令测试是否连接成功 ssh Slave1 exit #退出 重复上述操作,在Slave1上生成密钥: ssh-keygen -t rsa -P '' 将Slave1上密钥拷贝至Master ssh-copy-id Slave1 3.6ssh命令测试是否连接成功 ssh Master exit #退出 4.安装基础环境(JAVA和SCALA环境) 4.1 Java1.8环境搭建 1)下载jdk-8u144-linux-x64.tar.gz解压 tar -zxvf jdk-8u144-linux-x64.tar.gz 2)添加Java环境变量,在/etc/profile中添加:export JAVA_HOME=/usr/local/jdk1.8.0_144

hadoop学习笔记(一、hadoop集群环境搭建)

Hadoop集群环境搭建1、准备资料 虚拟机、Redhat6.5、hadoop-1.0.3、jdk1.6 2、基础环境设置 2.1配置机器时间同步 #配置时间自动同步 crontab -e #手动同步时间 /usr/sbin/ntpdate https://www.sodocs.net/doc/7a4919265.html, 1、安装JDK 安装 cd /home/wzq/dev ./jdk-*****.bin 设置环境变量 Vi /etc/profile/java.sh 2.2配置机器网络环境 #配置主机名(hostname) vi /etc/sysconfig/network #修第一台hostname 为master hostname master

#检测 hostname #使用setup 命令配置系统环境setup

#检查ip配置 cat /etc/sysconfig/network-scripts/ifcfg-eth0 #重新启动网络服务 /sbin/service network restart #检查网络ip配置 /sbin/ifconfig 2.3关闭防火墙

2.4配置集群hosts列表 vi /etc/hosts #添加一下内容到vi 中 2.5创建用户账号和Hadoop部署目录和数据目录 #创建hadoop 用户 /usr/sbin/groupadd hadoop

#分配hadoop 到hadoop 组中 /usr/sbin/useradd hadoop -g hadoop #修改hadoop用户密码 Passwd hadoop #创建hadoop 代码目录结构 mkdir -p /opt/modules/hadoop/ #修改目录结构权限拥有者为为hadoop chown -R hadoop:hadoop /opt/modules/hadoop/ 2.6生成登陆密钥 #切换到Hadoop 用户下 su hadoop cd /home/hadoop/ #在master、node1、node2三台机器上都执行下面命令,生成公钥和私钥 ssh-keygen -q -t rsa -N "" -f /home/hadoop/.ssh/id_rsa cd /home/hadoop/.ssh #把node1、node2上的公钥拷贝到master上 scp /home/hadoop/.ssh/ id_rsa.pub hadoop@master:/home/hadoop/.ssh/node1_pubkey scp /home/hadoop/.ssh/ id_rsa.pub hadoop@master:/home/hadoop/.ssh/node2_pubkey #在master上生成三台机器的共钥 cp id_rsa.pub authorized_keys cat node1_pubkey >> authorized_keys cat node2_pubkey >> authorized_keys rm node1_pubkey node2_pubkey #吧master上的共钥拷贝到其他两个节点上 scp authorized_keys node1: /home/hadoop/.ssh/ scp authorized_keys node1: /home/hadoop/.ssh/ #验证 ssh master ssh node1 ssh node2 没有要求输入密码登陆,表示免密码登陆成功

Hadoop集群搭建

Hadoop集群搭建 Master机的ip地址假定为192.168.1.1 slaves1的假定为192.168.1.2 slaves2的假定 为192.168.1.3 各台机器的用户同为redmap,hadoop 根目录为:/hadoop(即直接在filesystem里装得hadoop) (1) 192.168.1.1 redmap-master 作为Namenode, JobTracker, SecondaryNameNode (2) 192.168.1.2 redmap-slaves1 作为Datanode, TaskTracker (3) 192.168.1.3 redmap-slaves2 作为Datanode, TaskTracker 配置 首先,需要配置各个机器间的相互访问: 1、按照上面的设置修改各台机器的host文件和hostname文件,保证机器可正常通信。在master 机上的hosts文件(相关部分)为: 127.0.0.1 localhost 192.168.1.1 redmap-master 192.168.1.2 redmap-slaves1 192.168.1.3 redmap-slaves2 2、配置ssh的自动登陆(在master机上): $ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa 完成后会在~/.ssh/生成两个文件:id_dsa 和id_dsa.pub。 再把id_dsa.pub 追加到授权key 里面(当前并没有authorized_keys文件): $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 完成后可以实现无密码登录本机: $ ssh localhost 3、把master上的id_dsa.pub 文件追加到2和3的authorized_keys 内( 以slaves1节点为例): #拷贝master的id_dsa.pub文件(在master号机器上执行) $ scp id_dsa.pub redmap@192.168.1.2:/home/maple/ 注:(只需在主节点上运行ssh-kegen程序。其他节点的目录结构创建后,将刚才在主节点创建的keys通过scp拷贝到从节点的同样的目录上。)

hadoop大数据平台分布式集群环境搭建安装规划

hadoop大数据平台分布式集群环境搭建安装规划Hadoop分布式集群环境搭建是每个入门级新手都非常头疼的事情,因为你可能花费了很久的时间在搭建运行环境,最终却不知道什么原因无法创建成功。但对新手来说,运行环境搭建不成功的概率还蛮高的。 在之前的分享文章中给hadoop新手入门推荐的大快搜索DKHadoop发行版,在运行环境安装方面的确要比其他的发行版hadoop要简单的多,毕竟DKHadoop是对底层重新集成封装的,对与研究hadoop尤其是入门级新手来说是非常友好的一个发行版!关于DKHadoop的安装留在后面再给大家分享,本篇就跟大家聊一聊关于【hadoop分布式集群环境搭建规划】。 1、分布式机器架构图:

其中机器1主节点,机器2从节点,机器3、机器4等都是计算节点。当主节点宕机后从节点代替主节点工作,正常状态是从节点和计算节点一样工作。这种架构设计保证数据完整性。 首先我们保证每台计算节点上分别有一个DataNode节点和NodeManager节点。因为都是计算节点,真正干活的。在数量上我们要保证。那么NameNode和ResourceManager是两个非常重要的管理者,我们客户端的请求,第一时间与NameNode 和ResourceManager打交道。NameNode负责管理HDFS文件系统的元数据,客户端不管是读文件还是写文件,都要首先找到NameNode获取文件的元数据,再进行文件的操作。ResourceManager也是如此,它负责管理集群中的资源和任务调度,你也可以把它视为“大数据操作系统”。客户端能否提交应用并运行,就看你的ResourceManager是否正常。2、达到多大规模的数据,才值得用大数据的方式来处理? 第一,从数据量角度,但是并无确定的答案,一般定性角度来说,你觉得这个数据量单机处理不了,比如内存限制,时间过久等,就用集群,但是要降低时间,你的处理逻辑必须能分布式处理,定量就是一般数据或者未来的数据量会达到PB级别(可能GB)或以上就要用分布式,当然前提也是你的处理逻辑可以进行分布式。 第二,从算法角度,或者处理逻辑的时间复杂度来说,比如虽然你的数据记录不是很多,但是你的算法或者处理逻辑的时间复杂度是n的平方,甚至更高,同时你的算法可以进行分布式设计,那么就考虑用分布式,比如你的记录虽然只有1w, 但是时间复杂度确是n的平方,那么你想想单机要多久,要是你的算法可以进行分布式处理,那么就考虑用分布式。 3、制约大数据处理能力的几个问题 a、网络带宽 网络是联接计算机的纽带,这个纽带当然越宽越好,这样可以在计算机资源许可的情况

相关主题