Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建
大数据集群搭建安装包:https://download.csdn.net/download/tktttt/12879318
大数据集群搭建安装包2:https://download.csdn.net/download/tktttt/12879355
一、虚拟机安装Centos7
1.准备工作
使用软件:VMware Workstation;该软件的安装一直下一步就行。
下面开始阐述镜像的安装:
可以直接去官网下载一个需要的镜像,本文操作时选择的是CentOS-7-x86_64-DVD-2003.iso,可以点击此处下载
2.centos7安装过程
打开VMware,点击创建新的虚拟机

选择自定义,点击下一步

点击下一步

选择稍后安装操作系统,点击下一步

客户机操作系统选择Linux,版本选择Centos 7 64位,点击下一步

虚拟机名称随意定义(自己记得住该虚拟机用来干嘛即可),建议取名有标识度,位置最好放在C盘之外的其他盘,点击下一步

之后可以按默认参数,一直点击下一步,到网络连接时,选择NAT

之后继续一直按默认参数点击下一步,可以看到Centos已经创建到我的计算机中,即图中的Hadoop-node

右键该创建的虚拟机,点击设置,进入设置页面,点击CD/DVD,选择使用ISO镜像文件,选择之前下载的镜像文件即可,点击确定

开启虚拟机,选择语言中文-简体中文,当然其他语言也可,点击继续;
点击安装源,进入之后选择done;
软件选择:GNOME桌面,图形化界面;
分区自动分区也可,自定义配置分区也可;
配置完成后开始安装系统,安装过程中会出现用户设置,自行设置好Root的密码,以及用户账户和密码;
安装完成后点击重启;
重启后,出现初始设置界面,若未接受许可证,点击进去选择接受许可;
并设置一下网络,打开连接开关;
好了之后,点击完成配置,等待即可登录

打开终端,可以通过命令ifconfig查看自身IP信息;
ping一下宿主机ip,若ping通,则说明安装设置正常;也可以在虚拟机打开自带的浏览器,打开一个网页看看访问外网是否成功
3.关闭防火墙(关键)
1.在root账户下(若登录时不是root账户则切换成root账户),检查防火墙状态
#firewall-cmd --state
2.需要关闭防火墙
#systemctl stop firewalld.service
3.再次查看防火墙状态,查看是否状态已经是not running
#firewall-cmd --state
4.禁止开机启动防火墙
#systemctl disable firewalld.service
二、安装jdk
1.卸载镜像自带jdk
1.通过xshell工具,连接虚拟机(root账户、虚拟机IP通过终端ifconfig查看)
2.通过命令下面命令查看系统自带jdk
rpm -qa | grep Java
3.通过下面命令删除系统自带的jdk,删除的是类似java-1.*-opejdk-**的文件(一般为四个)
rpm -e --nodeps 系统自带的jdk名
如:
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
4.删完后,再重复步骤2查看是否删除
2.安装自己的jdk
通过 cd /usr/local/ 进入local目录;
通过 ls 查看当前目录已有的非隐藏文件;
之后通过 mkdir java 创建Java目录,用于存放自己的jdk;
创建好之后,通过 cd java 进入Java目录;
通过 yum -y install lrzsz 命令安装:在线导入安装包的插件;
成功后输入rz 并回车,就会弹出文件选择窗口,选择自己jdk安装包,打开,就会进入文件传输的界面;
传输成功后,ls 命令查看Java目录下的是否有安装包了;
有了之后通过 tar -zxvf 安装包名 命令解压jdk,如:
tar -zxvf jdk-8u11-linux-x64.tar.gz
解压之后,通过 ls 命令查看会发现java目录下出现了jdk的文件夹,这里可以通过命令rm -f jdk-8u11-linux-x64.tar.gz 删除安装包 ,也可以不删;
之后配置环境变量:
通过命令 vim /etc/profile 打开profile文件配置环境变量,打开之后按 i 进入insert(插入模式),在文件末尾加上以下内容(位置和名称按你实际安装的来):
export JAVA_HOME=/usr/local/java/jdk1.8.0_11
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
添加完成后,按Esc退出到非插入模式,再按Shift + :,之后输入wq 并回车,即保存成功;
保存完后,输入 source /etc/profile回车,使得刚才的配置生效;
测试是否安装成功,输入 Javac 命令回车,如果返回如下信息则说明编辑成功

再通过命令 Java -version 查看Java版本信息,如果出现下图信息则说明安装成功

3.配置多机器间免密登录
配置目的是在配置hadoop一主多从的分布式环境时,主从之间能够无障碍通信,输入以下命令,按回车
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa #生成密钥对
会在/root/.ssh文件夹下生成一对密钥,即公钥和私钥,如下图:

公钥相当于锁,私钥相当于钥匙,只要我们将公钥(锁)写入别的机器上authorized_keys文件中,我们就能用私钥(钥匙)进行免密登陆别的机器了,接着输入以下命令,将公钥写入authorized_keys文件中:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys #将公钥写入authorized_keys文件
这样一来,当后续我们使用VMware虚拟机克隆功能克隆生成其他节点时,这几个虚拟机中authorized_keys文件中写入相同的公钥,并且都与公钥(锁)对应的相同的私钥(钥匙),自然能够进行相互的免密登陆了
三、搭建Hadoop集群
此处集群搭建我们不按host映射来,直接使用的ip
1.hadoop安装
首先,在/usr/local目录下创建hadoop文件夹,之后将hadoop安装到这里,安装之后进入hadoop文件夹:
cd /root #进入/root文件夹
mkdir hadoop #创建hadoop文件夹
cd software #进入hadoop文件夹
之后,使用rz命令从本地将Hadoop安装包(本文使用的是hadoop-2.7.4.tar.gz)上传到该目录,与安装jdk时一样,传输完成之后进行解压:
tar -zvxf hadoop-2.7.4.tar.gz #解压hadoop到当前目录
同时将hadoop加入环境变量,打开/root/.bash_profile文件:
vi /root/.bash_profile #打开文件
如同安装jdk配置环境变量时一样进行操作,添加如下内容(路径按实际安装来):
export JAVA_HOME=/usr/local/java/jdk1.8.0_261
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.4
保存后,执行以下命令使其生效:
source /root/.bash_profile
然后执行hadoop version来检查是否配置成功,若出现如下图这样的信息说明配置成功:

2.配置修改
- 配置JAVA_HOME
hadoop-env.sh
mapred-env.sh
yarn-env.sh
对上述三个文件(位置都在Hadoop安装目录下的etc/hadoop下)都加入:
export JAVA_HOME=JAVA_HOME=/usr/local/java/jdk1.8.0_261
- 修改hdfs-site.xml文件
hdfs-site.xml文件位置如下:hadoop安装目录下的etc/hadoop目录下,打开该文件:
cd /usr/local/hadoop/hadoop-2.7.4/etc/hadoop/ #进入到该目录下
vi hdfs-site.xml #打开该文件
在hdfs-site.xml文件configuration标签内,添加如下内容:
<configuration>
<!--指定hdfs中namenode的存储位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/data/hadoop/namenode</value>
</property>
<!--指定hdfs中datanode的存储位置-->
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/data/hadoop/datanode</value>
</property>
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/data/hadoop/journalnode</value>
</property>
<!--指定hdfs保存数据的副本数量-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>
</configuration>
创建上述的目录文件:
cd /usr
mkdir data
cd data
mkdir hadoop
cd hadoop
mkdir namenode datanode journalnode
- 修改core-site.xml文件
该文件在相同的目录下,将core-site.xml文件中configuration标签修改为下述内容(其中IP为自己实际虚拟机IP,前面咱们一直没有将虚拟机IP设为静态IP,用的自有分配的IP,之后下文设置,原因就不说了):
<configuration>
<!--指定namenode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.88.129:9000</value>
</property>
<!--用来指定使用hadoop时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/data/hadoop/tmp</value>
</property>
<!--指定zookeeper地址 (该条配置可先不设置,是后期配置hbase时做的更改,等安装好zookeeper后再设置)-->
<property>
<name>ha.zookeeper.quorum</name>
<value>192.168.88.129:2181,192.168.88.130:2181,192.168.88.131:2181</value>
</property>>
</configuration>
- 修改mapred-site.xml文件
也在同目录下,如果没有,则创建:
cp mapred-site.xml.template mapred-site.xml
编辑:
vi mapred-site.xml
在文件标签configuration中输入:
<configuration>
<!-- 指定mr框架为yarn方式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- 修改yarn-site.xml文件,将yarn-site.xml文件中configuration标签中内容修改为下述内容,IP应与core-site.xml中的一致:
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.88.129:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.88.129:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.88.129:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.88.129:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.88.129:8088</value>
</property>
- 修改slaves文件,指定datanode
该slaves文件在相同的目录下,将文件修改为下述内容(看实际需要,自由添加配置IP,有几个说明有几个datanode):
192.168.88.129 #主节点IP(最好加上,让主节点启动datanode)
#当然此处是节省虚拟机资源,实际应用另说
#不加的话最好多配一台子节点
#(即去掉129主节点这台,添加192.168.88.132,下文也自行进行相应更改)
#(所以是一台主节点namenode三台子节点datanode,即总共四台虚拟机)
#


520

被折叠的 条评论
为什么被折叠?



