一、简介
(一) 集群
配置的集群架构如下所示。
序号 | 主机名 | IP |
1 | master | 192.168.128.130 |
2 | slave1 | 192.168.128.131 |
3 | slave2 | 192.168.128.132 |
(二) 软件
大数据实验环境涉及的相关软件如下所示。
序号 | 软件 | 软件安装包名 |
1 | VMware | VMware-workstation-full-16.1.0-17198959.exe |
2 | CentOS | CentOS-7-x86_64-DVD-2003.iso |
3 | Xme | Xme5.exe |
4 | JDK | jdk-8u281-linux-x64.rpm、jdk-8u281-windows-x64.exe |
5 | Hadoop | hadoop-3.1.4.tar.gz |
6 | Hive | apache-hive-3.1.2-bin.tar.gz |
7 | MySQL 驱动 | mysql-connector-java-8.0.26.jar |
8 | Zookeeper | apache-zookeeper-3.6.3-bin.tar.gz |
9 | HBase | hbase-2.4.11-bin.tar.gz |
10 | Scala | scala-2.11.5.tgz |
11 | Spark | spark-3.2.1-bin-hadoop2.7.tgz |
12 | Flume | apache-flume-1.9.0-bin.tar.gz |
13 | Kafka | kafka_2.11-2.3.1.tgz |
14 | Flink | flink-1.10.1-bin-scala_2.11.tgz |
二、虚拟机创建配置及连接
(一) 前置安装及配置
- 本地电脑需安装好 VMware,版本须为 16 或者以上。
- 本地电脑的环境变量中应先配置好 Java 环境变量。
(二) 虚拟机 master 创建
(三) 虚拟机配置
- IP 配置
为了能用 Xshell 连接主机,同时也为了集群中的节点可以相互通信,接下来对节点进行 IP 设置。
(1)进入刚刚创建好的虚拟机,输入【service network restart】重启网络,结
果如下。
(2))通过命令【vi /etc/sysconfig/network-scripts/ifcfg-ens33】进入配置文件, 并修改成如下形式。
# 修 改 : BOOTPROTO=static ONBOOT=yes #添加以下内容NM_CONTROLLED=no IPADDR=192.168.128.130 NETMASK=255.255.255.0 GATEWAY=192.168.128.2 DNS1=192.168.128.2 |
(3)输入【service network restart】重启网络,之后使用【ip addr】可查看到IP 已经修改成功。
- 编辑虚拟网络编辑器
点击编辑 VMware 窗口栏处的“编辑”->“虚拟网络编辑器”,按照下图对编辑虚拟网络进行修改。
(四) Xshell 连接
1.创建会话
2.连接对话
3.配置 YUM 源
(1)在 VMware 软件中,右键单击 master 虚拟机,在弹出的快捷菜单中选择“设置”命令,弹出“虚拟机设置”对话框,进行如下设置。
(2)在 Xshell 界面执行如下命令配置 YUM 源。
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom/
echo "/dev/cdrom /media/cdrom iso9660 defaults 0 0" >> /etc/fstab df -HT
cd /etc/yum.repos.d mkdir ./bak
mv ./*.repo ./bak
cp ./bak/CentOS-Media.repo ./ vi ./CentOS-Media.repo
(3)为了方便后续操作,为该虚拟机安装一些软件。
yum -y install vim wget ntp |
(五) 克隆虚拟机
- 在 VMware 软件中,右键单击 master 虚拟机,在弹出的快捷菜单中选择“管理”-“克隆”,之后进行如下克隆操作。
- 按照同样方法从 master 克隆出 slave2。
- 开启 slave1 和 slave2,输入【vi /etc/sysconfig/network-scripts/ifcfg-ens33】,删除其中的 UUID 行,并修改 IPADDR 后面的 IP。(slave1 和 slave2 分别改为192.168.128.131 和 192.168.128.132)
- 输入【service network restart】命令重启网络服务,之后使用【ip addr】命令查看 IP 是否已经成功修改。
- 分别在 slave1 和 slave2 执行【hostnamectl set-hostname slave1】和【hostnamectl set-hostname slave2】命令修改主机名,之后重启虚拟机即可发现主机名已经更改成功。
- 在 Xshell 按照连接 master 步骤依次创建连接 slave1 和 slave2 的会话。
三、个人本地环境配置
(一) Hadoop 配置
- 安装 JDK(每个节点都需安装) 通过 Xmanager 的 Xftp 上传 JDK 安装包到虚拟机/opt 目录,进入/opt 目录,执行命令【rpm -ivh jdk-8u281-linux-x64.rpm】安装 JDK。
- Hadoop-3.1.4 配置(master) 通过 Xmanager 的 Xftp 上传 Hadoop 安装包到/opt 目录,进入/opt 目录。执行【tar -zxf hadoop-3.1.4.tar.gz -C /usr/local】命令解压缩 hadoop- 3.1.4.tar.gz 文件,解压后即可看到/usr/local/hadoop-3.1.4 文件夹。
- 配置 Hadoop
① 进入目录
cd /usr/local/hadoop-3.1.4/etc/hadoop/ |
依次修改以下配置文件:
注:文件中存在<configuration></configuration>,配置放入其中,且只保留一组的<configuration></configuration>。
② 修改配置文件 core-site.xml
③ 修改配置文件 hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64 |
④修改配置文件 hdfs-site.xml
</property> <property> <name>dfs.datanode.data.dir</name> <value>file:///data/hadoop/hdfs/data</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> </configuration> |
⑤修改配置文件 mapred-site.xml
⑥修改配置文件 yarn-site.xml
⑦ 修改配置文件 yarn-env.sh
⑧ 修改配置文件 workers
删除原有 localhost,添加如下内容。
slave1
slave2
4..对启动命令赋予权限设置
- ① 进入到启动命令所在位置。
- cd /usr/local/hadoop-3.1.4/sbin 注:参数添加位置应为开头原注释内容的后一行起。
- ② 修改 start-dfs.sh 和 stop-dfs.sh
-
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
- ③ 修改 start-yarn.sh 和 stop-yarn.sh
- YARN_RESOURCEMANAGER_USER=root
-
HADOOP_SECURE_DN_USER=yarn
-
YARN_NODEMANAGER_USER=root
-
(5)配置 IP 映射,在/etc/hosts 添加如下内容。(每个节点都需修改)
-
192.168.128.130 master master.centos.com
192.168.128.131 slave1 slave1.centos.com
192.168.128.132 slave2 slave2.centos.com
-
(6)拷贝 Hadoop 安装文件到集群 slave 节点。(依次输入【yes】,【123456】)
-
scp -qr /usr/local/hadoop-3.1.4 slave1:/usr/local
scp -qr /usr/local/hadoop-3.1.4 slave2:/usr/local
-
(7)在/etc/profile 添加 Hadoop 路径
-
export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
-
export HADOOP_HOME=/usr/local/hadoop-3.1.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
-
最后,修改后执行【source /etc/profile】命令使其生效。
-
3.配置无密码登录
-
(1)使用 ssh-keygen 产生公钥与私钥对。输入命令【ssh-keygen -t rsa】,接着按三次 Enter 键。执行后出现如下输出:
-
-
生成私有密钥 id_rsa 和公有密钥 id_rsa.pub 两个文件。ssh-keygen 用来生成RSA 类型的密钥以及管理该密钥,参数“-t”用于指定要创建的 SSH 密钥的类型为 RSA。
- (2)用 ssh-copy-id 将公钥复制到远程机器中
-
ssh-copy-id -i /root/.ssh/id_rsa.pub master
-
ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
-
ssh-copy-id -i /root/.ssh/id_rsa.pub slave
-
(3)验证是否设置无密码登录。
-
ssh master exit;
ssh slave1 exit;
ssh slave2
exit;
-
4.配置时间同步服务
-
(1)在各个节点安装 NTP 服务。
-
yum -y install ntp
-
(2)修改设置
-
假设 master 节点为 NTP 服务主节点,那么其配置如下。使用命令【vim
/etc/ntp.conf】打开/etc/ntp.conf 文件,注释掉以 restrict default 开头以及 server 开头的行,并添加如下内容。
-
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10
-
(3)在 slave 中配置 NTP
-
同样修改/etc/ntp.conf 文件,注释掉 server 开头的行,并添加如下内容。
(4)关闭防火墙server master
-
执行命令【systemctl stop firewalld.service】和【systemctl disable firewalld.service】永久性关闭防火墙,主节点和从节点都要关闭。
-
(5)启动 NTP 服务
-
①在 master 节点执行命令【service ntpd start】和【chkconfig ntpd on】。
② 在各个 slave 节点上执行命令【ntpdate master】获取同步时间初值。
③ 在各个 slave 节点上执行【service ntpd start】和【chkconfig ntpd on】即可开启并永久启动 NTP 服务。
-
5.启动 Hadoop 集群
(1)格式化NameNode
-
注:Hadoop 集群只需要一次格式化即可,后续启动无需格式化。
cd /usr/local/hadoop-3.1.4/bin
./hdfs namenode -format
- (2)启动集群
- 在主节点进入目录
- cd /usr/local/hadoop-3.1.4/sbin
- 执行启动
-
./start-dfs.sh
./start-yarn.sh
./mr-jobhistory-daemon.sh start historyserver - (3)使用【jps】,查看进程
-
节点
jps 进程
master 节点
NameNode SecondaryNameNode JobHistoryServer
Jps
ResourceManager
slave 节点
Jps
DataNode
NodeManager
(4)在本地电脑添加映射 - 在 Windows 下 C:\Windows\System32\drivers\etc\hosts 添加 IP 映射
-
192.168.128.130 master
192.168.128.131 slave1
192.168.128.132 slave2
-
(5)浏览器查看
-
http://master:9870
http://master:8088
-
(6)关闭集群
-
./stop-yarn.sh
./stop-dfs.sh
./mr-jobhistory-daemon.sh stop historyserver
-
(二) Hive 配置
-
(1)设置 mysql8.x 的 yum 源
(a).wget 下载 mysql8.x 源。
yum localinstall -y /opt/mysql80-community-release-el7-3.noarch.rpm |
-
(b)加载本地 yum 源。wget -P /opt https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- (c)查询是否存在 MySQL 安装包。
(d)下载 MySQL 服务。yum search mysql
(e)开启 MySQL 服务。yum install -y mysql-community-server.x86_64 --nogpgcheck
service mysqld start
(2)MySQL 密码设置
(A)查询 MySQL 初始密码。
(B)使用初始密码登录。cat /var/log/mysqld.log | grep password
(C)重设密码。mysql -u root -p
alter user 'root'@'localhost' identified by '初始密码+a';
(D)修改 8.0 密码规则。
set global validate_password.policy=LOW; set global validate_password.length=6; |
(E)设置自定义密码。
alter user 'root'@'localhost' identified by '123456'; |
(3)赋予外部连接权限
create user 'root'@'%' identified by '123456'; grant all privileges on *.* to 'root'@'%' with grant option; flush privileges; |
2.Hive配置
(1))通过 Xmanager 的 Xftp 将安装包 apache-hive-3.1.2-bin.tar.gz 上传到/opt/目录下,之后进入到/opt 目录下执行解压缩命令解压安装包到/usr/local/目录下
tar -zxf apache-hive-3.1.2-bin.tar.gz -C /usr/local/ |
(2)进入到 Hive 的安装目录的 conf 目录下,重命名 hive-env.sh.template 为
hive-env.sh,修改 hive-env.sh 文件,在末尾添加如下内容。
export HADOOP_HOME=/usr/local/hadoop-3.1.4 |
(3)在 Hive 的安装目录的 conf 目录下【touch hive-site.xml】新建配置文件, 加入如下内容
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <description>Hive 使用该目录存储不同 map/reduce 阶段的计划及阶段的中间输出</description> <name>hive.exec.scratchdir</name> <value>hdfs://master:8020/user/hive/tmp</value> </property> <property> <description>元数据库位置</description> <name>hive.metastore.warehouse.dir</name> <value>hdfs://master:8020/user/hive/warehouse</value> </property> <property> <description>Hive 运行时结构化日志文件的位置</description> <name>hive.querylog.location</name> <value>hdfs://master:8020/user/hive/log</value> </property> <property> <description>目标元数据库</description> |
<name>hive.metastore.uris</name> <value>thrift://master:9083</value> </property> <property> <description>元数据连接字符串</description> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <description>元数据连接驱动类名</description> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.cj.jdbc.Driver</value> </property> <property> <description>元数据连接时的用户名</description> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <description>元数据连接时的用户密码</description> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> <property> <description>允许多线程同时通过 JDO 访问元数据</description> <name>javax.jdo.option.Multithreaded</name> <value>true</value> </property> <property> <description>HiveServer2 Thrift 接口的端口号</description> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <description>运行 HiveServer2 Thrift 接口的主机</description> <name>hive.server2.thrift.bind.host</name> <value>master</value> </property> </configuration> |
(4) 上传 MySQL 驱动 mysql-connector-java-8.0.26.jar 到/usr/local/apache-hive- 3.1.2-bin/lib 目录
cp /opt/mysql-connector-java-8.0.26.jar /usr/local/apache-hive-3.1.2-bin/lib/ |
(5)将 Hive 安装目录 lib 下的 jline-2.12.jar 同步到 Hadoop 类库中,勿忘子节点同样需要同步
cp /usr/local/apache-hive-3.1.2-bin/lib/jline-2.12.jar /usr/local/hadoop- 3.1.4/share/hadoop/yarn/lib/ scp /usr/local/apache-hive-3.1.2-bin/lib/jline-2.12.jar slave1:/usr/local/hadoop- 3.1.4/share/hadoop/yarn/lib/ scp /usr/local/apache-hive-3.1.2-bin/lib/jline-2.12.jar slave2:/usr/local/hadoop- 3.1.4/share/hadoop/yarn/lib/ |
(6) 删除 Hive 安装目录 lib 下的 guava-19.0.0.jar 包,并将 Hadoop 类库中的新版 guava 包同步过来
rm -f /usr/local/apache-hive-3.1.2-bin/lib/guava-19.0.jar cp /usr/local/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar /usr/local/apache-hive-3.1.2-bin/lib |
(7) 设置环境变量【vim /etc/profile】
export HIVE_HOME=/usr/local/apache-hive-3.1.2-bin export PATH=$PATH:$HIVE_HOME/bin |
添加环境变量后执行【source /etc/profile】使其修改内容生效。
(8) 进入 MySQL 数据库创建 Hive 数据库
mysql -u root -p123456 create database hive; alter database hive character set latin1; |
(9) 初始化元数据库,进入 Hive 安装包 bin 目录
schematool -dbType mysql -initSchema |
(10) 在 Hadoop 集群已启动的情况下启动 Hive 服务
hive --service metastore & |
根据个人需求开启 hiveserver2 服务。
nohup hive --service hiveserver2 & |
(11)进入 Hive 命令窗口
/usr/local/apache-hive-3.1.2-bin/bin/hive |
(三) Zookeeper 配置
通过 Xmanager 的 Xftp 上传 apache-zookeeper-3.6.3-bin.tar.gz 安装包到master 节点的/opt 目录下,之后解压缩到/usr/local/目录下。
tar -zxf /opt/apache-zookeeper-3.6.3-bin.tar.gz -C /usr/local/ |
- 2.进入安装路径的 conf 目录下
cd /usr/local/apache-zookeeper-3.6.3-bin/conf |
- 3.复制 zoo_sample.cfg 重命名为 zoo.cfg
cp zoo_sample.cfg zoo.cfg |
zoo.cfg 配置文件修改内容如下。(注:原文件中部分参数同下表重复,需要注释或删除原有参数。)
dataDir=/usr/lib/zookeeper dataLogDir=/var/log/zookeeper clientPort=2181 tickTime=2000 initLimit=5 syncLimit=2 server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888 |
- 4.各个节点新建文件夹
mkdir /usr/lib/zookeeper mkdir /var/log/zookeeper vim /usr/lib/zookeeper/myid |
- 在 master 的/usr/lib/zookeeper 目录下新建文件 myid,内容为 1。
- 在 slave1 的/usr/lib/zookeeper 目录下新建文件 myid,内容为 2。
- 在 slave2 的/usr/lib/zookeeper 目录下新建文件 myid,内容为 3。
- 5.在 master 节点,给子节点分发 Zookeeper
scp -r /usr/local/apache-zookeeper-3.6.3-bin slave1:/usr/local/ scp -r /usr/local/apache-zookeeper-3.6.3-bin slave2:/usr/local/ |
- 6.修改环境变量(所有节点)
export ZK_HOME=/usr/local/apache-zookeeper-3.6.3-bin export PATH=$PATH:$ZK_HOME/bin |
修改后执行【source /etc/profile】命令使其生效。
- 7,.启动各个节点 Zookeeper
/usr/local/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start |
- 8.查看各个节点的 Zookeeper 是否启动
/usr/local/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status |
- 9.关闭各个节点 Zookeeper
/usr/local/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop |
(四) HBase 配置
通过 Xmanager 的 Xftp 上传 hbase-2.4.11-bin.tar.gz 压缩包到/opt 目录,之后执行命令解压缩 hbase-2.4.11-bin.tar.gz 文件。
tar -zxf /opt/hbase-2.4.11-bin.tar.gz -C /usr/local |
2.进入目录
cd /usr/local/hbase-2.4.11/conf |
3..修改 hbase-site.xml 文件
<configuration> <property> <description>指定 HBase 运行模式,false 单机,true 分布式</description> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.tmp.dir</name> <value>./tmp</value> </property> <property> <description>不检查流能力</description> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> <property> <description>HBase 持久化目录</description> <name>hbase.rootdir</name> <value>hdfs://master:8020/hbase</value> </property> <property> <description>指定 HBase Master</description> <name>hbase.master</name> <value>master</value> </property> <property> <description>zookeeper 客户端连接端口</description> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <description>zookeeper 集群地址列表,逗号分隔</description> <name>hbase.zookeeper.quorum</name> |
<value>master,slave1,slave2</value> </property> <property> <description>zookeeper 会话最大超时时间</description> <name>zookeeper.session.timeout</name> <value>60000000</value> </property> <property> <description>HDFS 是否允许追加文件</description> <name>dfs.support.append</name> <value>true</value> </property> </configuration> |
4.配置 hbase-env.sh
# 打开注释行(倒数第五行) export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true" # 在文件末尾添加内容: export HBASE_CLASSPATH=/usr/local/hadoop-3.1.4/etc/hadoop export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64 export HBASE_MANAGES_ZK=false |
删除原来的 localhost,添加如下内容。
master slave1 slave2 |
scp -r /usr/local/hbase-2.4.11/ slave1:/usr/local/ scp -r /usr/local/hbase-2.4.11/ slave2:/usr/local/ |
export HBASE_HOME=/usr/local/hbase-2.4.11 export PATH=$PATH:$HBASE_HOME/bin |
修改后执行【source /etc/profile】命令使其生效。
启动前要先确保启动了 Zookeeper 和 Hadoop 集群。
cd /usr/local/hbase-2.4.11/bin/ ./start-hbase.sh |
http://192.168.128.130:16010 |
10.关闭集群
./stop-hbase.sh |
(五) Scala 配置
通过 Xmanager 的 Xftp 上传 scala-2.11.5.tgz 压缩包到/opt 目录,之后执行命令解压缩 scala-2.11.5.tgz 文件。
tar -zxf /opt/spark-3.2.1-bin-hadoop2.7.tgz -C /usr/local/ |
2.修改环境变量
export SCALA_HOME=/usr/local/scala-2.11.5 export PATH=$PATH:$SCALA_HOME/bin |
修改后执行【source /etc/profile】命令使其生效。
3.启动 Scala
# 查看版本scala -version # 启动 scala # 退出 :quit |
(六) Spark 配置
通过 Xmanager 的 Xftp 上传 spark-3.2.1-bin-hadoop2.7.tgz 压缩包到/opt 目录,之后执行命令解压缩 spark-3.2.1-bin-hadoop2.7.tgz 文件。
tar -zxf /opt/spark-3.2.1-bin-hadoop2.7.tgz -C /usr/local/ |
2.修改环境变量(所有节点)
export SPARK_HOME=/usr/local/spark-3.2.1-bin-hadoop2.7 export PATH=$PATH:$SPARK_HOME/bin |
修改后执行【source /etc/profile】命令使其生效。
3.修改 slaves
# 进入目录 cd /usr/local/spark-3.2.1-bin-hadoop2.7/conf cp workers.template workers vim workers |
删除掉原 localhost 后添加以下内容。
slave1 slave2 |
4.修改 spark-defaults.conf
cp spark-defaults.conf.template spark-defaults.conf vim spark-defaults.conf |
添加以下内容。
spark.master spark://master:7077 spark.eventLog.enabled true spark.eventLog.dir hdfs://master:8020/spark-logs spark.history.fs.logDirectory hdfs://master:8020/spark-logs |
5.修改 spark-env.sh
cp spark-env.sh.template spark-env.sh vim spark-env.sh |
添加以下内容。
JAVA_HOME=/usr/java/jdk1.8.0_281-amd64 HADOOP_CONF_DIR=/usr/local/hadoop-3.1.4/etc/hadoop SPARK_MASTER_IP=master SPARK_MASTER_WEBUI_PORT=8085 SPARK_MASTER_PORT=7077 SPARK_WORKER_MEMORY=512m SPARK_WORKER_CORES=1 SPARK_EXECUTOR_MEMORY=512m SPARK_EXECUTOR_CORES=1 SPARK_WORKER_INSTANCES=1 |
6.在 HDFS 中新建目录(需先开启 Hadoop 集群)
hdfs dfs -mkdir /spark-logs |
7.发送至其余节点
scp -qr /usr/local/spark-3.2.1-bin-hadoop2.7/ slave1:/usr/local/ scp -qr /usr/local/spark-3.2.1-bin-hadoop2.7/ slave2:/usr/local/ |
8.启动 Spark 集群
cd /usr/local/spark-3.2.1-bin-hadoop2.7/sbin ./start-all.sh |
9.在浏览器查看
http://192.168.128.130:8085 |
10.关闭 Spark 集群
./stop-all.sh |
(七) Flume 配置
1.解压安装包
通过 Xmanager 的 Xftp 上传 apache-flume-1.9.0-bin.tar.gz 压缩包到/opt 目录,之后执行命令解压缩 apache-flume-1.9.0-bin.tar.gz 文件。
tar -zxvf /opt/apache-flume-1.9.0-bin.tar.gz -C /usr/local |
cd /usr/local/apache-flume-1.9.0-bin/conf cp flume-env.sh.template flume-env.sh vim flume-env.sh |
添加 JDK 位置信息。
export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64/ |
3. Hadoop 依赖修改
删除 Flume 安装目录 lib 中的 guava 包,并将 Hadoop 中的新版 guava 依赖包复制到 Flume 安装目录 lib 下。
ls /usr/local/apache-flume-1.9.0-bin/lib | grep guava rm -f /usr/local/apache-flume-1.9.0-bin/lib/guava-11.0.2.jar cp /usr/local/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar /usr/local/apache-flume-1.9.0-bin/lib |
export FLUME_HOME=/usr/local/apache-flume-1.9.0-bin export PATH=$PATH:$FLUME_HOME/bin |
修改后执行【source /etc/profile】命令使其生效。
(八) Kafka 配置(Kafka 需要部署在有 Zookeeper 的节点上)
通过 Xmanager 的 Xftp 上传 kafka_2.11-2.3.1.tgz 安装包到 master 节点的/opt 目录下,之后解压缩到/usr/local/目录下。 tar -zxvf /opt/kafka_2.11-2.3.1.tgz -C /usr/local |
export KAFKA_HOME=/usr/local/kafka_2.11-2.3.1 export PATH=$PATH:$KAFKA_HOME/bin |
修改后执行【source /etc/profile】命令使其生效。
3.修改 server.properties
cd /usr/local/kafka_2.11-2.3.1/config vim server.properties |
修改以下内容。
broker.id=0 #此部分参数为设置节点的 Zookeeper 连接 zookeeper.connect=master:2181,slave1:2181,slave2:2181 |
log.dirs=/usr/local/logs/kafka-logs |
4.发送至其余节点
scp -r /usr/local/kafka_2.11-2.3.1 slave1:/usr/local/ scp -r /usr/local/kafka_2.11-2.3.1 slave2:/usr/local/ |
将 slave1 和 slave2 节点的 server.properties 文件中的 broker.id 分别修改为 1、2。
5.启动各个节点的 Kafka(需先启动各个节点的 Zookeeper)
cd /usr/local/kafka_2.11-2.3.1/ bin/kafka-server-start.sh -daemon config/server.properties |
(九) Flink 配置
- 解压安装包
tar -zxf /opt/flink-1.10.1-bin-scala_2.11.tgz -C /usr/local |
export FLINK_HOME=/usr/local/flink-1.10.1 export PATH=$PATH:$FLINK_HOME/bin |
修改后执行【source /etc/profile】命令使其生效。
3.修改配置文件/usr/local/flink-1.10.1/conf/flink-conf.yaml
jobmanager.rpc.address: 192.168.128.130 jobmanager.heap.size: 512m #taskmanager.memory.process.size: 1728m taskmanager.memory.flink.size: 1024m taskmanager.numberOfTaskSlots: 3 parallelism.default: 1 rest.address: 192.168.128.130 rest.bind-address: 192.168.128.130 io.tmp.dirs: /var/log/flink/tmp |
删除原来 localhost 后添加如下内容。
master slave1 slave2 |
删除原来 localhost:8081 后添加如下内容。
master:8081 |
scp -r /usr/local/flink-1.10.1 slave1:/usr/local scp -r /usr/local/flink-1.10.1 slave2:/usr/local |
mkdir -p /var/log/flink/tmp |
8.启动 Flink
/usr/local/flink-1.10.1/bin/start-cluster.sh |
Jps StandaloneSessionClusterEntrypoint TaskManagerRunner |
子节点:
Jps TaskManagerRunner |
四、提供的虚拟机--环境使用说明
(一) 虚拟机
用户名:root 密码:123456
主节点为 master,2 个从节点分别为 slave1 和 slave2。
(二) MySQL
用户名:root 密码:123456
通过命令【mysql -u root -p】输入密码,进入 MySQL 命令窗口。在 MySQL 命令窗口输入【exit;】即可退出。
(三) Hadoop 集群
在主节点执行命令【cd /usr/local/hadoop-3.1.4/sbin】进入目录,执行命令
【./start-dfs.sh】、【./start-yarn.sh】、【./mr-jobhistory-daemon.sh start historyserver】
启动集群。
在主节点执行命令【cd /usr/local/hadoop-3.1.4/sbin】进入目录,执行命令
【./stop-dfs.sh】、【./stop-yarn.sh】、【./mr-jobhistory-daemon.sh stop historyserver】关闭集群。
http://master:9870 http://master:8088 |
(四) Hive
- 通过命令【service mysqld start】启动 MySQL 服务。
- 通过命令【/usr/local/hadoop-3.1.4/sbin/start-all.sh】启动 Hadoop 集群。
- 再通过命令【hive --service metastore &】、【nohup hive --service hiveserver2 &】分别启动 Hive 元数据服务和远程连接服务。
- 然后输入【/usr/local/apache-hive-3.1.2-bin/bin/hive】进入 Hive 命令窗口。
- 通过【exit;】退出 Hive 命令窗口,通过【ctrl+Z】退出 hiveserver2 命令窗口。
- 通过【jps】查看进程,使用命令【kill -9 Runjar 的进程号】停止 Runjar
进程。
- 通过命令【service mysqld stop】关闭 MySQL 服务。
(五) ZooKeeper 集群
在所有节点分别执行命令【/usr/local/zookeeper-3.4.6/bin/zkServer.sh start】启动 Zookeeper。
在所有节点分别执行命令【/usr/local/zookeeper-3.4.6/bin/zkServer.sh stop】关闭 Zookeeper。
在所有节点分别执行命令【/usr/local/zookeeper-3.4.6/bin/zkServer.sh status】查看各个子节点的 Zookeeper 是否启动,该命令需先开启所有节点的Zookeeper。
(六) Hbase 集群
1.启动
- 在主节点执行命令【ntp_update】启动时间同步服务。
- 执行命令【service mysqld start】启动 MySQL 服务。
- 在各节点的 Zookeeper 的安装目录下分别执行命令【zkSever.sh start】启动
ZooKeeper 集群。
4.执行命令【/usr/local/hbase-2.4.11/bin/start-hbase.sh】启动 Hbase 集群,通过命令
【hbase shell】进入 HBase 命令窗口。
2, 关闭
- 输入【exit】退出命令窗口。
- 在主节点执行命令【/usr/local/hbase-2.4.11/bin/stop-hbase.sh】关闭 Hbase 集群。
- 在各节点的 Zookeeper 的安装目录下分别执行命令【zkSever.sh stop】关闭ZooKeeper 集群。
(七) Scala
在主节点执行命令【cd /usr/local/scala-2.11.5/bin】进入目录,通过命令
【scala】进入交互式窗口,通过【:quit】或【:q】退出交互式窗口。
(八) Spark 集群
启动
在主节点执行命令【cd /usr/local/spark-3.2.1-bin-hadoop2.7/sbin】进入目 录,执行命令【./start-all.sh】启动 Spark 集群,通过命令【spark-shell】进入交互式窗口。(进入交互式窗口之前需要先开启 Hadoop 集群)
关闭
Spark 退出交互式窗口方法与 Scala 一样,通过【:quit】或【:q】退出,通过命令【./stop-all.sh】关闭 Spark 集群。
http://master:8085 |