大数据组件配置、部署(更新中) |
您所在的位置:网站首页 › hadoop生态圈有哪些重要组件 › 大数据组件配置、部署(更新中) |
大数据组件配置(更新中)
1. 前置准备1.1下载1.2 安装1.3 配置1.3.1 VMware网段设置1.3.2 liunx设置
1.4配置SSH连接
2.Hadoop集群部署2.1 master节点部署2.1.1 jdk和hadoop下载2.1.2 jdk和hadoop安装2.1.3hadoop配置
2.2 集群部署2.2.3 节点克隆2.2.3 修改node节点IP2.2.3 修改主机名2.2.3 配置SSH免密登录、创建hadoop用户2.2.5 关闭防火墙和SELinnx2.2.6 时间同步
2.3 启动hadoop集群并查看状态2.3.0 初始化集群2.3.1 启动集群2.3.2 查看节点
2.4 idea直连liunx文件2.5 图形化界面查看HDFS文件系统2.5.0 前置准备-window下安装hadoop2.5.1 idea查看HDFS文件系统2.5.1 注意事项
3.Hive安装和部署3.1MySQL安装3.2 配置Hadoop3.3Hive安装和启动3.3.1 Hive下载3.3.2. 配置hive3.3.3 hive初始化3.3.4 启动hive
4.Spark安装和部署4.1Anaconda3安装和启动4.1.1Anaconda3下载与安装4.1.2 配置和启动
4.2 Spark-Local模式4.2.1 Spark下载与安装4.2.1 Spark-Local模式启动
4.3 Spark-Standalone集群4.3.1 node节点安装Anaconda4.3.2 master节点配置Spark4.3.4 master节点分发spark4.3.5 StandAlone集群启动4.3.6 连接到StandAlone集群4.3.7 查看节点
4.4 Spark StandAlone HA 环境搭建4.5 Spark on Yarn 环境搭建4.6 PySpark类库安装
1. 前置准备
1.1下载
VMware下载
https://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/15_0 liunx(centos)下载https://www.centos.org/download/ finalshell下载http://www.hostbuf.com/t/988.html 1.2 安装 VMware和finalshell正常安装即可打开VMware新建虚拟机文件->新建虚拟机 依次点击下一步,到下图步骤选择稍后安装操作系统 选择linux,版本centos7 64位 选择虚拟机磁盘的存放位置和名字 后续依次下一步确定即可(可自行设置虚拟机的硬件配置) 点击完成后,左侧‘我的计算机’显示刚安装的虚拟机 编辑虚拟机设置依次点击 编辑虚拟机设置->CD/DVD->使用ISO镜像->浏览,选择下载的centos7的iso文件后点击确定 ![]() ![]() ![]() ![]() ![]() 修改为如下 ( BOOTPROTO由dhcp改为static ONBOOT由no改为yes 新增: IPADDR=“192.168.11.131” NETMASK=“255.255.255.0” GATEWAY=“192.168.11.2” DNS1=“192.168.11.2” ) (进入文件后按i输入,esc退出输入,:q不保存退出,:wq保存并退出) TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=845fb44f-f628-4bc2-a6da-b096197cf088 DEVICE=ens33 ONBOOT=yes IPADDR="192.168.11.131" NETMASK="255.255.255.0" GATEWAY="192.168.11.2" DNS1="192.168.11.2" 重启 reboot 1.4配置SSH连接 打开FinalShell点击左上角的连接管理器![]() ![]() ![]() 部署单节点hadoop环境的只需部署此节点 2.1.1 jdk和hadoop下载 jdk8下载https://www.oracle.com/cn/java/technologies/downloads/ hadoop3.3.4下载 官网https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz 清华镜像 https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.4 2.1.2 jdk和hadoop安装 将jdk安装包通过FinalShell上传至/app/jdk解压 tar -zxvf jdk-8u161-linux-x64.tar.gz 将hadoop安装包通过FinalShell上传至/app/hadoop解压 tar -zxvf hadoop-3.3.4.tar.gz 配置环境变量 vim /etc/profile追加如下配置 #java环境 export JAVA_HOME=/app/jdk/jdk1.8.0_161 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #hadoop环境 export HADOOP_HOME=/app/hadoop/hadoop-3.3.4 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export CLASSPATH=.:$HADOOP_HOME/lib/* 应用设置 source /etc/profile7.验证 jdk验证 java -versionhadoop验证 hadoop version 2.1.3hadoop配置 添加主机映射liunx下 vim /etc/host增加如下字段 192.168.11.131 master 192.168.11.132 node1 192.168.11.133 node2window下 打开C:\Windows\System32\drivers\etc目录,选择记事本打开hosts文件 增加如下字段 192.168.11.131 master 192.168.11.132 node1 192.168.11.133 node2 修改core-site.xml文件 vim /app/hadoop/hadoop-3.3.4/etc/hadoop/core-site.xml增加如下字段 fs.defaultFS hdfs://master:8020 io.file.buffer.size 131072 hadoop.proxyuser.hadoop.hosts * hadoop.proxyuser.hadoop.groups * 修改hadoop-env.sh文件 vim /app/hadoop/hadoop-3.3.4/etc/hadoop/hadoop-env.sh增加如下字段 export JAVA_HOME=/app/jdk/jdk1.8.0_161 export HADOOP_HOME=/app/hadoop/hadoop-3.3.4 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HADOOP_LOG_DIR=$HADOOP_HOME/logs 修改hdfs-site.xml文件 vim /app/hadoop/hadoop-3.3.4/etc/hadoop/hdfs-site.xml增加如下字段 dfs.replication 3 dfs.datanode.data.dir.perm 700 dfs.namenode.name.dir /data/nn dfs.namenode.hosts master,node1,node2 dfs.blocksize 268435456 dfs.namenode.handler.count 100 dfs.namenode.checkpoint.dir /data/sn dfs.datanode.data.dir /data/dn 修改mapred-env.sh文件 vim /app/hadoop/hadoop-3.3.4/etc/hadoop/mapred-env.sh增加如下字段 export JAVA_HOME=/app/jdk/jdk1.8.0_161 export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000 export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA 修改mapred-site.xml文件 vim /app/hadoop/hadoop-3.3.4/etc/hadoop/mapred-site.xml增加如下字段 mapreduce.framework.name yarn MapReduce的运行框架设置为YARN mapreduce.jobhistory.address master:10020 历史服务器通讯端口为master:10020 mapreduce.jobhistory.webapp.address master:19888 历史服务 器web端口为master的 19888 mapreduce.jobhistory.intermediate-done-dir /data/mrhistory/tmp 历史信息在HDFS的记录临时路径 mapreduce.jobhistory.done-dir /data/mr-history/done 历史信息在HDFS的记录路径 yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=$HADOOP_HOME MapReduce HOME 设置为HADOOP HOME mapreduce.map.env HADOOP_MAPRED_HOME=$HADOOP_HOME MapReduce HOME 设置为HADOOP_HOME mapreduce.reduce.env HADOOP_MAPRED_HOME=$HADOOP_HOME MapReduce HOME 设置为HADOOP_HOME 修改yarn-env.sh文件 vim /app/hadoop/hadoop-3.3.4/etc/hadoop/yarn-env.sh增加如下字段 export JAVA_HOME=/app/jdk/jdk1.8.0_161 export HADOOP_HOME=/app/hadoop/hadoop-3.3.4 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HADOOP_LOG_DIR=$HADOOP_HOME/logs 修改yarn-site.xml文件 vim /app/hadoop/hadoop-3.3.4/etc/hadoop/yarn-site.xml增加如下字段 yarn.resourcemanager.hostname master ResourceManager设置在master节点 yarn.nodemanager.local-dirs /data/nm-local NodeManager中间数据本地存储路径 yarn.nodemanager.log-dirs /data/nm-log NodeManager数据日志本地存储路径 yarn.nodemanager.aux-services mapreduce_shuffle 为MapReduce程席开启Shuffle服务 yarn.log.server.url http://master:19888/jobhistory/logs 历史服务器URL yarn.web-proxy.address master:8089 代理服务器主机和端口 yarn.log-aggregation-enable true 开启日志聚合 yarn.nodemanager.remote-app-log-dir /tmp/logs 程序日志HDFS的存储路径 yarn.resourcemanager.scheduler.class org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler 选择公平调度器 修改workers文件 vim /app/hadoop/hadoop-3.3.4/etc/hadoop/workers增加如下字段(不搭集群环境可不写node1、node2) master node1 node2 2.2 集群部署 2.2.3 节点克隆 master节点关机克隆master节点主机 选中master节点主机,右键->管理->克隆,依次点击下一步,在克隆方法这一步,务必选择创建完整克隆![]() 将IPADDR=“192.168.11.131”的IP作修改,node1改为192.168.11.132,node2改为192.168.11.133 重启网卡 node1、node2 systemctl restart network 此时可以FinalShell连接上三台主机 2.2.3 修改主机名 修改主机名 master、node1、node2 分别执行 hostnamectl set-hostname master hostnamectl set-hostname node1 hostnamectl set-hostname node1 2.2.3 配置SSH免密登录、创建hadoop用户 配置root用户的SSH免密登录1)master、node1、node2 都执行 ssh-keygen -t rsa -b 4096然后一路回车 2)master、node1、node2 都执行 ssh-copy-id master ssh-copy-id node1 ssh-copy-id node23)执行完毕后,实现 master、node1、node2 之间root用户的免密登录 创建hadoop用户(后续大数据相关的操作均通过hadoop用户提交) 1)master、node1、node2 都执行 创建账户 useradd hadoop设置密码 passwd hadoop切换到hadoop用户 su - hadoop 配置hadoop用户SSH免密登录,同上面root用户配置 2.2.5 关闭防火墙和SELinnx(记得切换root用户) 关闭防火墙和开机自启 master、node1、node2 都执行 systemctl stop fiewalld systemctl disable fiewalld 关闭SELinnx master、node1、node2 都执行 vim /etc/sysconfig/seliunx 将第七行,*SELIUNX=enforcing*改为*SELIUNX=disabled* 2.2.6 时间同步(记得切换root用户) 安装ntp软件 master、node1、node2 都执行 yum install ntpdate -y 同步window当前时间 master、node1、node2 都执行 ntpdate time.windows.com 重启三台机器 master、node1、node2 都执行 reboot 2.3 启动hadoop集群并查看状态(记得切换hadoop用户) 2.3.0 初始化集群 hadoop namenode -format 2.3.1 启动集群 启动HDFS start-dfs.sh 启动YARN start-yarn.sh 历史服务器 mapred --daemon start historyserver 2.3.2 查看节点 查看当前的java进程 jpsmaster:9870 查看yarnmaster:8088 查看hadoop历史服务器master:19888 2.4 idea直连liunx文件链接:idea直连liunx文件 2.5 图形化界面查看HDFS文件系统(务必已启动hadoop集群) 此处以idea为例,datagrip和pycharm同理 2.5.0 前置准备-window下安装hadoop 由于内部通讯节点8020只能hadoop内部使用,外部无法访问。但是我们可以通过在window安装hadoop,来实现内部端口对window本机开放。将liunx下的hadoop安装包解压至指定位置这里以D:\hadoop为例 设置环境变量 将安装包下的bin包路径D:\hadoop\hadoop-3.3.4设为HADOOP_HOME![]() 此电脑右键->属性->高级系统设置->环境变量 在系统环境变量新增下列字段 文件->设置->插件 插件市场搜索big data tools,安装此插件 安装完成后,打开右侧边栏的标签,点击+号,选择HDFS 切换type为 Explicit uri,输入URI为:master:8020,用户名为hadoop,然后测试连接。 (若连接失败,请检查自己hadoop集群是否启动) 此时HDFS已经有文件显示了 (若一直转圈,可能是你HDFS文件系统下没有文件(夹)) 请勿直接用big data tools删除hdfs的文件,否则会进入hdfs安全模式,hdfs变为只读,退出安全模式命令: hadoop dfsadmin -safemode leave 3.Hive安装和部署 3.1MySQL安装在master节点使用yum在线安装MySQL5.7版本 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 安装MySQL yum库 rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm yum 安装MySQL yum -y install mysql-community-server 启动MySQL systemctl start mysqld 设置开机启动 systemctl enable mysqld 检查MySQL状态 systemctl status mysqld 第一次启动会生成随机密码,查看密码 cat /var/log/mysqld.log | grep 'temporary password' 登录MySQL mysql -uroot -p 输入复制的随机密码 降低密码等级 set global validate_password_policy=LOW; 修改密码最低位数 set global validate_password_length=4; 修改本机登录密码 ALTER USER 'root'@'localhost' identified by '123456'; 修改远程登录密码 grant all privileges on *.* to root@"%" identified by '123456' with grant option; 刷新权限 flush privileges; 创建数据库hive CREATE DATABASE hive CHARSET UTF8; 退出数据库Ctrl+D 3.2 配置Hadoop Hive的运行依赖于Hadoop,配置Hadoop的代理用户 vim /app/hadoop/hadoop-3.3.4/etc/hadoop/core-site.xml新增如下字段 hadoop.proxyuser.hadoop.hosts * hadoop.proxyuser.hadoop.groups * 3.3Hive安装和启动 3.3.1 Hive下载 下载Hive安装包 https://archive.apache.org/dist/hive/hive-3.1.2/上传至/app/hive,并解压直接下载好的文件通过finalShell上传至目标位置 cd /app/hive tar -zxvf apache-hive-3.1.2-bin.tar.gz 下载MySQL驱动包 https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java- 5.1.34.jar将下载好的驱动包放入hive安装文件夹的lib目录内直接下载好的jar文件通过finalShell上传至目标位置 3.3.2. 配置hive 设置hive-env.sh vim /app/hive/apache-hive-3.1.2-bin/conf/hive-env.sh新增如下字段 export HADOOP_HOME=/app/hadoop/hadoop-3.3.4 export HIVE_HOME=/app/hive/apache-hive-3.1.2-bin export HIVE_CONF_DIR=$HIVE_HOME/conf export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib 配置hive-site.xml vim /app/hive/apache-hive-3.1.2-bin/conf/hive-site.xml新增如下字段 javax.jdo.option.ConnectionURL jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true;useSSL=false;useUnicode=true;characterEncoding=UTF-8 javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456 hive.server2.thrift.bing.host master hive.metastore.uris thrift://master:9083 hive.metastore.event.db.notification.api.auth false 配置环境变量 vim /etc/profile新增如下 #hive环境变量 export HIVE_HOME=/app/hive/apache-hive-3.1.2-bin export PATH=$PATH:$HIVE_HOME/bin 应用环境变量配置 source /etc/profile 3.3.3 hive初始化 初始化元数据库 cd /app/hive/apache-hive-3.1.2-bin/bin ./schematool -dbType mysql -initSchema -verbos 创建日志文件夹 mkdir /app/hive/apache-hive-3.1.2-bin/logs 将hive权限赋予hadoop用户 chown -R hadoop:hadoop /app/hive 3.3.4 启动hive 切换为hadoop用户,进入目录 su - hadoop记得先启动hadoop 启动元数据前台启动 hive --service metastore后台启动 nohup hive --service metastore >> /app/hive/apache-hive-3.1.2-bin/logs/metastore.log 2>&1 & 启动客户端,二选一 Hive Shell方式(可以直接写SQL) hiveHive ThriftServer方式(不可以直接写SQL,需要外部客户端连接使用) hive --service hiveserver2 4.Spark安装和部署 4.1Anaconda3安装和启动 4.1.1Anaconda3下载与安装 下载使用Anaconda3清华镜像 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.05-Linux-x86_64.sh 运行安装包 sh /app/anaconda/Anaconda3-2021.05-Linux-x86_64.sh根据提示按enter、yes和空格 安装目录选/app/anaconda/Anaconda3-2021.05 安装完成后重新连接shell,显示如下,即为成功(base) [root@master ~]# 4.1.2 配置和启动 配置国内镜像(清华镜像) vim ~/.condarc输入如下 channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud 创建pyspark虚拟环境,输入如下 conda create -n pyspark python=3.8根据提示确认即可 切换为pyspark虚拟环境 conda activate pyspark 4.2 Spark-Local模式 4.2.1 Spark下载与安装 下载地址https://dlcdn.apache.org/spark/spark-3.4.0/spark-3.4.0-bin-hadoop3.tgz 上传至liunx的/app/spark,解压 tar -zxvf spark-3.4.0-bin-hadoop3.tgz 配置环境变量 vim /etc/profile新增如下字段 #spark环境变量 export SPARK_HOME=/app/spark/spark-3.4.0-bin-hadoop3 export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin export SPARK_CONF_DIR=$SPARK_HOME/conf export PYSPARK_PYTHON=/app/anaconda/Anaconda3-2021.05/envs/pyspark/bin/python3.8 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 配置环境变量 vim /root/.bashrc新增如下字段 export JAVA_HOME=/app/jdk/jdk1.8.0_161 export PYSPARK_PYTHON=/app/anaconda/Anaconda3-2021.05/envs/pyspark/bin/python3.8 应用配置 source /etc/profile 4.2.1 Spark-Local模式启动 启动pyspark pyspark修改文件 vim workers删除localhost 输入如下 master node1 node2 配置spark-env.sh文件 修改文件后缀 mv spark-env.sh.template spark-env.sh修改文件 vim spark-env.sh追加如下内容 ## 设置JAVA安装目录 JAVA_HOME=/app/jdk/jdk1.8.0_161 ## HADOOP软件配置文件目录,读取HDFS上文件和运行YARN集群 HADOOP_CONF_DIR=/app/hadoop/hadoop-3.3.4/etc/hadoop YARN_CONF_DIR=/app/hadoop/hadoop-3.3.4/etc/hadoop ## 指定spark老大Master的IP和提交任务的通信端口 # 告知Spark的master运行在哪个机器上 export SPARK_MASTER_HOST=master # 告知sparkmaster的通讯端口 export SPARK_MASTER_PORT=7077 # 告知spark master的 webui端口 SPARK_MASTER_WEBUI_PORT=8080 # worker cpu可用核数 SPARK_WORKER_CORES=1 # worker可用内存 SPARK_WORKER_MEMORY=1g # worker的工作通讯地址 SPARK_WORKER_PORT=7078 # worker的 webui地址 SPARK_WORKER_WEBUI_PORT=8081 ## 设置历史服务器 # 配置的意思是 将spark程序运行的历史日志 存到hdfs的/sparklog文件夹中 SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://master:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true" 在HDFS上创建程序运行历史记录存放的文件夹 hdfs dfs -mkdir /sparklog hdfs dfs -chmod 777 /sparklog 配置spark-defaults.conf文件 修改文件后缀 mv spark-defaults.conf.template spark-defaults.conf修改文件 vim spark-defaults.conf追加如下内容 # 开启spark的日期记录功能 spark.eventLog.enabled true # 设置spark日志记录的路径 spark.eventLog.dir hdfs://master:8020/sparklog/ # 设置spark日志是否启动压缩 spark.eventLog.compress true 配置log4j.properties文件 可选,更改级别为WARN 只输出警告和错误日志 修改文件后缀 mv log4j2.properties.template log4j2.properties修改文件 vim log4j2.properties将rootLogger.level = info改为rootLogger.level = warn 4.3.4 master节点分发sparkmaster执行(权限不够的话,切换root用户) scp -r /app/spark node1:/app/spark scp -r /app/spark node2:/app/spark 4.3.5 StandAlone集群启动 启动历史服务器 start-history-server.sh 启动master进程 start-master.sh 启动workers进程 start-workers.sh 【可选】 start-all.sh可直接启动master进程和workers进程,但spark的start-all.sh和hadoop的start-all.sh都存在,会冲突,可重命名该文件 cd /app/spark/spark-3.4.0-bin-hadoop3/sbin mv start-all.sh start-all-spark.sh mv stop-all.sh stop-all-spark.sh随后使用start-all-spark.sh、stop-all-spark.sh实现master进程和workers进程的一键启停 4.3.6 连接到StandAlone集群 pyspark以StandAlone集群模式启动 pyspark --master spark://master:7077 4.3.7 查看节点 查看spark的历史服务器master:18080 查看master和workermaster:8080 查看driver (若占用,端口往后顺延,运行结束释放端口)master:4040 4.4 Spark StandAlone HA 环境搭建 开启Zookeeper和hdfs集群停止当前StandAlone集群修改spark-env.sh 注释掉下面 SPARK_MASTER_HOST=master新增如下 SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master:2181,node1:2181,node2:2181 -Dspark.deploy.zookeeper.dir=/spark-ha" 分发配置到node1、node2重新启动Spark StandAlone集群在某个node节点上再启动一台master进程 4.5 Spark on Yarn 环境搭建 开启hdfs和yarn集群停止当前StandAlone集群开启Spark on Yarn pyspark --master yarn默认部署模式是 客户端模式 显示master = yarn即为成功 注意: 交互式环境 pyspark 和 spark-shell 无法运行 cluster模式 4.6 PySpark类库安装 切换root切换pyspark虚拟环境 conda activate pyspark 安装PySpark类库 master、node1、node2执行 pip install pyspark -i https://pypi.tuna.tsinghua.edu.cn/simple |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |