目录
一、在Linux系统下我们要配置时钟同步(有两种,这里我就说一种)、配置主机名、配置网络环境、关闭防火墙:
(1)、配置自动时钟同步
(2)、配置主机名(这里我们在克隆后的克隆机上需要重新修改成对应的主机名)
(3)、使用 setup 命令配置网络环境(这里我们在克隆后的克隆机上需要重新修改成对应的主机ip)
(4)、关闭防火墙
二、配置hosts文件列表
三、安装JDK
四、Hadoop 集群配置
(1)、配置环境变量hadoop-env.sh
(2)、配置环境变量yarn-env.sh
(3)、配置核心组件core-site.xml
(4)、配置文件系统 hdfs-site.xml
(5)、配置系统文件yarn-site.xml
(6)、配置计算框架mapred-site.xml
(7)、配置slaves文件
(8)、配置 Hadoop 启动的系统环境变量
(9)、创建数据目录
五、安装部署Hive
(1)、在 /home/trzy 下将Hive的包解压。
(2)、启动MySQL(使用root用户)
(3)、创建hadoop用户、创建数据库。
(4)、退出MySQL
(5)、配置Hive
(6)、将 mysql 的 java connector 复制到依赖库中
(7)、配置Hive的环境变量:
六、安装部署Spark
(1)、配置Spark的slaves文件:
(2)、 配置Spark的spark-env.sh
(3)、配置 Hadoop 环境变量
七、克隆虚拟机
(1)、分别在slave1、slave2在设置IP
(2)、分别修改slave1、slave2的主机名
(3)、检测三台虚拟机是否相通:
(4)、免密钥登录配置(在普通用户下运行)
八、正式启动Hadoop+Hive+spark
(1)、在master上格式化。
(2)、在master上启动(停止)hadoop。
(3)、启动HIve。
(4)、Spark启动(停止)。
九、 总结。
对于学习Hadoop时,可能有朋友想快速搭建一个Hadoop集群,所以我现在自己将觉得是可以快速搭建的方法分享给大家,大多数的配置参数是来自我们老师发给我们的文档的,如果你有自己想要的配置参数可以查看Hadoop文档。
这个文章是主要是写给我们班上的同学的,是学习记录,如果有什么错误之处,还请大佬指点,谢谢!
如果需要下载linux的CentOS镜像文件可以参考:Centos6.5镜像下载_你的破壁人呀的博客-CSDN博客_centos6.5
对于在VMware Workstation Pro中创建虚拟机我就不多说了,我就假定拥有linux系统的虚拟机大家都安装好了,现在我们开始搭建我们的Hadoop吧(所谓快速搭建Hadoop集群,就是在一台虚拟机中将相关的配置都配好,然后我们在克隆就行(克隆几台就看你想要几台,这里我配置三台)!
@搭配前的准备@:
1、我们需要将需要的包下载好并且上传到linux上的/home/trzy/的用户下。
(1)、spark-2.4.4-bin-hadoop2.7.tgz
链接:https://pan.baidu.com/s/1t6mYjdJteWIACnUyPuKbXw
提取码:8888
(2)、apache-hive-2.3.6-bin.tar.gz
链接:https://pan.baidu.com/s/11z0Bn2gr6-hLZhRS5Cbccw
提取码:8888
(3)、hadoop-2.7.7.tar(2).gz
链接:https://pan.baidu.com/s/15q7b2-uil2kGd8M0ABA1tw
提取码:8888
(4)、jdk-8u221-linux-x64.tar(1).gz
链接:https://pan.baidu.com/s/1qoqP1YfpeiUibQ37T6twSQ
提取码:8888
(5)、mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
链接:https://pan.baidu.com/s/1cNl_7iziLreuDlKLIohwJA
提取码:8888
(6)、mysql-connector-java-5.1.27-bin(1).jar
链接:https://pan.baidu.com/s/1qo_HGsZ6i85bngsxpA5pWQ
提取码:8888
2、我使用的上传工具是:SSH Secure Shell(使用详细在文章最后)
链接:https://pan.baidu.com/s/1nTGxO3M-3syGWLXNHLZR3g
提取码:8888
[root@master trzy]$ crontab -e
该命令是 vi 编辑命令,按 i 进入插入模式,按 Esc,然后键入:wq 保存退出 键入下面的一行代码,输入 i,进入插入模式(星号之间和前后都有空格)
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
如图:
这里我们使用gedit编辑主机名(同时也可以使用vi来编辑主机名)
[root@master trzy]$ gedit /etc/sysconfig/network
如图:
配置信息如下,如果已经存在则不修改
NETWORKING=yes #启动网络
HOSTNAME=master #主机名
确认命令生效
[root@master trzy]$ hostname master
检测主机名是否修改成功,可以重新打开一个终端命令窗口检测。
[root@master trzy]$ hostname
如图:
我们先看看自己的IP是什么?
[trzy@master ~]$ ifconfig
如图:
在终端中执行下面命令:
[root@master trzy]$ setup
会出现如图1:
现在第四个选项回车
会出现如图2:
第一个选项回车
会出现如图3:
第一个选项回车
会出现如图4:
我们使用上下键移动光标到星号那,按空格将星号去掉,这样我们就可以设置静态IP了,设置如图(注意:设置的IP192.168.220.154的前三个,就是192.168.220一定要和上面我们使用ifconfig查看的红圈中的IP的前三个一样),设置好后我们就OK+回车、Save+回车、 Save&Quit+回车、Quit+回车。
接下来我们就重启网络服务(如果失败,请将eth0换成eth1或eth2等)
[root@master trzy]$ /sbin/service network restart
输入结果如图:
使用ifconfig查看我们设置的IP是否成功。
在终端中执行下面命令:
[root@master trzy]$ setup
会出现如图:
现在第二个选项回车:
将光标移动到星号的位置,按空格将星号去掉,完成后OK+回车,再Yes+回车,如图:
在终端命令中输入:
[root@master trzy]$ gedit /etc/hosts
在打开的文件在输入我们的三台主机IP+主机名(格式:192.168.220.154 master),一台虚拟机一行(slave1与slave2我们先设置为192.168.220.155 slave1与192.168.220.156 slave2,之后我们克隆了slave1与slave2后使用 setup 命令配置网络环境,设置slave们的主机IP)。如图:
我们要将在 /home/trzy 下的jdk-8u221-linux-x64.tar(1).gz文件移动到 /usr/java 下(如果普通用户解压失败,可以使用root用户解压)
[trzy@master ~]$ mkdir /usr/java # 在/usr文件夹下创建java文件夹
[trzy@master ~]$ mv /home/trzy/jdk-8u221-linux-x64.tar(1).gz /usr/java # 文件移动
[trzy@master ~]$ cd /usr/java # 进入/usr/java文件夹下
[trzy@master java]$ tar -zxvf ./jdk-8u221-linux-x64.tar(1).gz # 解压JDK文件
使用 gedit 配置环境变量
[trzy@master ~]$ gedit ./.bash_profile
将以下内容添加到到上面 gedit 打开的文件中:
export JAVA_HOME=/usr/java/jdk1.8.0_221/ # JDK存放的路径
export PATH=$JAVA_HOME/bin:$PATH
使用以下命令将使配置环境变量生效(如果不行改用root用户运行):
[trzy@master ~]$ source ./.bash_profile
检测JDK是否安装成功(如果有错误,请仔细查看上面步骤):
[trzy@master ~]$ java -vers