大数据平台搭建

       接下来我将一步步讲解如何搭建此平台,主要是安装三个组件Hadoop、HBase、Hive,它们也是最基础的组件。下面我们开始吧!

一、机器安装(如果需要安装和本人一样的软件版本,通过QQ296095021取得联系)

在虚拟机上安装Centos7,选择最小安装,此台机器作为master,安装完成之后关机,接着是克隆刚刚创建的虚拟机,分别作为slave1和slave2。

安装Xshell和Xftp 

Xshell的连接方法很简单,(通过ip来唯一标识主机,CentOS中查询ip的命令是ip addr或ifconfig)如果不会请自行查阅资料。这里可能存在一个坑,就是VMware没有安装正确,虚拟网卡没有启动,那么就需要重装VMware,直至有两个虚拟网络。

有些同志用的是笔记本电脑,换了地方连上网络之后,虚拟机的ip也会发生变化,为了之后的集群可以正常启动,这里我们需要设置静态ip。 如果要让IP地址永久生效,需要编辑网卡配置文件,#vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改前
修改后

设置好之后,把网络服务重启一下,如下图#service network restart

重启网络服务

三台机器都需要修改静态ip,所写的ip即为dhcp服务器刚开始分配的ip,我们的操作只是将其固定。(如果用的是台式机,一般情况下电脑不移动,可以省略这一步)

二、安装环境准备

1、配置hosts

       主机名修改编辑/etc/hostname文件,之后需要重启机器#reboot,修改才能生效

       编辑/etc/hosts文件,添加主机名和IP 映射关系,如图:(# hostname  //查看主机名)

添加主机名和IP 映射关系  

三台机器都是一样的操作,配置好后需要在各个节点上执行如下命令,测试是否相互 ping 得通,如果 ping 不通,后面就无法顺利配置成功:

       #ping master -c 3   #只ping3次,否则要按 Ctrl+c 中断

       #ping slave1 -c 3

       #ping slave2 -c 3

测试是否相互 ping 通  

2、配置SSH免密登录(为了节约搭建时间,不需要各个节点之间都免密登录)

       这个操作是要让master节点可以无密码 SSH 登陆到各个slave节点上。

       首先生成master 节点的公匙,在master 节点的终端中执行:

       #cd ~/.ssh               //如果没有该目录,先执行一次ssh localhost

       #rm ./id_rsa*             //删除之前生成的公匙(如果有)

       #ssh-keygen -t rsa        //一直按回车就可以

生成密钥

让master 节点需能无密码 SSH 本机,在master 节点上执行:

# cat ./id_rsa.pub >> ./authorized_keys

#chmod 600 ./authorized_keys   #修改文件权限,这步很关键(本人在这里被坑了)

完成后可执行 ssh master验证一下(可能需要输入 yes,成功后执行 exit 返回原来的终端)。这里要特别说明的是,最好保证每个节点都能免密登录本地机器。

接着在master 节点将上公匙传输到slave1 节点:

# scp ~/.ssh/id_rsa.pub root@slave1:/root/

scp 是 secure copy 的简写,用于在 Linux 下进行远程拷贝文件,类似于 cp 命令,不过 cp 只能在本机中拷贝。执行 scp 时会要求输入slave1 上root用户的密码,输入完成后会提示传输完毕,如下图所示:

接着在slave1 节点上,将 ssh 公匙加入授权:

#mkdir ~/.ssh       //如果不存在该文件夹需先创建,若已存在则忽略

#cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

#rm ~/id_rsa.pub    //用完就可以删掉了

如果有其他 slave 节点,也要执行将 master 公匙传输到 slave 节点、在 slave 节点上加入授权这两步。

这样,在 master 节点上就可以无密码 SSH 到各个 slave 节点了,可在 master 节点上执行如下命令进行检验,如下图所示:

3、传输安装包

此时我们需要使用Xftp软件将Windows系统上的大数据所需软件安装包都传送到虚拟机中。

首先在master节点上创建software文件夹,如下图所示:

使用Xftp软件将安装包都传送到software文件夹内

选中文件后直接拖拽即可

此时master的software文件夹中就有了传送的安装包:

4、安装配置JDK

进入software文件夹内执行:

#tar -zxvf jdk-8u181-linux-x64.tar.gz       //解压jdk安装包

#mv jdk1.8.0_181 jdk      //重命名文件夹,方便之后配置环境变量时写文件路径

接着需要配置一下JAVA_HOME 环境变量,我们在/etc/profile中进行设置

在文件最前面添加如下两行(指向JDK 的安装位置),并保存:

接着还需要让该环境变量生效,执行如下代码:

# source /etc/profile    #使变量设置生效

如果设置正确的话,$JAVA_HOME/bin/java -version 会输出 java 的版本信息,且和 java -version 的输出结果一样,如下图所示:

这样,Hadoop 所需的 Java 运行环境就安装好了。

三、配置Hadoop集群

1、解压Hadoop安装包并修改配置文件

       #tar -zxvf hadoop-2.7.6.tar.gz

       #mv hadoop-2.7.6  hadoop    //重命名

编辑core-site.xml,添加如下内容(标签化语言在此篇文章中不能正常显示,所以就只能上传截图了)

编辑hdfs-site.xml,添加如下内容

编辑mapred-site.xml

编辑yarn-site.xml,添加

编辑slaves,添加子节点的主机名或IP

#vi slaves

编辑hadoop-env.sh,修改JAVA_HOME为本机实际的目录,如图

2、配置环境变量(在三台机器上都写一样的配置,如下)

       #vi/etc/profile

      #source /etc/profile

3、拷贝master节点上的jdk文件夹和hadoop文件夹到其他两个slave节点上

       #scp -r /etc/profile  slave1:/etc/profile

       #source/etc/profile

       #scp-r /root/software/jdk slave1:/root/software/jdk/

       #scp-r /root/software/hadoop slave1:/root/software/hadoop/

        slave节点都需要source /etc/profile

4、初始化hadoop集群

       #hadoop namenode -format

       成功的话,会看到 “successfully formatted” 和 “Exitting with

status 0” 的提示,若为 “Exitting with status 1” 则是出错。

5、启动Hadoop集群

       首先进入/root/software/hadoop/sbin目录下,命令如下

       #./start-dfs.sh

       #./start-yarn.sh

       验证启动结果:

master主节点
slave1子节点
slave2子节点

如果实现上图,恭喜你,hadoop集群启动成功!!!(PS:已经成功一半了,接下来的安装会顺利一些)

三、配置HBase集群环境

1、查看Hadoop集群状态

       我们在搭建好Hadoop集群之后就可以搭建HBase数据仓库了.在安装HBase之前检查Hadoop集群是否处于启动状态,如图

2、解压Hase、修改HBase的配置文件

       进入/root/software目录,找到HBase安装包并解压、重命名,命令如下

       #cd /root/software

       #tar -zxvf hbase-1.1.5-bin.tar.gz

       #mv hbase-1.1.5 hbase

进入/root/software/hbase/conf目录下,修改hbase-env.sh和hbase-site.xml

a.编辑hbase-site.xml文件

去掉注释符号,并修改为我们自己的JAVA_HOME

去掉前面的注释符号

b.编辑hbase-site.xml文件

c.配置环境变量(集群每台机器都要配置一下)

#vi /etc/profile

#source /etc/profile

d. 编辑regionservers,添加子节点的主机名或者IP地址

e.我们将修改好的HBase安装包拷贝包子节点上

#scp -r /root/software/hbase slave1:/root/software/hbase/

#scp -r /root/software/hbase slave2:/root/software/hbase/

3、启动HBase集群

#cd /root/software/hbase/bin

#./start-hbase.sh

验证集群的启动情况

主节点 HMaster、HQuorumPeer 
子节点HRegionServer、HQuorumPeer 
子节点HRegionServer、HQuorumPeer  

四、配置Hive集群环境

       Hive是基于Hadoop的一个数据仓库工具,其运行依赖Hadoop和Mysql,其中Hadoop为其提供Hdfs文件系统,Mysql为其提供元数据存储。下面我们开始搭建Hive。

1、Mysql安装

       a.进入/root/software 目录下,解压Mysql安装包并重命名

       #tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

       #mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql

       #mkdir -p ./mysql/data                               //mysql目录下生成data目录

      b.# touch my.cnf                                         //在software文件夹下创建mycnf文件,里面添加内容如下:

[mysqld]

basedir=/root/software/mysql

datadir=/root/software/mysql/data

socket=/tmp/mysql.sock

lower_case_table_names=1

user=root

character-set-server=utf8

symbolic-links=0

[client]

default-character-set=utf8

[mysqld-safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

my.cnf文件

      # cp my.cnf /etc/                         //覆盖/etc下原有的my.cnf

c. 初始化数据库

#/root/software/mysql/bin/mysqld --initialize-insecure --basedir=/root/software/mysql --datadir=/root/software/mysql/data  --user=root

# cp /root/software/mysql/support-files/mysql.server /etc/init.d/mysql                             //将mysql加入服务

# chkconfig mysql on                                   //设置mysql开机自启

# service mysql start                                   //启动mysql服务

d. 配置mysql环境变量

#vi /etc/profile                    //配置环境变量

#suorce /etc/profile

#mysql -uroot -p                                //登录mysql,密码为空直接回车

mysql>setpassword=password('123456');             //在mysql登录进去后更改密码

mysql>create database hive default charset utf8;              //创建hive数据库

mysql>grantall privileges on *.* to 'root'@'%' identified by '123456';    //赋权限

mysql>flush privileges;                                                 //刷新权限

mysql> exit                  //退出mysql

退出并重新登陆验证密码: 
查看数据库

2、Hive搭建

a.解压安装包

# tar -zxvf apache-hive-2.2.0-bin.tar.gz

b.重命名

# mv apache-hive-2.2.0-bin hive

c.添加环境变量

# vi /etc/profile

# source /etc/profile

d. 修改配置文件

根据环境部署的需求,修改主节点上的hive配置文件:hive-env.sh和hive-site.xml,完成配置后,启动hive服务。

修改hive-env.sh文件

# cd /root/software/hive/conf/                                  //进入hive的conf目录

# cp hive-env.sh.template hive-env.sh          //重新命名

# vi hive-env.sh                            //修改hadoop的安装目录

修改hive-site.xml文件

# cp hive-default.xml.template hive-site.xml              //重新命名

# vi hive-site.xml                                           //编辑hive-site.xml

进入vi编辑器后输入:/加上想要搜索的字符串即可快速定位,这里我用name标签

javax.jdo.option.ConnectionURL
javax.jdo.option.ConnectionDriverName
javax.jdo.option.ConnectionPassword
javax.jdo.option.ConnectionUserName
hive.exec.local.scratchdir 和 hive.downloaded.resources.dir

3、我们将修改好的Hive安装包拷贝包子节点上

# scp -r /root/software/hiveslave1:/root/software            //将hive传到子节点

# scp -r /root/software/hiveslave2:/root/software

# scp -r /etc/profile slave1:/etc/profile

# source /etc/profile                             //环境变量生效,子主节点都要执行

# cp -r /root/software/mysql-connector-java-5.1.40-bin.jar /root/software/hive/lib/                       //将mysql jar包  拷贝到/hive/lib中

# cp -r /root/software/hive/lib/jline-2.12.jar /root/software/hadoop/share/hadoop/yarn/lib            //将jline包拷贝到hadoop中

4、启动测试hive

在hive/bin目录下执行:

# schematool -dbType mysql -initSchema  //初始化元数据

初始化元数据

启动hadoop后,执行hive命令

#hive

测试输入  show database;

验证成功

至此由Hadoop、HBase、Hive三个组件组成大数据平台搭建完成。

你可能感兴趣的:(大数据平台搭建)