从搭建集群到统计数据一条龙服务。
一共三台虚拟机,请使用内存大于等于8G的主机。
目录
一、资源下载
二、创建虚拟机
三、安装centos7
四、安装hadoop
1、首先将安装包放入我们安装好的centos虚拟机中。
2、将其解压至/opt/soft目录下
3、在soft里面新建文件夹jdk用来存放jdk解压后的包:
4、把虚拟机master复制两台出来
5、配置ip地址,并让三台机器互相登录
6、编写配置文件
7、第一次启动hadoop
五、安装hive
1、解压hive
2、设置环境变量
3、安装mysql
4、hive配置
5、第一次启动hive
安装完成。
为了方便大家,所以提供各种安装包,节省查找时间
1、虚拟机vmware16。下载地址:阿里云盘:
「VMware-workstation-full-16.2.1-18811642.exe」https://www.aliyundrive.com/s/DKewRAUoVeg 提取码: tm08 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看。
2、centos7。下载地址:种子链接:
magnet:?xt=urn:btih:A8896BD19E95DBFF5846423ACD28EDEEEC0CA075
3、Hadoop安装包。下载地址:阿里云盘:
Apache Downloads
4、hive安装包。下载地址:阿里云盘:
Index of /dist/hive/hive-3.1.2 (apache.org)
我用的是3.1.2版本
先这几个吧,等后面需要再提供其他的软件下载地址。
最后一步点完成就行。
转载链接:
CentOS 7教程(一)-初步入门及安装 - 知乎 (zhihu.com)
记得选GNOME安装!
完全分布式安装。
我们搭建集群一共包含三台机器,分别命名为master、slave1、slave2。
准备安装包:Hadoop-3.1.2和jdk1.8.0_251
tar -zxvf hadoop-3.2.2.tar.gz -C /opt/soft/hadoop
解压完成之后像下图:
配置hadoop的环境变量:
vi /etc/profile
在最后一行插入:
# HADOOP_HOME
export HADOOP_HOME=/opt/soft/hadoop/hadoop-3.2.2
export HADOOP_CONF_FILE=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
解压jdk:
tar -zxvf jdk-8u251-linux-x64.tar.gz -C /opt/soft/jdk
配置环境变量:
vi /etc/profile
在最后一行插入:
#java environment
export JAVA_HOME=/opt/soft/jdk/jdk1.8.0_251
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
更新环境变量:
source /etc/profile
查看是否成功:
java -version
点击克隆。出现三台机器。
ifconfig
记录下三台主机的IP地址。
master:192.168.47.130
slave1:192.168.47.133
salve2:192.168.47.134
写入host文件:(三台机器都要写)
vi /etc/hosts
检查一下hostname是否与虚拟机一致,如果不一致请用以下命令更改:
三台机器都要与ip地址匹配,这里只给出了master的修改命令。
hostnamectl set-hostname master
关闭防火墙(不关闭可能ping不通):
// 临时关闭防火墙
systemctl stop firewalld
// 禁止开机启动防火墙
systemctl disable firewalld
尝试ping一下slave1和slave2:
有回复,可以建立连接。
ssh免密登录:
ssh-keygen -t rsa
ssh-keygen -t rsa
一直敲回车,直到出现:
然后上传到slave1和slave2中:
ssh-copy-id root@salve1
ssh-copy-id root@salve2
以上步骤在不同机器上都执行一次。
配置成功后,我们可以用:
ssh slave1
直接登录到slave1机器上。
以下配置文件都在/opt/soft/hadoop/hadoop-3.2.2/etc/hadoop/下
cd /opt/soft/hadoop/hadoop-3.2.2/etc/hadoop
vim core-site.xml
fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
/opt/soft/hadoop/hadoop_data/tmp
vim hdfs-site.xml
dfs.namenode.name.dir
/opt/soft/hadoop/hadoop_data/namenode
dfs.datanode.data.dir
/opt/soft/hadoop/hadoop_data/datanode
dfs.replication
3
dfs.permissions.enabled
false
dfs.namenode.http.address
master:50070
vim yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.address
master:8032
yarn.resourcemanager.scheduler.address
master:8030
yarn.resourcemanager.resource-tracker.address
master:8031
vim mapred-site.xml
mapreduce.framework.name
yarn
vim hadoop-env.sh
export JAVA_HOME=/opt/soft/jdk/jdk1.8.0_251
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/lib/*:classpath
把配置文件分发至其它节点:
scp hdfs-site.xml root@slave1:$HADOOP_HOME/etc/hadoop/
五个文件都要分发至两台机器上,上条命令仅分发一次。或者把整个目录下的文件都拷贝过去,仅需两次操作。
第一次启动集群要格式化,往后在启动集群就不用了。
hdfs namenode -format
启动命令
start-hdfs.sh
或者:
start-all.sh
输入jps查看进程:
启动成功!
把hive安装包放入opt目录下
cd /opt
tar -zxvf apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin hive
vi /etc/profile
在最后一行插入,保存并退出。
#hive
export HIVE_HOME=/opt/hive
export PATH=$HIVE_HOME/bin:$PATH
source /etc/profile
这里贴一个其他博主写的安装过程。
CentOS7 安装MYSQL的教程_A4n9g7e2l的博客-CSDN博客_centos7安装mysql教程https://blog.csdn.net/Angelxiqi/article/details/119155252mysql安装完成后还要进行安装驱动:
驱动包下载地址:这里还是贴一个下载地址:
Maven Repository: mysql » mysql-connector-java » 5.1.48 (mvnrepository.com)
点击箭头处即可下载。下载好了之后解压,并执行以下命令:
tar -zxvf mysql-connector-java-5.1.48.tar.gz
cd mysql-connector-java-5.1.48
cp mysql-connector-java-5.1.48-bin.jar /opt/hive/lib/
使用root用户登录mysql:
mysql -uroot -p
create database hiveDB;
创建用户bee
,密码为123123
create user 'bee'@'%' identified by '123123';
授权用户bee
拥有数据库实例hiveDB
的所有权限;
grant all privileges on hiveDB.* to 'bee'@'%' identified by '123123';
刷新
flush privileges;
在$HIVE_HOME/conf目录下:
vim hive-site.xml
编辑如下内容:
hive.metastore.warehouse.dir
/opt/hive/warehouse
hive.exec.scratchdir
/opt/hive/tmp
hive.querylog.location
/opt/hive/logs
hive.server2.thrift.port
10000
hive.server2.thrift.bind.host
localhost
hive.server2.enable.doAs
true
hive.session.id
false
hive.session.silent
false
javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hiveDB?createDatabaseIfNotExist=true&useSSL=false
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
bee
javax.jdo.option.ConnectionPassword
123123
vim hive-env.sh
插入:
HADOOP_HOME=/opt/soft/hadoop/hadoop-3.2.2
配置完成。
schematool -dbType mysql -initSchema