systemctl status firewalld.service #查看防火墙运行状态 systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service #禁止开机自启1.2 关闭selinux
vi /etc/selinux/config1.3 SSH免密登录
ssh-keygen -t rsa #四下回车键 ssh-copy-id ip1.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.8core-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的工作指定节点 stu2.2 MapReduce配置 mapred-env.sh
vim mapred-env.sh #指定MapReduce使用的jdk路径 export JAVA_HOME=/home/app/jdk1.8mapred-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.8yarn-site.xml
vim yarn-site.xml #指定ResourceMnager的master节点信息3. Hadoop格式化yarn.resourcemanager.hostname stu yarn.nodemanager.aux-services mapreduce_shuffle
hdfs namenode -format #出现下图所示内容,为格式化成功 #只能格式化一次4. 启动与关闭
#关闭虚拟机前,务必关闭服务进程,否则会进入安全模式 #启动完成后 jps命令查看进行 start-all.sh stop-all.sh5. WEB管理页面
ip:50070
框内的组件,可在页面上进行文件的上传,迁移工作
安装软件: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.jar1. MySQL安装 1.1 删除MariaDB
centos7自带的 MariaDB(MariaDB是MySQL的一个分支),与要安装的MySQL有冲突,需要删除。
# 查询是否安装了mariadb rpm -aq | grep mariadb # 删除mariadb。-e 删除指定的套件;--nodeps 不验证套件的相互关联性 rpm -e --nodeps mariadb-libs1.2 安装依赖
yum install net-tools perl -y1.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.rpm1.4 启动数据库
systemctl enable mysqld systemctl start mysqld1.5 查找root账户密码
grep password /var/log/mysqld.log1.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)中
-- 创建用户设置口令、授权、刷新 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/profile3.修改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 -initSchema6. 启动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/logsPART4. 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.12. 设置环境变量
vi /etc/profile export SPARK_HOME=/home/app/spark-2.4.1 export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin source /etc/profile3. 配置文件
文件位置:$SPARK_HOME/conf
slavesmv slaves.template slaves #重命名文件,使其生效 vim slaves # 写入worker节点的主机名
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Xwiq3Rv-1656744427579)(G:Noteimageimage-20220629144147900.png)]
spark-defaults.confmv 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)
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=70774. 启动与关闭
cd /home/app #默认webUI为8080 sbin/start-all.sh sbin/stop-all.sh5. 替换内置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中的数据库与表内容



