栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

二、大数据环境搭建

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

二、大数据环境搭建

PART1. 大数据环境准备 1.1 关闭防火墙
systemctl status firewalld.service  #查看防火墙运行状态
systemctl stop firewalld.service   #关闭防火墙
systemctl disable  firewalld.service  #禁止开机自启

1.2 关闭selinux
vi /etc/selinux/config

1.3 SSH免密登录
ssh-keygen -t rsa    #四下回车键
ssh-copy-id ip

1.4 JDK安装
rpm -qa | grep java #查看系统中是否有openjdk,有的话,则使用[rpm -e 文件名]命令进行删除

yum install lrzsz -y #安装终端与windows交互的插件
sudo rz  #上传命令

#创建用于安装软件的目录[app],用于存放安装包的目录[tools]
cd /home
mkdir app
mkdir tools

tar -zxvf ./jdk-8u171-linux-x64.tar.gz -C /home/app/
cd /home/app
mv jdk1.8.0_171/ jdk1.8  #重命名文件
vim /etc/profile  #修改环境变量
写入内容:
#JAVA_HOME
export JAVA_HOME=/home/app/jdk1.8
export PATH=:$JAVA_HOME/bin:$PATH

source /etc/profile #保存退出后生效
java- version  #查看安装版本

PART2. Hadoop环境搭建

安装软件:hadoop2.9.2

1. 解压安装包
tar -zxvf hadoop-2.9.2.tar.gz -C ../app/

vim /etc/profile    #修改环境变量
##HADOOP_HOME
export HADOOP_HOME=/home/app/hadoop-2.9.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

source /etc/profile

hadoop version  #查看环境是否生效

2. 配置文件修改 2.1 HDFS配置
cd /home/app/hadoop-2.9.2/etc/hadoop/   #进入到配置文件的路径
hadoop-env.sh
vim hadoop-env.sh 

#指定Java路径
export JAVA_HOME=/home/app/jdk1.8

core-site.xml
vim core-site.xml

#添加内容
#tmp文件需自行创建
        
                fs.defaultFS
                hdfs://stu:9000
        
        
                io.file.buffer.size
                131072
        
        
                hadoop.tmp.dir
                file:/home/app/hadoop-2.9.2/tmp
        
        
                hadoop.proxyuser.root.hosts
                *
        
        
                hadoop.proxyuser.root.groups
                *
        

hdfs-site.xml
vim hdfs-site.xml

#添加内容
#需要递归创建dfs/name  dfs/data
#dfs.replication为副本数量,一台机器为1,多台机器可增加
        
                dfs.namenode.secondary.http-address
                stu:9001
        
        
                dfs.namenode.name.dir
                file:/home/app/hadoop-2.9.2/dfs/name
        
        
                dfs.datanode.data.dir
                file:/home/app/hadoop-2.9.2/dfs/data 
        
        
                dfs.replication
                1
        
        
                dfs.webhdfs.enabled
                true
        
        
                dfs.permissions
                false
        
        
                dfs.web.ugi
                supergroup
        

slaves
vim slaves

#添加内容
#本文件为datanode与nodemanger的工作指定节点
stu
2.2 MapReduce配置 mapred-env.sh
vim mapred-env.sh

#指定MapReduce使用的jdk路径
export JAVA_HOME=/home/app/jdk1.8
mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml

#添加内容
#指定Yarn资源调度框架
       
                mapreduce.framework.name
                yarn
        
        
                mapreduce.jobhistory.address
                stu:10020
        
        
                mapreduce.jobhistory.webapp.address
                stu:19888
        

2.3 Yarn资源框架配置 yarn-env.sh
vim yarn-env.sh

#指定Yarn使用的jdk路径
export JAVA_HOME=/home/app/jdk1.8
yarn-site.xml
vim yarn-site.xml

#指定ResourceMnager的master节点信息

	yarn.resourcemanager.hostname
	stu


	yarn.nodemanager.aux-services
	mapreduce_shuffle

3. Hadoop格式化
hdfs namenode -format
#出现下图所示内容,为格式化成功
#只能格式化一次

4. 启动与关闭
#关闭虚拟机前,务必关闭服务进程,否则会进入安全模式
#启动完成后 jps命令查看进行
start-all.sh
stop-all.sh

5. WEB管理页面
ip:50070

​ 框内的组件,可在页面上进行文件的上传,迁移工作

PART3. Hive部署

安装软件:Hive(2.3.7)+MySQL(5.7.26)

# hive安装包
apache-hive-2.3.7-bin.tar.gz
# MySQL安装包
mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
# MySQL的JDBC驱动程序
mysql-connector-java-5.1.46.jar

1. MySQL安装 1.1 删除MariaDB

​ centos7自带的 MariaDB(MariaDB是MySQL的一个分支),与要安装的MySQL有冲突,需要删除。

# 查询是否安装了mariadb
rpm -aq | grep mariadb

# 删除mariadb。-e 删除指定的套件;--nodeps 不验证套件的相互关联性
rpm -e --nodeps mariadb-libs
1.2 安装依赖
yum install net-tools  perl -y
1.3 安装MySQL
# 解压缩
tar xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

# 依次运行以下命令
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
1.4 启动数据库
systemctl enable mysqld
systemctl start mysqld
1.5 查找root账户密码
grep password /var/log/mysqld.log

1.6 修改root密码

​ 使用初始密码登录后,修改root密码

# 进入MySQL,使用前面查询到的口令
mysql -u root -p

# 设置口令强度;将root口令设置为12345678;刷新
set global validate_password_policy=0;
set password for 'root'@'localhost' =password('12345678');
flush privileges;

​ validate_password_policy 密码策略(默认是1),可配置的值有以下:
​ 0 or LOW 仅需需符合密码长度(由参数validate_password_length【默认为8】指定)
​ 1 or MEDIUM 满足LOW策略,同时还需满足至少有1个数字,小写字母,大写字母和特殊字符
​ 2 or STRONG 满足MEDIUM策略,同时密码不能存在字典文件(dictionaryfile)中

1.7 创建hive用户
-- 创建用户设置口令、授权、刷新
CREATE USER 'hive'@'%' IDENTIFIED BY '12345678';
GRANT ALL ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;
2. Hive安装 1. 解压
cd /home/tools
tar -zxvf apache-hive-2.3.7-bin.tar.gz -C ../app/

cd ../app
mv apache-hive-2.3.7-bin/ hive-2.3.7/
2. 修改环境变量
vim /etc/profile

# 在 /etc/profile 文件中增加环境变量
export HIVE_HOME=/home/app/hive-2.3.7
export PATH=$PATH:$HIVE_HOME/bin
# 执行并生效
source /etc/profile
3.修改Hive配置
cd /home/app/hive-2.3.7/conf
vim hive-site.xml

写入以下内容:





	
		javax.jdo.option.ConnectionURL
		jdbc:mysql://stu:3306/hivemetadata?createDatabaseIfNotExist=true&useSSL=false
	
	
	
		javax.jdo.option.ConnectionDriverName
		com.mysql.jdbc.Driver
	
	
	
		javax.jdo.option.ConnectionUserName
		hive	
	

	
		javax.jdo.option.ConnectionPassword
		12345678
	


	
		hive.metastore.warehouse.dir
		/user/hive/warehouse
	


	
		hive.cli.print.current.db
		true	
	
	
	
	
		hive.cli.print.header
		true
	

	
		hive.metastore.client.socket.timeout
		3600
	
	

	
		hive.exec.mode.local.auto
		true
	
	

注:

​ 注意jdbc的连接串,如果没有 useSSL=false 会有大量警告

​ 在xml文件中 & 表示 &

4. 拷贝JDBC驱动

将 mysql-connector-java-5.1.46.jar 拷贝到 $HIVE_HOME/lib

cp mysql-connector-java-5.1.46.jar ../app/hive-2.3.7/lib/
5. 初始化数据库
schematool -dbType mysql -initSchema

6. 启动Hive
# 启动hive服务之前,请先启动hdfs、yarn的服务
# set hive.exec.mode.local.auto=true;  开启本地运算模式,节约计算资源
hive

hive> show databases;

7. 日志文件修改

​ Hive的log默认存放在 /tmp/root 目录下(root为当前用户名);这个位置可以修改

#进入到Hive配置文件目录下
#重命名生效配置文件
mv hive-log4j2.properties.template hive-log4j2.properties

#logs文件需要自行创建
property.hive.log.dir = /home/app/hive-2.3.7/logs

PART4. Spark部署

Spark2.4.1 https://archive.apache.org/dist/spark/

1. 解压安装包
cd /home/tools
tar -zxvf spark-2.4.1-bin-hadoop2.7.tgz -C ../app/
mv spark-2.4.1-bin-hadoop2.7/ spark-2.4.1
2. 设置环境变量
vi /etc/profile

export SPARK_HOME=/home/app/spark-2.4.1
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

source /etc/profile
3. 配置文件

文件位置:$SPARK_HOME/conf

slaves
mv slaves.template slaves  #重命名文件,使其生效

vim slaves  
# 写入worker节点的主机名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Xwiq3Rv-1656744427579)(G:Noteimageimage-20220629144147900.png)]

spark-defaults.conf
mv spark-defaults.conf.template spark-defaults.conf
vim spark-defaults.conf

#写入内容
#创建 HDFS 目录:/spark-log
spark.master	spark://stu:7077
spark.eventLog.enabled	true
spark.eventLog.dir	hdfs://stu:9000/spark-log
spark.serializer	org.apache.spark.serializer.KryoSerializer
spark.driver.memory	4g

备注:
spark.master 定义master节点,缺省端口号 7077
spark.eventLog.enabled 开启eventLog
spark.eventLog.dir eventLog的存放位置
spark.serializer 一个高效的序列化器
spark.driver.memory 定义driver内存的大小(缺省1G)

spark-env.sh
mv spark-env.sh.template spark-env.sh

vim spark-env.sh
#写入内容
export JAVA_HOME=/home/app/jdk1.8
export HADOOP_HOME=/home/app/hadoop-2.9.2
export HADOOP_CONF_DIR=/home/app/hadoop-2.9.2/etc/hadoop
export SPARK_DIST_CLASSPATH=$(/home/app/hadoop-2.9.2/bin/hadoop classpath)
export SPARK_MASTER_HOST=stu
export SPARK_MASTER_PORT=7077
4. 启动与关闭
cd /home/app
#默认webUI为8080
sbin/start-all.sh
sbin/stop-all.sh
5. 替换内置SQL模块【可选】

​ Spark 内嵌的 Hive,在实际使用中, 几乎没有任何人会使用。所以,我们指定使用外置的Hive。

#Spark 要接管 Hive 需要把 hive-site.xml copy 到conf/目录下
cp /home/app/hive-2.3.7/conf/hive-site.xml /home/app/spark-2.4.1/conf/

#Mysql 的驱动 copy 到 jars/目录下
cp /home/tools/mysql-connector-java-5.1.46.jar /home/app/spark-2.4.1/jars/

#把core-site.xml和hdfs-site.xml 拷贝到conf/目录下
cp /home/app/hadoop-2.9.2/etc/hadoop/hdfs-site.xml /home/app/spark-2.4.1/conf/
cp /home/app/hadoop-2.9.2/etc/hadoop/core-site.xml /home/app/spark-2.4.1/conf/

cd /home/app/spark-2.4.1
bin/spark-shell
spark.sql("show databases").show
#能查询到Hive中的数据库与表内容

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004169.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号