在上一篇的分享文章中我是给大家分享了运行部署hadoop的一些安装准备工作,这篇接上一篇继续为大家分享一些个人的学习经验总结。我学习用的是大快发行版DKHadoop,所以所有的经验分享都是以DKHadoop为基础,这里要先说明一下。个人觉得DKHadoop对新手还是算是很友好的了,新手朋友们可以大快搜索网站下载一个三节点的dkhadoop玩一下看看。闲话到此结束,本篇重点整理的是服务器操作系统的配置问题,写的可能会有点长,需要一点点耐心看的哦!1.修改权限步骤:在准备工作中拷贝安装包DKHPlantform.zip到主节点/root/目录后,解压并修改文件权限(文件所有者可读可写可执行,与文件所有者属于一个用户组的其他用户可读可执行,其他用户组可读可执行)。命令: cd /root/unzip DKHPlantform.zipchmod -R 755 DKHPlantform2. 搭建hadoop集群设置SSH免密登录步骤:修改主机名 vi /etc/sysconfig/network reboot(1)修改本机hosts文件,写入对应关系命令:vi /etc/hosts通过按键盘上的insert或是I键进入编辑模式,编辑完成后按一下Esc键然后按一下按Shift+:键,输入wq 后回车就可以保存。输入q!后回车则是放弃保存并退出.进入编辑模式后,按照规则写入主机与ip的对应关系(主机名称dk41是自己命名的,如下图)例:192.168.1.41 dk41192.168.1.42 dk42192.168.1.43 dk43编辑完后,保存退出。把对应关系拷到其他两台机器上。命令:scp -r /etc/hosts 192.168.1.42:/etcscp -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 1ssh前往第二台机器(从节点)并执行:命令: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 -p123456show databases;