一:事前准备工作:
1.最少4台服务器,当然也可以为虚拟机
2.hadoop、hbase、spark、jdk、zookeeper的安装包(需要版本都是相互兼容的,这个可以从官网看到)
3.系统为centos7
如果是新学者可以看我另一篇关于单节点大数据环境部署和安装的文章
二:Linux系统配置
更改linux名称
hostnamectl set-hostname host1(host1代表需要修改的主机名称) 修改后重启系统生效
配置/etc/hosts文件
192.168.23.128 host1
192.168.23.129 host2
192.168.23.130 host3
集群中的每一台节点都需要配置
同步linux系统时间
Linux系统各节点间时间差不能大于180秒,否则hbase会安装不上、也会出现别的问题
手工同步
date -s '2016-11-12 21:00' (系统时间设置) date查看系统时间
clock –w (将系统时间同步给硬件时间) hwclock 查看硬件时间
外网同步
1. 安装ntpdate工具
# yum -y install ntp ntpdate
2. 设置系统时间与网络时间同步
# ntpdate cn.pool.ntp.org
3. 将系统时间写入硬件时间
# hwclock --systohc
以集群主机为时间服务同步
可以参看博文:https://zhidao.baidu.com/question/627197261790582724.html
配置静态IP地址
使用以下步骤去配置CentOS7的网卡:
1.停用NetworkManager服务
#systemctl NetworkManager stop
#chkconfig NetworkManager off
2.编辑网卡配置文件(我虚拟机下网卡配置文件是ifcfg-eno16777736)
#vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
HWADDR=00:0c:29:14:34:51 #网卡MAC地址按照实际配置,刚安装好的系统不要动
TYPE=Ethernet #启用
BOOTPROTO=static #静态地址
NAME=eno16777736 #网卡名称
ONBOOT=yes #系统启动时加载网卡配置
IPADDR=192.168.1.100 #IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.1.1 #网关
DNS1=192.168.1.1 #DNS地址,也可修改/etc/resolv.conf
3.重启network服务(如果执行不了下面语句,则执行source 文件名,然后重启)
#systemctl network restart
建立hadoop生态圈集群运行帐号
sudo groupadd hadoop //设置hadoop用户组
adduser bigdata //添加bigdata用户
passwd bigdata //修改密码
usermod -g root bigdata //授予root权限
su bigdata //切换到bigdata用户
配置ssh免密码连入
每个结点分别产生公私密钥
ssh-keygen -t rsa 运行此语句,然后一直回车就好
cd /home/bigdata/.ssh 切换到秘钥目录
cat id_rsa.pub > authorized_keys 将公钥追加到authorized_keys文件中
单机回环ssh免密码登录测试
ssh localhost 测试是否已经可以无密钥登陆,
如果出现上面的信息,重新再ssh localhost试试
重启后ssh localhost 后,出现上面信息表示无密码登陆成功
让主结点(master)能通过SSH免密码登录两个子结点(slave)
拷贝master的id_rsa.pub文件至各子节点(默认已经切换到.ssh目录下)
scp id_rsa.pub bigdata@host2:/home/bigdata/.ssh
scp id_rsa.pub bigdata@host3:/home/bigdata/.ssh
各子节点将父节点拷贝的文件追加并生效
cat id_rsa.pub >>authorized_keys
测试无密钥连接(默认在主机服务器)
ssh host2 或者 ssh host3
三:安装Zookeeper
如果linux系统没有自带的安装jdk,那么在安装zookeeper之前必须先安装jdk,jps命令也依赖jdk
在/etc/profile.d目录下新建java.sh并添加以下内容
export JAVA_HOME=/home/bigdata/jdk7
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.ja
1. 上传zookeeper安装文件到主节点
直接将解压文件或者安装压缩包到主节点bigdata目录下
2. 创建/home/bigdata/data/zookeeper快照目录,并创建my id文件
这个目录必须和zookeeper/conf/ zoo.cfg文件的(dataDir=) 配置指是一致的。
myid文件内容为1(主节点为1,其它子节点为2、3、4等)
3. 修改/conf/zoo.cfg文件
主要修改dataDir和配置各服务节点值
如果conf下没有zoo.cfg文件则需要新建,新建文件内容如下
tickTime=2000
dataDir=/home/bigdata/zookeeper/
initLimit=5
syncLimit=2
clientPort=2181
server.1=host1:2888:3888
server.2=host2:2888:3888
4. 拷贝zookeeper安装目录和/home/bigdata/data目录至各子节点上
scp -r data/ bigdata@host2:/home/bigdata/
scp -r data/ bigdata@host3:/home/bigdata/
scp -r zookeeper/ bigdata@host2:/home/bigdata/
scp -r zookeeper/ bigdata@host3:/home/bigdata/
5.修改各子节点的/home/bigdata/data/zookeeper/myid文件值
Host2此文件修改值为2
Host3此文件修改值为3
5. N-1个节点启动zookeeper
在n-1个zookeeper中进入到zookeeper/bin目录下 执行./zkServer.sh start 命令进行启动
四:安装Hadoop
1. 上传hadoop安装文件至服务器
直接将解压文件或者安装压缩包到主节点bigdata目录下
2. 安装jdk
方法一:
切换到jdk-8u45-linux-i586.rpm文件所在目录,执行rpm –ivh jdk-8u45-linux-i586.rpm
方法二:
拷贝解压文件至/home/bigdata文件夹中,这里我是直接拷贝1.7的jdk文件,在/opt/jdk1.7.0_09目录中,接着配置JAVA_HOME宏变量及hadoop路径,这是为了方便后面操作,这部分配置过程主要通过修改/etc/profile文件来完成,在profile文件中添加如下几行代码:
然后执行:
让配置文件立刻生效。上面配置过程每个结点都要进行一遍。
3. 配置namenode,修改site文件
1.目录准备
因为配置需要,所以在/home/bigdata/data目录下新建hadoop文件夹
mkdir hadoop
然后在其下面新建tmp和hdf文件夹
Mkdir tmp mkdir hdf
最后在hdf文件夹下新建 name和data两个文件夹
Mkdir data mkdir name
切换到hadoop/etc/hadoop目录下主要修改配置core-site.xml、hdfs-site.xml、mapred-site.xml这三个文件。
2.vim core-site.xml
3.vim hdfs-site.xml
4. vim mapred-site.xml
5.修改yarn-env.sh
6.修改yarn-site.xml
4.配置hadoop-env.sh文件
1. 新建logs和pid目录
在bigdata目录中新建logs目录和pid目录,然后在logs目录下新建hadoop目录
-
修改hadoop-env.sh文件
5.配置masters和slaves文件
1.vim masters
2.vim slaves
6.向各节点复制hadoop
1.拷贝pid目录
scp -r pid/ bigdata@host2:/home/bigdata
scp -r pid/ bigdata@host3:/home/bigdata
2.拷贝logs目录
scp -r logs/ bigdata@host2:/home/bigdata
scp -r logs/ bigdata@host3:/home/bigdata
3.拷贝hdp目录(hadoop目录)
scp -r hdp/ bigdata@host2:/home/bigdata
scp -r hdp / bigdata@host3:/home/bigdata
4.拷贝jdk目录
scp -r jdk7/ bigdata@host2:/home/bigdata
scp -r jdk7/ bigdata@host3:/home/bigdata
6. 格式化namenode
在格式化前需要在/etc/profile.d目录下设置环境变量 vim hadoop.sh 在空白文件中编写,然后source hadoop.sh文件,使其生效
因为原来不存在hadoop.sh文件,所以执行vim时会创建一个新的hadoop.sh,然后再新的文件中增加如下配置:
export HADOOP_HOME=/home/bigdata/hdp
export PATH=$PATH:$HADOOP_HOME/bin
格式化hadoop这一步在主结点master上进行操作:
1.hadoop namenode -format (主机上才执行namenode)
注意:上面只要出现“successfully formatted”就表示成功了。
2.hadoop datanode -format (每个子节点上执行)
8.启动hadoop
切换到/home/bigdata/hdp/sbin目录下执行./start-all.sh
在此过程中有权限问题一律用chmod 777 *
防火墙关闭 chkconfig iptables off
如果节点的datanode起不起来,报如下:
WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: host1/192.168.23.128:49000
就关掉防火墙就好了systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动
9.查看集群情况
http://192.168.23.128:8088/cluster/scheduler
五:安装hbase
1.上传hbase安装文件至服务器
直接将解压文件或者安装压缩包到主节点bigdata目录下
2.修改hbase-env.sh
切换到/home/bigdata/hbase/conf目录下修改hbase-env.sh
3. 修改core-site.xml文件。
4.修改hbase-site.xml
5.修改regionservers
6.在hadoop中创建hbase目录
hadoop fs -mkdir /hbase/hbasedata
7. 将安装配置好的hbase目录复制到如上配置的两个节点中
scp –r hbase/ bigdata@host2:/home/bigdata/
scp –r hbase/ bigdata@host3:/home/bigdata/
8. 配置hbase shell快速启动
在/etc/profile.d/目录下新建hbase.sh,添加如下内容后保存、并执行source hbase.sh
export HBASE_HOME=/home/bigdata/hbase/
export PATH=$PATH:$HBASE_HOME/bin
9. 启动hbase集群
切换到/home/bigdata/hbase/bin目录下,执行 ./start-hbase.sh
也可以zkServer.sh start-foreground 输出日志启动方式
10. 查看hbase集群
http://192.168.23.128:16030/master-status
六:安装spark
1. 将spark安装文件上传到服务器
直接将解压文件或者安装压缩包到主节点bigdata目录下
2. 创建日志目录
在/home/bigdata/logs/目录下新建spark目录,并在新建目录下新建file.log文件
将/home/bigdata/logs/spark目录拷贝到其它节点上
scp –r spark bigdata@host2:/home/bigdata/logs/
scp –r spark bigdata@host2:/home/bigdata/logs/
3. 修改spark-env.sh
切换到/home/bigdata/spark/conf目录下,对spark-env.sh进行修改
4. 修改slaves
5. 修改log4j.properties
6. 将安装目录复制到其它节点
scp –r spark bigdata@host2:/home/bigdata/
scp –r spark bigdata@host2:/home/bigdata/
7. 启动spark集群
切换到/home/bigdata/spark/sbin目录下,启动spark
./start-all.sh
8. 查看spark集群
9.提交jar到集群作业
./spark-submit --master spark://host1:7077 --class main.scala.SparkTest /home/hadoop/spark/soft.jar
附言:
对于大数据分布式集群安装apache已经推了了一个叫ambari的自动安装开源插件,有兴趣的朋友可以去看看,地址为 http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/
相关推荐
本人搭建hadoop完全分布式集群时,写的文档,内有详细步骤,
Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程 按照文档中的操作步骤,一步步操作就可以完全实现hadoop2.2.0版本的完全分布式集群搭建过程
对于想学习 Spark 的人而言,如何构建 Spark 集群是其最大的难点之一, 为了解决大家构建 Spark 集群的一切困难,Spark 集群的构建分为了五个步骤,从 零起步,不需要任何前置知识,涵盖操作的每一个细节,构建完整...
"Hadoop2完全分布式集群搭建" Hadoop2是一个基于分布式计算的开源大数据处理框架,具有高可扩展性、可靠性和高性能等特点。下面是关于Hadoop2完全分布式集群搭建的知识点总结: 1. 前序 在搭建Hadoop2完全分布式...
Hadoop伪分布式集群环境搭建,有常见错误及解决方案。
"Hadoop系统完全分布式集群搭建方法" 本文档详细介绍了如何搭建Hadoop完全分布式集群,包括安装Linux操作系统、设置静态IP、安装SSH并配置免密码访问机制、配置Hadoop集群等步骤。本文档旨在帮助Hadoop初学者快速...
在开始搭建Hadoop完全分布式集群之前,需要确保已经准备好相应的硬件资源和软件环境。本篇指南旨在为初学者提供一个全面且详细的Hadoop集群搭建流程,以便更好地理解和掌握大数据处理的基本架构。 #### 二、硬件...
### Hadoop完全分布式集群搭建详解 #### 一、概述 Hadoop是一款开源的大数据处理框架,主要用于处理海量数据...通过这些步骤,可以成功搭建一个功能完备的Hadoop分布式集群,为后续的大数据分析任务提供坚实的基础。
### 基于VM+CentOS+hadoop2.7搭建Hadoop完全分布式集群的知识点解析 #### 一、概述 本文旨在详细介绍如何使用VMware Workstation(简称VM)结合CentOS 6.5操作系统来搭建Hadoop 2.7的完全分布式集群。此文档是根据...
搭建伪分布式开发环境的步骤大致与单机模式相似,但是需要对Hadoop配置文件进行进一步的配置,以使Hadoop模拟分布式环境运行。 王家林教授通过图文教程详细指导了如何从零开始搭建Hadoop环境,提供了极为详尽的操作...
本篇文章将深入探讨如何搭建一个完整的Hadoop分布式集群,特别关注Java编程环境下的配置和操作。 首先,我们需要理解Hadoop的架构。Hadoop由两个主要组件构成:Hadoop Distributed File System (HDFS) 和 MapReduce...
实验3—Hadoop 完全分布式模式搭建
hadoop分布式集群环境搭建参考文档
本文档提供了一个详细的脚本,涵盖了从Java环境配置到Hadoop集群的完全分布式安装的所有步骤,旨在降低大数据技术入门的复杂度和时间成本。 **脚本功能** 1. **Java环境一键配置**:自动安装Java运行环境,确保...
2、大数据环境-安装Hadoop2.5.2伪分布式傻瓜教程 原创
Hadoop完全分布式环境搭建文档,绝对原创,并且本人亲自验证并使用,图文并茂详细介绍了hadoop完全分布式环境搭建所有步骤,条例格式清楚,不能成功的,请给我留言!将给与在线支持!