广汉市建设局官方网站,个人衣服定制店铺,网站建设信息公开和解读回应,wordpress只作为前端大数据实验环境搭建 一、实验简介1.1 实验内容1.2 环境及其资源规划 二、实验目的三、实验过程3.1 安装虚拟机软件及操作系统3.2 创建安装目录#xff08;在主节点上操作#xff09;3.2 安装JDK及基本设置#xff08;所有节点都需要操作#xff09;3.3 安装Hadoop3.4 安装Z… 大数据实验环境搭建 一、实验简介1.1 实验内容1.2 环境及其资源规划 二、实验目的三、实验过程3.1 安装虚拟机软件及操作系统3.2 创建安装目录在主节点上操作3.2 安装JDK及基本设置所有节点都需要操作3.3 安装Hadoop3.4 安装Zookeeper3.5 安装HBase3.6 安装Spark3.7 安装Hive3.8 安装Flume3.9 安装Sqoop 四、实验小结 一、实验简介
1.1 实验内容
本次实训是基于国产化操作系统openEuler上搭建大数据学习环境实验主要内容分为两部分
环境搭建具体包括 Hadoop的分布式环境Spark分布式环境Zookeeper分布式环境HBase分布式环境Flume单机环境Hive单机环境Sqoop单机环境 大数据组件的基本用法
1.2 环境及其资源规划 所需软件 说明Mware workstation 16doopasearkokeeperveumeoopK 拓扑图 三台虚拟机构建一个全分布式的环境拓扑图如下 主从节点上各自运行的进程分布规划 类型资源规划主要组件名称主要进程名称点至少4GB内存 2vCPUHadoop、Spark、HBase、Zookeeper、FlumeNameNode、SecondaryNameNode、DataNode、ResourceManager、NodeManager、HMatster、HRegionServer、QuorumPeerMain、Bootstrap、Master、Worker点至少2GB内存 1vCPUHadoop、Spark、HBase、ZookeeperDataNode、NodeManager、HRegionServer、Worker、QuorumPeerMain
二、实验目的
本次实验的目的是希望学生能够从零开始搭建一套用于学习的大数据环境包括Hadoop、HBase、Spark等分布式环境。
三、实验过程
3.1 安装虚拟机软件及操作系统
请自行参考如下资料进行操作确保虚拟机及操作系统正常安装
安装虚拟机VMware或者VirtualBox 可以参考我另外一篇博客 Linux基础之虚拟机的创建创建虚拟机和安装操作系统openEuler或者CentOS7 可以参考我另外一篇博客在VMware上虚拟机上安装CentOS-7操作系统 这里选择安装openEuler具体步骤如下 创建虚拟机 安装操作系统 然后确定。最后启动虚拟机进行操作系统的安装。 启动后选择如下选项选择好后回车 之后等待一小会儿就会出现如下界面保持默认点击continue按钮 然后进入下一个界面如下图所示其中红色框框起来的部分是需要进行修配置的 安装上图顺序先从序号为1的地方开始点击Installation Destination进入配置页面如下图所示只需要点击Done按钮即可 然后点击序号为2的部分进入配置页面如下图所示 然后点击序号为3的部分进入配置页面如下图所示 然后点击序号为4的部分进入配置页面如下图所示 上述4个地方都配置后就可以点击Begin Installation按钮了如下图所示 接下来就是比较漫长的等待过程了这个过程估计5-15分钟左右不等。 当安装结束后点击Reboot System按钮重启下系统: 系统如正常启动就会显示登录的交互式界面然后你输入root以及对应的密码即可正常进入到系统中了。 到此openEuler22.03版本的操作系统已经被正常的安装。 克隆出另外两台虚拟机 我们需要三台虚拟机另外两台虚拟机就可以利用VMWare Workstation软件的克隆功能以之前新建好的虚拟机作为克隆的对象即可。具体操作如下 先将新建好的虚拟机关机然后再进行克隆 重复上述操作然后再次克隆出s3虚拟机出来。修改新克隆出来的虚拟机s2和s3的内存大小和CPU核心数
将三台虚拟机按顺序启动设置静态IP地址 登录s1虚拟机中设置静态IP地址 进入网卡配置文件所在目录cd /etc/sysconfig/network-scripts/编辑网卡配置文件vim ifcfg-ens33按照如下图所示进行设置 为方便将上图所示内容进行复制后修改提供如下内容作为参考大家根据自己虚拟机实际IP地址进行修改即可BOOTPROTOstatic
IPADDR192.168.85.142
NETMASK255.255.255.0
GATEWAY192.168.85.2
DNS1192.168.85.2
DNS2114.114.114.114最后重启网卡 重启命令为ifdown ens33 # 停止ens33是网卡名称
ifup ens33 # 启动效果如下登录s2和s3按照上述相同的操作设置 将s2的IP地址设置成: 192.168.85.143将s3的IP地址设置成: 192.168.85.144
3.2 创建安装目录在主节点上操作 连接虚拟机使用MobaXterm工具连接到刚刚创建的好的虚拟机 输入密码当输入密码时界面上没有任何反应上正常的只要输入正确后按回车即可正常登录系统中了 后续实验涉及到利用该工具连接虚拟机可按照这个方法登录即可。 创建必要的目录在所有主机上的根目录/下创建tools和mysoft两个目录 mkdir /tools
mkdir /mysoft执行成功如下 上传安装包利用MobXtrem工具上传jdk、hadoop等安装包到/tools目录下 上传成功后会在这里看到 后续实验涉及到的其他的安装包按照这种方式自行上传即可。
3.2 安装JDK及基本设置所有节点都需要操作 设置虚拟机主机名 先登录s2虚拟机然后执行如下命令 # 设置s2的主机名称hostnamectl --static set-hostname s2exit再登录s3虚拟机然后执行如下命令 # 设置s3的主机名称hostnamectl --static set-hostname s3exitJDK的安装 分别登录s1、s2、s3三台虚拟机然后在各自的节点上执行如下操作这里我以s1节点为例子进行说明其他两个节点执行相同操作即可。进入tools目录然后执行下面的命令进行解压安装 cd /toolstar -zvxf jdk-8u171-linux-x64.tar.gz -C /mysoft/配置环境变量执行vim ~/.bash_profile在.bash_profile文件中添加如下信息export JAVA_HOME/mysoft/jdk1.8.0_171
export JRE_HOME$JAVA_HOME/jre
export CLASSPATH.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH$PATH:$JAVA_HOME/bin:$JRE_HOME/bin;让环境变量生效source ~/.bash_profile验证jdk是否安装成功java -version结果如下[roots1 tools]# java -version
java version 1.8.0_171
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
[roots1 tools]#其他s2和s3需要执行上述相同的操作。 虚拟机中配置主机名与ip地址的映射关系 所有主机都需要配置主机名映射关系编辑hosts文件执行vim /etc/hosts在文件末尾添加如下内容注意IP地址改成你自己环境的IP地址:192.168.85.142 s1
192.168.85.143 s2
192.168.85.144 s3效果如下 关闭防火墙 所有主机都需要关闭防火墙每台节点都需要执行命令 systemctl stop firewalld.service
systemctl disable firewalld.service效果如下所示 配置免密码登录 所有主机都需要生成密钥对并将公钥分发给其他节点每台节点都需要执行命令 生成密钥对 cd /root
ssh-keygen -t rsa # 执行命令后只需敲三次回车键效果如下 三台虚拟机上都需要执行如下命令在执行命令时需要先输入yes然后输入对于节点的密码 ssh-copy-id -i .ssh/id_rsa.pub roots1
ssh-copy-id -i .ssh/id_rsa.pub roots2
ssh-copy-id -i .ssh/id_rsa.pub roots3在s1虚拟机上执行的效果如下s2和s3上也需要执行相同的命令 当三台虚拟机都执行完成后可以验证一下是否可以从s1通过ssh协议登录到s2执行如下命令 ssh s2如能正常登录的话会如下图所示
3.3 安装Hadoop 以下操作只需在主节点s1上执行如下操作如有特殊说明的请注意按照要求进行执行。 上传hadoop-2.7.4.tar.gz到/tools目录下 执行下面的命令进行解压安装 tar -zvxf /tools/hadoop-2.7.4.tar.gz -C /mysoft/
mv /mysoft/hadoop-2.7.4 /mysoft/hadoop配置环境变量 vim ~/.bash_profile添加如下信息 export HADOOP_HOME/mysoft/hadoop
export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin让环境变量生效 source ~/.bash_profile验证是否生效 执行hdfs version 效果如下 [roots1 tools]# hdfs version
Hadoop 2.7.4
Subversion https://shvgit-wip-us.apache.org/repos/asf/hadoop.git -r cd915e1e8d9d0131462a0b7301586c175728a282
Compiled by kshvachk on 2017-08-01T00:29Z
Compiled with protoc 2.5.0
From source with checksum 50b0468318b4ce9bd24dc467b7ce1148
This command was run using /mysoft/hadoop/share/hadoop/common/hadoop-common-2.7.4.jar
[roots1 tools]# 新建tmp目录 进入到hadoop安装目录下执行 mkdir /mysoft/hadoop/tmp配置Hadoop配置文件 只需对五个配置文件进行配置即可 hadoop-env.shhdfs-site.xmlcore-site.xmlmapred-site.xmlyarn-site.xml配置文件所在目录 /mysoft/hadoop/etc/hadoop 配置 hadoop-env.sh文件 编辑该文件执行 vim /mysoft/hadoop/etc/hadoop/hadoop-env.sh找到JAVA_HOME所在地方将${JAVA_HOME}改成/mysoft/jdk1.8.0_171: export JAVA_HOME/mysoft/jdk1.8.0_171配置 hdfs-site.xml 编辑该文件执行 vim /mysoft/hadoop/etc/hadoop/hdfs-site.xml在configuration/configuration之间添加 propertynamedfs.replication/namevalue3/value/propertypropertynamedfs.permissions/namevaluefalse/value/property效果如下 配置 core-site.xml 编辑该文件执行 vim /mysoft/hadoop/etc/hadoop/hdfs-site.xml在configuration/configuration之间添加 propertynamefs.defaultFS/namevaluehdfs://s1:9000/value/property propertynamehadoop.tmp.dir/namevalue/mysoft/hadoop/tmp/value/property效果如下 配置 mapred-site.xml 编辑该文件执行 cp /mysoft/hadoop/etc/hadoop/mapred-site.xml.template /mysoft/hadoop/etc/hadoop/mapred-site.xml
vim /mysoft/hadoop/etc/hadoop/mapred-site.xml在configuration/configuration之间添加 propertynamemapreduce.framework.name/namevalueyarn/value
/property
!-- 历史服务器端地址 --
propertynamemapreduce.jobhistory.address/namevalues1:10020/value
/property
!-- 历史服务器 web 端地址 --
propertynamemapreduce.jobhistory.webapp.address/namevalues1:19888/value
/property配置 yarn-site.xml 编辑该文件执行 vim /mysoft/hadoop/etc/hadoop/yarn-site.xml在configuration/configuration之间添加 !-- Site specific YARN configuration properties --
propertynameyarn.resourcemanager.hostname/namevalues1/value
/property
propertynameyarn.nodemanager.aux-services/namevaluemapreduce_shuffle/value
/property
!-- 日志聚集功能使能 --
propertynameyarn.log-aggregation-enable/namevaluetrue/value
/property
!-- 日志保留时间设置7天 --
propertynameyarn.log-aggregation.retain-seconds/namevalue604800/value
/property
!--配置Log Server --
propertynameyarn.log.server.url/namevaluehttp://s1:19888/jobhistory/logs/value
/property修改slaves文件将原来的内容删除掉然后添加如下内容 编辑该文件执行 vim /mysoft/hadoop/etc/hadoop/slaves添加如下内容 s1
s2
s3格式化HDFS 执行命令 hdfs namenode -format如格式化成功在打印出来的日志可以看到如下信息 ……
Storage directory /mysoft/hadoop/tmp/dfs/name has been successfully formatted.
……分发到从节点 将上述配置好后的环境即hadoop整个目录分别远程复制到其他两台从节点上s2,s3上在s1节点上执行如下命令 scp -r /mysoft/hadoop/ roots2:/mysoft/scp -r /mysoft/hadoop/ roots3:/mysoft/分别在s2和s3两个节点上配置hadoop环境变量 vim ~/.bash_profile添加如下信息 export HADOOP_HOME/mysoft/hadoop
export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin让环境变量生效 source ~/.bash_profile在主节点(s1)上启动Hadoop集群 启动hadoop集群服务 start-all.sh 效果如下 验证 首先在 web界面进行验证浏览器分别访问如下地址 访问HDFS: http://IPs2的IP地址:50070,正常会看到如下界面 访问Yarn: http://IPs2的IP地址:8088正常会看到如下界面 然后在主机点s1上执行jps命令正常情况下会有如下进程 NameNode
DataNode
SecondaryNameNode
ReourceManager
NodeManager最后在两台从节点(s2和s3)上执行jps命令正常情况下会有如下进程 DataNode
NodeManager如需要关闭hadoop集群在s1主节点上执行 stop-all.sh至此Hadoop全分布式环境已经全部搭建完成大家试试看吧
3.4 安装Zookeeper 以下操作只需要在s1主节点上进行操作有特别说明的除外 上传zookeeper-3.4.5.tar.gz到/tools目录下 解压安装 cd /tools
tar -zvxf zookeeper-3.4.5.tar.gz -C /mysoft/
mv /mysoft/zookeeper-3.4.5 /mysoft/zookeeper配置环境变量(所有节点都需要配置) 编辑~/.bash_profile文件 vim ~/.bash_profile在文件尾部添加如下内容 export ZK_HOME/mysoft/zookeeper
export PATH$PATH:$ZK_HOME/bin创建临时目录tmp和myid文件 在zookeeper安装路径下创建tmp目录用于存储临时文件 mkdir /mysoft/zookeeper/tmp在/mysoft/zookeeper/tmp目录下创建一个myid的空文件 echo 1 /mysoft/zookeeper/tmp/myid配置zoo.cfg文件 该文件并不存在需要从模板文件复制: cp /mysoft/zookeeper/conf/zoo_sample.cfg /mysoft/zookeeper/conf/zoo.cfg编辑zoo.cfg vim /mysoft/zookeeper/conf/zoo.cfg然后将zoo.cfg内容中的dataDir的值改成/mysoft/zookeeper/tmp dataDir/mysoft/zookeeper/tmp在zoo.cfg的末尾再添加如下内容 server.1s1:2888:3888
server.2s2:2888:3888
server.3s3:2888:3888效果如下 分发安装包 将配置好的zookeeper拷贝到s2和s3两个节点上 scp -r /mysoft/zookeeper/ s2:/mysoft/
scp -r /mysoft/zookeeper/ s3:/mysoft/修改s2节点上的myid 登录s2节点上修改myid内容为2 echo 2 /mysoft/zookeeper/tmp/myid修改s3节点上的myid 登录s3节点上修改myid内容为3 echo 3 /mysoft/zookeeper/tmp/myid让所有节点环境变量生效 在所有节点上都需要执行让环境变量生效的命令 source ~/.bash_profile在所有节点上启动zookeeper 在所有节点上都需要执行启动命令执行 zkServer.sh start效果如下图所示 在所有节点上检查zookeeper启动状态 在所有节点上都需要执行启动命令执行 zkServer.sh status效果如下 如果需要停止zookeeper集群则需在所有节点上执行 zkServer.sh stop3.5 安装HBase 以下没有特殊说明的情况下在s1主节点上进行配置有特殊说明按照说明进行 上传hbase-1.4.8-bin.tar.gz到/tools目录下 解压安装 cd /tools
tar -zvxf hbase-1.4.8-bin.tar.gz -C /mysoft/
mv /mysoft/hbase-1.4.8 /mysoft/hbase配置环境变量三台节点都需要配置 编辑 vim ~/.bash_profile添加如下内容 export HBASE_HOME/mysoft/hbase
export PATH$HBASE_HOME/bin:$PATH修改配置文件 修改hbase-env.sh配置文件 vim /mysoft/hbase/conf/hbase-env.sh找到# export JAVA_HOME/usr/java/jdk1.6.0/这句代码将#号去掉将/usr/java/jdk1.6.0改成你自己的JAVA_HOME路径。修改好之后的样子为export JAVA_HOME/mysoft/jdk1.8.0_171 找到# export HBASE_MANAGES_ZKtrue 将#号去掉然后将true改成false。 按照下图所示用#号注释掉如下两行代码即可 修改hbase-site.xml配置文件 编辑 vim /mysoft/hbase/conf/hbase-site.xml在configuration/configuration之间添加配置内容 !--HBase的数据保存在HDFS对应目录hadoop是全分布式--propertynamehbase.rootdir/namevaluehdfs://s1:9000/hbase/value/property !--是否是分布式环境--propertynamehbase.cluster.distributed/namevaluetrue/value/property !--配置ZK的地址--propertynamehbase.zookeeper.quorum/namevalues1,s2,s3/value/property !--冗余度--propertynamedfs.replication/namevalue3/value/property !--主节点和从节点允许的最大时间误差--propertynamehbase.master.maxclockskew/namevalue180000/value/property 修改regionservers配置文件 编辑 vim /mysoft/hbase/conf/regionservers将localhost删除掉再添加如下内容 s1
s2
s3分发HBase安装目录 将/mysoft/hbase整个目录复制到其他两个从节点上: scp -r /mysoft/hbase/ roots2:/mysoft/
scp -r /mysoft/hbase/ roots3:/mysoft/让所有节点环境变量生效 在所有节点上都需要执行让环境变量生效的命令 source ~/.bash_profile启动HBase 特别注意 启动HBase之前必须确保hadoop集群、zookeeper集群已经事先启动了。如没有启动hadoop和zookeeper需要先启动这两个组件。否则HBase将启动失败。 在s1主节点上启动HBase start-hbase.sh检查HBase的启动状态 使用jps命令查看是否已经启动了如下进程如果进程存在则说明安装配置hbase成功了 从节点HRegionServer 主节点HMaster登录http://IP(s1的IP):16010地址查看HBase的Web页面是否正常打开
3.6 安装Spark 以下没有特殊说明的情况下在s1主节点上进行配置有特殊说明按照说明进行 上传spark-2.3.2-bin-hadoop2.7.tgz到/tools目录下 解压安装 cd /tools
tar -zvxf spark-2.3.2-bin-hadoop2.7.tgz -C /mysoft/
mv /mysoft/spark-2.3.2-bin-hadoop2.7 /mysoft/spark修改配置文件 修改spark-env.sh 编辑mkdir /mysoft/spark/history
cp /mysoft/spark/conf/spark-env.sh.template /mysoft/spark/conf/spark-env.sh
vim /mysoft/spark/conf/spark-env.sh修改如下内容export JAVA_HOME/mysoft/jdk1.8.0_171
export SPARK_MASTER_HOSTs1
export SPARK_MASTER_PORT7077
#history 配置历史服务
export SPARK_HISTORY_OPTS-Dspark.history.ui.port18080 -Dspark.history.retainedApplications30 -Dspark.history.fs.logDirectoryfile:///mysoft/spark/history修改slaves 编辑cp /mysoft/spark/conf/slaves.template /mysoft/spark/conf/slaves
vim /mysoft/spark/conf/slaves将localhost先删除然后添加如下内容s1
s2
s3修改spark-defaults.conf 编辑mkdir /mysoft/spark/logs
cp /mysoft/spark/conf/spark-defaults.conf.template /mysoft/spark/conf/spark-defaults.conf
vim /mysoft/spark/conf/spark-defaults.conf在末尾添加如下内容spark.eventLog.enabled true
spark.eventLog.dir /mysoft/spark/logs分发spark目录 将/mysoft/spark整个目录复制到其他两个从节点上: scp -r /mysoft/spark/ roots2:/mysoft/
scp -r /mysoft/spark/ roots3:/mysoft/启动Spark集群 在s1主节点执行启动命令 /mysoft/spark/sbin/start-all.sh效果如下 检查Spark集群状态 执行jps命令验证进程 访问SparkUI界面http://IP(s1的IP):8080
3.7 安装Hive Hive默认的元数据存储是Derby在测试时使用。由于生成环境中需要使用其他的存储系统替换Derby数据库以支持高并发场景。故这里我们需要安装MySQL来作为Hive元数据存储系统。接下来需先安装MySQL然后再安装hive。以下操作是在s1主节点上操作 安装MySQL(这里安装MySQL5.7) 以root用户执行如下命令使用yum来简单安装MySQL5.7# 用yum查询目前操作系统下yum仓库中支持的MySQL版本目前该仓库只支持MySQL5
yum search mysql
# 利用yum来安装MySQL5
yum install mysql5-server.x86_64 -y注意安装成功后root用户密码默认为空 启动MySQL服务systemctl start mysqld启动成功后查看下MySQL的运行状态如下图所示 修改root默认密码为123456并授权允许root用户远程访问执行如下命令[roots1 ~]# mysql -uroot -p
Enter password: # 这里执行回车即可
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.21 MySQL Community Server (GPL)Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql alter user rootlocalhost identified by 123456; # 修改MySQL密码为123456
Query OK, 0 rows affected (0.00 sec)
mysql grant all privileges on *.* to root% identified by 123456 with grant option; # 修改允许root用户远程登录MySQL
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql exit;
Bye效果如下图所示 创建用于存储hive元数据的数据库 重新登录MySQLmysql -uroot -p123456创建名为hive的databaseCREATE DATABASE hive CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;效果如下 安装Hive 上传apache-hive-2.3.3-bin.tar.gz到/tools目录下 解压安装 cd /tools
tar -zvxf apache-hive-2.3.3-bin.tar.gz -C /mysoft/
mv /mysoft/apache-hive-2.3.3-bin /mysoft/hive配置环境变量 编辑 vim ~/.bash_profile添加如下内容 export HIVE_HOME/mysoft/hive
export PATH$HIVE_HOME/bin:$PATH让环境变量生效 source ~/.bash_profile新增hive-site.xml配置文件 编辑 vim /mysoft/hive/conf/hive-site.xml添加如下内容 ?xml version1.0 encodingUTF-8 standaloneno?
?xml-stylesheet typetext/xsl hrefconfiguration.xsl?configurationpropertynamejavax.jdo.option.ConnectionURL/namevaluejdbc:mysql://s1:3306/hive?useSSLfalse/value/propertypropertynamejavax.jdo.option.ConnectionDriverName/namevaluecom.mysql.jdbc.Driver/value/propertypropertynamejavax.jdo.option.ConnectionUserName/namevalueroot/value/propertypropertynamejavax.jdo.option.ConnectionPassword/namevalue123456/value/property/configuration上传MySQL驱动到hive安装路径下的/lib目录下 注意一定要使用高版本的MySQL驱动5.1.43以上的版本 初始化MySQL 以root用户执行如下命令 schematool -dbType mysql -initSchema效果如下 验证Hive是否可用 需保证hadoop集群处于正常运行状态可参考hadoop实验需保证MySQL是处于正常运行状态hadoop正常和MySQL正常运行状态下进行如下测试 在s1主节点上执行如下命令hive # 回车即可正常情况下如下图所示 启动hiveserver2服务(可选做) 该服务用于支持其他程序连接到Hive中且可以使用beeline进行操作便于写SQL。 以后台方式启动执行 hive --service hiveserver2 效果如下 使用beeline命令登录hive的验证 beeline -u jdbc:hive2://s1:10000 -n root如果报错 beeline !connect jdbc:hive2://s1:10000Connecting to jdbc:hive2://s1:10000Enter username for jdbc:hive2://s1:10000: rootEnter password for jdbc:hive2://s1:10000: ******24/12/10 16:48:56 [main]: WARN jdbc.HiveConnection: Failed to connect to s1:10000Error: Could not open client transport with JDBC Uri: jdbc:hive2://s1:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate root (state08S01,code0)beeline则需要配置hadoop安装目录下/mysoft/hadoop/etc/hadoop/core-site.xml加入如下配置 propertynamehadoop.proxyuser.root.hosts/namevalue*/value
/property
propertynamehadoop.proxyuser.root.groups/namevalue*/value
/property还需要修改/mysoft/hadoop/etc/hadoop/hdfs-site.xml添加如下 propertynamedfs.webhdfs.enabled/namevaluetrue/value
/property重启hadoop集群与hive的hiveserver2服务再重新使用beeline连接 先停止 再次启动hadoop和hiveserver2 start-all.sh
hive --service hiveserver2 效果如下 此时再次使用beeline重新登录正常登录的效果如下
3.8 安装Flume 以下操作均在s1主节点上进行操作
上传apache-flume-1.9.0-bin.tar.gz到/tools目录下解压安装cd /tools
tar -zvxf apache-flume-1.9.0-bin.tar.gz -C /mysoft/
mv /mysoft/apache-flume-1.9.0-bin /mysoft/flume配置环境变量 编辑vim ~/.bash_profile添加如下内容export FLUME_HOME/mysoft/flume
export PATH$PATH:$FLUME_HOME/bin让环境变量生效:source ~/.bash_profile验证Flume环境是否正常 flume-ng version正常情况下会打印如下内容[roots1 mysoft]# flume-ng version
Flume 1.9.0
Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git
Revision: d4fcab4f501d41597bc616921329a4339f73585e
Compiled by fszabo on Mon Dec 17 20:45:25 CET 2018
From source with checksum 35db629a3bda49d23e9b3690c80737f9
[roots1 mysoft]#入门小案例测试Flume功能正常与否 本案例是通过在s1节点上安装NetCat工具简称nc然后由nc发送数据最后由部署在s1节点中的flume接收数据。具体步骤如下 在s1节点上安装nc yum install nc -y在s1节点上创建flume配置文件 新建配置文件nc-to-flume.conf vim /mysoft/flume/conf/nc-to-flume.conf添加如下内容 #声明Agent三种组件
a1.sources r1
a1.channels c1
a1.sinks k1#定义source信息
a1.sources.r1.typenetcat
a1.sources.r1.binds1
a1.sources.r1.port8888#定义sink信息
a1.sinks.k1.typelogger#定义channel信息
a1.channels.c1.typememory#绑定在一起
a1.sources.r1.channelsc1
a1.sinks.k1.channelc1在s1节点上启动flume flume-ng agent -f /mysoft/flume/conf/nc-to-flume.conf -n a1 -Dflume.root.loggerINFO,console启动成功后当前会话会处于类似卡死的状态这是因为当前flume是以前台方式启动属于正常现象启动效果如下图所示 重新打开一个SSH会话连接到s1节点然后在s1节点上启动nc客户端发送数据 nc s1 8888并输入数据如hello world 此时观察另外flume启动的窗口是否能接收到数据正常如下图所示 到此flume采集nc的数据实验到此结束大家可以自行测试。
3.9 安装Sqoop 以下操作在s1节点上进行 上传sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz到/tools目录下 解压安装 cd /tools
tar -zvxf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /mysoft/
mv /mysoft/sqoop-1.4.7.bin__hadoop-2.6.0 /mysoft/sqoop配置环境变量 编辑 vim ~/.bash_profile添加如下内容 # sqoop
export SQOOP_HOME/mysoft/sqoop
export PATH$PATH:$SQOOP_HOME/bin让环境变量生效 source ~/.bash_profile修改配置文件 配置【sqoop-site.xml】echo /mysoft/sqoop/conf/sqoop-site.xml
vim /mysoft/sqoop/conf/sqoop-site.xml添加如下内容?xml version1.0??xml-stylesheet typetext/xsl hrefconfiguration.xsl?configurationpropertynamesqoop.metastore.client.enable.autoconnect/namevaluetrue/valuedescriptionIf true, Sqoop will connect to a local metastorefor job management when no other metastore arguments areprovided./description/propertypropertynamesqoop.metastore.client.autoconnect.url/namevaluejdbc:hsqldb:file:/tmp/sqoop-meta/meta.db;shutdowntrue/valuedescriptionThe connect string to use when connecting to ajob-management metastore. If unspecified, uses ~/.sqoop/.You can specify a different path here./description/propertypropertynamesqoop.metastore.client.autoconnect.username/namevalueSA/valuedescriptionThe username to bind to the metastore./description/propertypropertynamesqoop.metastore.client.autoconnect.password/namevalue/valuedescriptionThe password to bind to the metastore./description/propertypropertynamesqoop.metastore.client.record.password/namevaluetrue/valuedescriptionIf true, allow saved passwords in the metastore./description/propertypropertynamesqoop.metastore.server.location/namevalue/tmp/sqoop-metastore/shared.db/valuedescriptionPath to the shared metastore database files.If this is not set, it will be placed in ~/.sqoop/./description/propertypropertynamesqoop.metastore.server.port/namevalue16000/valuedescriptionPort that this metastore should listen on./description/property/configuration配置【sqoop-env.sh】cp /mysoft/sqoop/conf/sqoop-env-template.sh /mysoft/sqoop/conf/sqoop-env.sh
vim /mysoft/sqoop/conf/sqoop-env.sh添加如下内容#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME/mysoft/hadoop#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME/mysoft/hadoop#set the path to where bin/hbase is available
export HBASE_HOME/mysoft/hbase#Set the path to where bin/hive is available
export HIVE_HOME/mysoft/hive#Set the path for where zookeper config dir is
export ZOOCFGDIR/mysoft/zookeeper将MySQL数据库的驱动mysql-connector-java-5.1.44-bin.jar上传到sqoop安装目录下的lib目录下 由于sqoop缺少java-json.jar包进行解析json需上传到sqoop安装目录下的lib目录下 验证命令行中输入sqoop version看到如下即为安装成功 关于sqoop的测试案例可以参考我的一篇博客Sqoop-1.4.7基本命令使用案例说明
四、实验小结
本次实训我们已经完成了hadoop集群、zookeeper集群、hbase集群、spark集群的安装配置以及hive、flume、sqoop单机安装部署。希望大家能够对大数据环境搭建的过程有所了解和掌握安装的过程。