使用hadoop版本是DKH标准三节点发行版,DKHadoop版本的易用性比较好,环境部署要简单的多,参考此篇安装前请先下载DKHadoop版本,网盘链接:https://pan.baidu.com/s/1-427Sh6lTLrLAPh6KMOYVg  提取码:vg2w  

第一部分:准备工作

1、 大数据平台所需配置:

(1) 系统:CentOS 6.5 64位(需默认安装Desktop)

(2) CPU :intel E3及以上。

(3) 内存:建议最小8G,用图计算建议32G,推荐128G。

(4) 硬盘:256G以上,推荐使用固态硬盘。

(5) 系统分区要求: 如无特殊需求,除swap分区外,可将剩余空间全部分配到/(根)分区

(6) 网络要求:如无特殊情况,尽量可以接入外网。

(7) 至少三台服务器(三台服务器名字任意起,密码须一致)。

(8)安装使用root用户作为默认用户

2、 远程上传和远程连接工具:

(1) 若直接使用个人PC开启的虚拟机作为服务器的基础,直接拷贝到虚拟机下即可。

(2) 若是使用机房服务器作平台搭建的服务器,如若不能直接接触到服务器,则需要使用远程工具连接并发送安装包

 

第二部分:服务器操作系统配置

 

1.修改权限

步骤:在准备工作中拷贝安装包DKHPlantform.zip到主节点/root/目录后,解压并修改文件权限(文件所有者可读可写可执行,与文件所有者属于一个用户组的其他用户可读可执行,其他用户组可读可执行)。

命令:

cd /root/

unzip DKHPlantform.zip

chmod -R 755 DKHPlantform

2. 搭建hadoop集群设置SSH免密登录

步骤:

修改主机名  vi /etc/sysconfig/network  reboot

(1)修改本机hosts文件,写入对应关系

命令:

vi /etc/hosts

通过按键盘上的insert或是I键进入编辑模式,编辑完成后按一下Esc键然后按一下按Shift+:键,输入wq 后回车就可以保存。输入q!后回车则是放弃保存并退出.

进入编辑模式后,按照规则写入主机与ip的对应关系(主机名称dk41是自己命名的,如下图)例:

192.168.1.41    dk41

192.168.1.42    dk42

192.168.1.43    dk43

编辑完后,保存退出。把对应关系拷到其他两台机器上。

命令:

scp  -r  /etc/hosts  192.168.1.42:/etc

scp  -r  /etc/hosts  192.168.1.43:/etc

(2)执行集群之间免密前的准备工作   

a)执行sshpass.sh的脚本的时候会去读sshhosts和sshslaves这两个文件,替换sshpass.sh中的master和slave文件。                                                                                                                                                                                                                                      修改文件sshhosts,输入全部机器的主机名,每行一个主机名(如下图)

命令:

vi /root/DKHPlantform/autossh/sshhosts

通过按键盘上的insert或是I键进入编辑模式,编辑完成后按一下Esc键然后按一下按Shift+:键,输入wq,后回车就可以保存。输入q!后回车则是放弃保存并退出.

 

修改文件sshslaves,写入除主机名之外的所有机器名(如下图)

命令:

vi /root/DKHPlantform/autossh/sshslaves

通过按键盘上的insert或是I键进入编辑模式,编辑完成后按一下Esc键然后按一下按Shift+:键,输入wq,后回车就可以保存。输入q!后回车则是放弃保存并退出.

b)执行insExpect.sh,系统会装两个rpm包,在执行sshpass.sh的过程中无需再输密码和yes,脚本自动继续执行。

命令:

cd /root/DKHPlantform/autossh

./insExpect.sh

按照提示多次输入yes和密码(如下图)

c)执行changeMaster.sh脚本为了清空/root/.ssh目录下的所有文件(在/root/DKHPlantform/autossh目录下),避免在执行sshpass.sh脚本时产生的新密钥时与旧的密钥发生冲突。

命令:

./changeMaster.sh

按照提示输入(如下图)

(3)执行集群免(SSH

a)执行SSH:

命令:

cd /root/

./sshpass.sh 密码

123456为集群密码,根据自己实际情况输入。

b)防止访问服务器时某些服务被拦截,需关闭防火墙。

命令:

cd /root/DKHPlantform/autossh

./offIptables.sh

3.安装双机热备份MySQL

目的:存放Hive的元数据

步骤:

(1)从主节点分发mysql安装目录到第二节点

命令:

scp -r /root/DKHPlantform/mysqlInst/ 192.168.1.42:/root/

(2)主节点执行:

命令:

cd /root/DKHPlantform/mysqlInst/

./mysql.sh 1

ssh前往第二台机器(从节点)并执行:

命令:

cd /root/mysqlInst/

./mysql.sh 2

(3)执行成功之后执行热备份(两台机器上都要执行,两个ip互换,41上写42,42上写41,密码是Mysql的密码为:123456。平台内已经设定好,请勿修改):

命令:

source /etc/profile

./sync.sh 192.168.1.xxx(另一台mysql地址) root 123456

4.创建数据库

 步骤:

(1)导入MySQL数据表,只在主节点执行:

命令:

mysql -uroot -p123456 < { 此处为sql文件,主目录下文件: dkh.sql}

如:mysql -uroot -p123456 </root/DKHPlantform/dkh.sql

(2)执行完后查看一下两台mysql的数据表是否存在,从节点查看执行:

命令:

mysql  -uroot  -p123456
show databases;

第三部分:DKH系统安装

(1)启动安装

步骤:执行以下命令。

命令:

cd /root/DKHPlantform/dkh-tomcat-7.0.56/bin/

./startup.sh

(2)登录

启动成功后浏览器键入主节点ip

登陆默认用户名和密码:

Username:admin

Password: 123456

后续根据提示安装

(3)组件安装路径

建议采用默认安装路径,即/opt/dkh/,注意千万不要放/root/,不然impala等组件的安装可能出现问题

部分:常见问题解决方法

 

1、当hdfs的zkfc出现如下问题时,可尝试以下方法:

(1) 先格式化hadoopzk:hdfs zkfc -formatZK

(2) 启动zk,sbin下:  ./hadoop-daemon.sh start zkfc

(3) 设定失败转移的namenode: hdfs haadmin -failover nn1 nn2

2、当hue页面打不开,显示如下内容时,说明没有创建hue数据库,可在主节点执行此文件,根据提示输入Y即可

3、当hue页面打不开,显示如下内容时,可执行如下命令解决:

# cd /opt/dkh/hue-3.12.0/build/env/bin

# ./hue syncdb        之后输入no

# ./hue migrate

4、Essql页面打不开,显示如下内容时,可通过以下方式解决

(1) 主节点运行命令:source /etc/profile,后重启Tomcat(注意使用shutdown命令之后,若还存在相关进程,需手动kill掉)适用于环境变量不生效的情况,比如,Java的版本识别的是1.7,而不是1.8;hdfs相关命令不识别等。

(2) 重启Tomcat,注意使用shutdown命令之后,若还存在相关进程,需手动kill掉适用于启动了多个Tomcat进程的情况。

hadoop入门学习教程--DKHadoop完整安装步骤的更多相关文章

  1. Linux入门学习教程:虚拟机体验之KVM篇

    本文中可以学习到的命令: 1. aptitude 是apt-get 不会产生垃圾的版本 2.       dpkg -L virtualbox 显示属于该包的文件 lsmod | grep kvmfi ...

  2. Nginx 入门学习教程

    昨天听一个前同事说他们公司老大让他去研究下关于Nginx 方面的知识,我想了下Nginx 在如今的开发技术栈中应该会很大可能会用到,所以写篇博文记录总结下官网学习教程吧. 1. 什么是Nginx? 我 ...

  3. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  4. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  5. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  6. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  7. MyBatis入门学习教程-使用MyBatis对表执行CRUD操作

    上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...

  8. Dreamweaver cs6中文版完整安装步骤:

    Dreamweaver cs6中文版完整安装步骤: http://www.cr173.com/soft/72633.html 1.首先我们需要下载Dreamweaver cs6官方中文原版安装程序,下 ...

  9. hadoop入门学习

    hadoop入门学习:http://edu.csdn.net/course/detail/1397hadoop hadoop2视频:http://pan.baidu.com/s/1o6uy7Q6HDF ...

随机推荐

  1. Oracle外部表的管理和应用

    外部表作为oracle的一种表类型,虽然不能像普通库表那么应用方便,但有时在数据迁移或数据加载时,也会带来极大的方便,有时比用sql*loader加载数据来的更为方便,下面就将建立和应用外部表的命令和 ...

  2. 【转】C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码

    本文介绍在 C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码.网上文章大多只是简单介绍内置参数的设置,根据我的使用目的,增加了自定义目标二维码图片尺寸和白边 ...

  3. EchoService

    dubbo为consumer端的代理对象实现了EchoService接口. 使用示例: <dubbo:reference id="hello" interface=" ...

  4. javascript--- document.write()和 innerHTML的区别

    document.write是直接写入到页面的内容流,如果在写之前没有调用document.open, 浏览器会自动调用open.每次写完关闭之后重新调用该函数,会导致页面被重写. innerHTML ...

  5. Python笔记初识

    Python笔记初识

  6. PHP:第二章——PHP中的switch语句

    <?php header("Content-Type:text/html;charset=utf-8"); /* switch语句: */ //例1: /*$i = 99; ...

  7. POJ 2886 线段树单点更新

    转载自:http://blog.csdn.net/sdj222555/article/details/6878651 反素数拓展参照:http://blog.csdn.net/ACdreamers/a ...

  8. [转载]python的常用代码模板

    URL:http://blog.csdn.net/xingjiarong/article/details/50651235

  9. L226

    The dean can’t see you at the moment. He is addressing the first-year students in the lecture hall.系 ...

  10. Java Junit 基础笔记

    Junit 1. 概念 JUnit是一个Java语言的单元测试框架. 单元测试:单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工 ...