大数据集群环境搭建

本文详细介绍了如何搭建大数据集群,包括安装软件包、配置主机名与IP映射、Linux环境设置、JDK8安装、Zookeeper集群搭建、Hadoop HDFS与YARN高可用集群的配置,以及Hive和HBase的安装。每个步骤都提供了具体的操作指南,确保集群的稳定运行。
摘要由CSDN通过智能技术生成

安装软件包

linux CentOS-6.5-x86_64-minimal.iso
jdk jdk-8u192-linux-x64.tar.gz
hadoop hadoop-2.6.0-cdh5.16.1.tar.gz
zookeeper zookeeper-3.4.5-cdh5.16.1.tar.gz
hive hive-1.1.0-cdh5.16.1.tar.gz
hbase hbase-1.2.0-cdh5.16.1.tar.gz
sqoop sqoop-1.4.6-cdh5.16.1.tar.gz
flume flume-ng-1.6.0-cdh5.16.1.tar.gz
oozie oozie-4.1.0-cdh5.16.1.tar.gz
hue hue-3.9.0-cdh5.16.1.tar.gz

主机名及ip映射关系

hostname ip
master 192.168.93.7
slaver1 192.168.93.8
slaver2 192.168.93.9

Linux系统环境设置

  • 关闭并禁用防火墙(开机不自启)
# service ntpd status
# service ntpd stop
# chkconfig iptables off
  • 禁用selinux
# vi /etc/sysconfig/selinux
修改	selinux=disabled
  • 设置文件打开数量和用户最大进程数(每台都要设置)
#  vi /etc/security/limits.conf
 - soft nofile 65535
 - hard nofile 65535
 - soft nproc 32000
 - hard nproc 32000
  • 配置阿里云yum源
# 安装wget,wget是linux最常用的下载命令(有些系统默认安装,可忽略)
yum -y install wget

#备份当前的yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

#下载阿里云的yum源配置
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

#清除原来文件缓存,构建新加入的repo结尾文件的缓存
yum clean all
yum makecache
  • 设置自动更新时间
修改本地时区及ntp服务:
yum -y install ntp ntpdate
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
/usr/sbin/ntpdate -u pool.ntp.org
或者同步阿里云的时间
ntpdate ntp1.aliyun.com

自动同步时间:
#设置定时任务,每10分钟同步一次,配置/etc/crontab文件,实现自动执行任务
#建议直接crontab -e  来写入定时任务即可。
*/10 * * * *  /usr/sbin/ntpdate -u pool.ntp.org >/dev/null 2>&1
#重启定时任务
service crond restart
#查看日期
date
  • 清除节点MAC地址
清除/etc/udev/rules.d/70-persistent-net.rules 文件,
这个文件记录了这台机器的MAC地址,虚拟机在第一次启动时候会在这个文件中自动生成MAC地址,
下面我们要克隆虚拟机,需要将这个文件删除,如果不删除,克隆出来的虚拟机也是这个MAC地址,
那么就会有冲突,导致新克隆的机器ip不可使用。
# cd /etc/udev/rules.d
# rm -rf 70-persistent-net.rules 
  • 保存快照

  • 克隆虚拟机节点

  • 给每台克隆的节点配置ip、主机名和映射关系

   # vi /etc/sysconfig/network-scripts/ifcfg-eth0
  主要修改以下信息:
   	->ONBOOT=yes	
   	->BOOTPROTO=static	
   	->IPADDR=192.168.93.7
   	->NETMASK=255.255.255.0
   	->GATEWAY=192.168.93.2
   	->DNS1=114.114.114.114	
   	->DNS2=8.8.8.8

   永久性的设置主机名称:# vi /etc/sysconfig/network
   NETWORKING=yes
   HOSTNAME=master
   
   配置IP映射关系:# vi /etc/hosts
   127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
   ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

   192.168.93.7	master
   192.168.93.8	slaver1
   192.168.93.9	slaver2
   
   重启虚拟机:# init 6		
  • Windows中的映射关系
C:\Windows\System32\drivers\etc\hosts:
   192.168.93.7	master
   192.168.93.8	slaver1
   192.168.93.9	slaver2

  • ssh免密登陆配置
在3台机器上都执行
   # ssh-keygen -t rsa 
然后三次回车,运行结束会在~/.ssh下生成两个新文件:
	id_rsa.pub和id_rsa就是公钥和私钥
然后也是在3台机器上都执行:
   # ssh-copy-id master;ssh-copy-id slaver1;ssh-copy-id slaver2

测试是否可以免密登录
   [root@master~]# ssh slaver1
   [root@slaver1~]# 

创建存放目录

在opt目录下创建5个文件夹(用于整个集群中的文件及数据的存放):

# mkdir -p datas modules softwares tools test
# ls
datas  modules  softwares  test  tools

安装jdk8

# tar -zxvf jdk-8u192-linux-x64.tar.gz -C /opt/modules/java

将jdk添加到环境变量

# vi + /etc/profile
在末尾添加以下内容:
# JAVA_HOME
export JAVA_HOME=/opt/tools/java/jdk1.8 
export PATH=$PATH:$JAVA_HOME/bin

使文件生效
# source /etc/profile

发送到其他节点

# scp -r java slave1:`pwd`
# scp -r java slave2:`pwd`

同样需要配置环境变量

安装zookeeper

  • 进入master节点
1.解压
	# tar -zxvf zookeeper-3.4.5-cdh5.16.1.tar -C /opt/modules/cdh/
	# mv zookeeper-3.4.5-cdh5.16.1 zookeeper-3.4.5
	
2.修改zookeeper配置文件
	# cd /opt/modules/cdh/zookeeper-3.4.5/conf/
	# cp zoo_sample.cfg zoo.cfg
	# vi + zoo.cfg
	修改:
		dataDir=/opt/datas/zookeeper/zkData
	并在末尾加入:
		server.1=master:2888:3888
		server.2=slaver1:2888:3888
		server.3=slaver2:2888:3888
		
3.在dataDir=/opt/datas/zookeeper/zkData目录下,新建myid文件(文件名必须是这个),输入1(这里的1与server.1是一一对应的)
	# cd /opt/datas/zookeeper/zkData/
	# vi myid
	1
  • 将zookeeper添加到环境变量中
# vi /etc/profile
#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/modules/cdh/zookeeper-3.4.5

export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin

# source /etc/profile
  • 将zookeeper分发到slaver1,slaver2,分别修改其myid文件值为2,3
# scp -r /opt/modules/cdh/zookeeper-3.4.5/ slaver1:`pwd`
# scp -r /opt/modules/cdh/zookeeper-3.4.5/ slaver2:`pwd`
# scp -r /opt/datas/zookeeper/zkData slaver1:`pwd`
# scp -r /opt/datas/zookeeper/zkData slaver2:`pwd`
  • 启动3台zookeeper服务
# cd /opt/modules/cdh/zookeeper-3.4.5/
# zkServer.sh start  //启动zookeeper
# zkServer.sh status  //查看zookeeper的状态
# zkCli.sh  //zookeeper客户端连接
  • 开启zookeeper集群,可以看到一台主机是leader,其他2台主机是follower,则说明zookeeper集群搭建成功

安装hadoop

Hadoop HDFS高可用集群搭建(NameNode HA With QJM)

  • 集群规划
hostname NN-1 NN-2 DN zookeeper zkfc journalnode
master
slaver1
slaver2
  • 在master节点上,配置hadoop
解压:
	# tar -zxvf hadoop-2.6.0-cdh5.16.1.tar.gz -C /opt/modules/cdh/
	# mv hadoop-2.6.0-cdh5.16.1 hadoop-2.6.0
删掉doc文件夹,减少占用空间:
	# cd /opt/modules/cdh/hadoop-2.6.0/share
	# rm -rf doc/
  • 将hadoop添加到环境变量中
# vi /etc/profile
#HADOOP_HOME
export HADOOP_HOME=/opt/modules/cdh/hadoop-2.6.0

export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

# source /etc/profile

进入到$HADOOP_HOME/etc/hadoop/目录下,修改以下文件

  • hadoop-env.sh
export JAVA_HOME=/opt/tools/java/jdk1.8
  • mapred-env.sh
export JAVA_HOME=/opt/tools/java/jdk1.8
  • yarn-env.sh
export JAVA_HOME=/opt/tools/java/jdk1.8
  • core-site.xml
<configuration>
	<!-- 指定hdfs的nameservice -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://mycluster</value>
    </property>
    <!-- 指定hadoop临时目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/datas/hadoop/ha-hadoop</value>
    </property>
	<!-- 修改访问垃圾回收站用户名称,默认是dr.who,修改为当前用户 -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
    </property>
    <!-- 指定zookeeper地址 -->
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>master:2181,slaver1:2181,slaver2:2181</value>
    </property>
</configuration>
  • hdfs-site.xml
<configuration>
   <property>
       <name>dfs.replication</name>
       <value>3</value>
   </property>	
   <!-- 禁用权限 -->
   <property>
   	<name>dfs.permissions.enabled</name>
   	<value>false</value>
   </property>
   <!--指定hdfs的nameservice为mycluster,需要和core-site.x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值