IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> HDP集群搭建 -> 正文阅读

[大数据]HDP集群搭建

上一篇:Ambari集群搭建_LSur_king的博客

【搭建 HDP集群】

1.?浏览器访问192.168.1.100:8080,进入ambari集群界面,用户名和密码admin/admin,开始初始化安装。

2.?创建集群POLYV_HDP,选择3.1版本的HDP集群进行安装,使用本地仓库,把其他操作系统Remove掉。

填入本地文件服务器的URL:

http://vm01/HDP/centos7/3.1.5.0-152/

http://vm01/HDP-GPL/centos7/3.1.5.0-152/

http://vm01/HDP-UTILS/centos7/1.1.0.22/

3. 点击Next,进入下一步。需要填写所有的ambari-agent节点的主机列表,并且将ambari-server所在主机执行cat ~/.ssh/id_rsa

获取ssh密钥,复制id_rsa的内容如下填入。

4. 点击下一步后,会弹出一个“Warning:The following hostnames are not valid FQDNs”,无需理会,继续点击下一步。进入到以下界面:

如果出现上述情况的,有节点联通状态检测失败,可以点击Status下的【Failed】可显示日志,发现是vm01到本机的SSH没有做免密登录。vm01控制台执行,ssh-copy-id -i ~/.ssh/id_rsa.pub root@vm01

解决问题后,点击左上角的【Retry】刷新重试,即可使所有agent节点处于成功的连通状态。

5.?选择要在集群安装的大数据组件或服务(这里还不需要根据角色分配不同的机器)

勾选HDFS、YARN+MapReduce2、HBase、ZooKeeper、Ambari Metrics、Kafka。

组件

版本

HDFS

3.1.1.1.1

YARN+MapReduce2

3.1.1

HBase

2.0.2

ZooKeeper

3.4.6

Ambari Metrics

0.2.0

Kafka

2.0.0

Hive2.x后续独立部署

Spark2.3.0(需要依赖Hive,所以得独立部署)

后续独立部署

点击下一步,中间会弹出几个警告,忽略,点击右边框框继续。

6. 进入到分配Master角色的界面,改动项如下图所示,其余按默认配置。

7. 进入分配工作节点和客户端部署的界面,如下选择:

8. 点击下一步,设置Grafana和Activity Explorer's Admin的用户名/密码,均为admin/admin

9.?点击下一步进入用户自定义界面,首先是每个组件数据存储目录和ambari 对 hdp 集群服务管理的账号和组的设置,这里我采取了默认的设置,可能一些配置需要根据具体应用场景进行设置。

10. 继续点击下一步,进入HDFS、Yarn、MapReduce2、ZooKeeper 等一些 JVM 内存参数和优化参数的设置。如果发现,有一个小红点,如下图所示设置即可。没有则点击NEXT。

11. 进入Review界面。点击Deploy,开始部署。

12.?部署的组件和任务初始化完成,进入安装Processing界面,可点击Message下方的蓝色链接查看安装进展和一些安装信息。

?等待一段时间,HDP集群的基础组件部署完成,点击NEXT(在安装过程中可能会由于内存溢出和网络等问题会中断,排查完问题回到安装界面,点击Retry可继续)

?

可能会由于宿主机内存不足,所以导致部分服务安装后无法启动。忽略,点击Complete。

13. 然后就进入到了HDP主界面。

发现有很多小红点,其实是各Hosts上都有一些服务由于内存限制的关系没能启动,可以先关闭SmartSense服务,为机器腾出内存。

然后再到Hosts去手动start相关进程。

【验证 HDP集群】

1.?Linux添加hdfs组,把root用户添加到hdfs组里并同步权限到HDFS

? ? ? //在一个节点执行以下操作就可以了。同步系统权限信息到HDFS,会自动同步其他节点权限

? ? ? su root

? ? ? usermod -a -G hdfs root

? ? ? su hdfs

? ? ? hdfs dfsadmin -refreshUserToGroupsMappings

2. 验证HDFS

返回root用户下: su root

创建测试目录: mkdir /root/test

生成输入文件: vi /root/test/input.txt ?(随便敲一些单词,以空格区分)

生成输出文件: touch /root/test/ouput.txt

在HDFS上创建目录: hadoop fs -mkdir /test

上传文件到HDFS: hdfs dfs -put /root/test/input.txt /test/input.txt

在HDFS上创建文件:hadoop fs -touch /test/output.txt

进入指定目录:cd /usr/hdp/3.1.5.0-152/hadoop-mapreduce

运行MR任务: hadoop jar hadoop-mapreduce-examples.jar wordcount /test/input.txt /test/ouput.txt

等待几分钟后,查看输出: hadoop fs -cat /test/output/part-r-00000

3. 验证YARN

进入http://vm03:8088,可以看到刚才执行的MapReduce任务已经顺利提交到YARN上运行并完成。

4. 验证Kafka

(前提是确保三个Kafka节点都启动)

进入目录:cd /usr/hdp/3.1.5.0-152/kafka/bin

创建topic:./kafka-topics.sh --zookeeper localhost:2181 --create --topic test --partitions 1 --replication-factor 3

查看topic:./kafka-topics.sh --zookeeper localhost:2181 --list

启动生产者:./kafka-console-producer.sh --broker-list vm01:6667 --topic test

启动消费者:./kafka-console-consumer.sh --bootstrap-server vm01:6667 --topic test

(然后随便敲击一些字符,以换行符区分一条Message)

结果展示:

5. 验证HBase

进入HBase命令行: hbase shell

查看HBase集群状态:status

查询数据库版本: version

创建表: create 'stu_test', 'cf1'

查看当前namespace所有表: list

新增记录: ?put 'stu_test', ‘rowkey1’, 'cf1:id', ‘201325050123’

? ? ? ? ? ? ? ? ? ? put 'stu_test', ‘rowkey1’, 'cf1:name', ‘zhangsan’

? ? ? ? ? ? ? ? ? ? put 'stu_test', ‘rowkey1’, 'cf1:address, ‘GuangZhou’

? ? ? ? ? ? ? ? ? ? put 'stu_test', rowkey2, 'cf1:column2', ‘wangwu’

? ? ? ? ? ? ? ? ? ? put 'stu_test', rowkey2, 'cf1:column1', ‘201325050244’

查询记录: ?scan 'stu_test'

删除记录: ?delete 'stu_test',rowkey1,’cf1:address’

查询记录: ?scan 'stu_test'

修改记录: ?put 'stu_test', rowkey2, 'cf1:column2', ‘lisi’

查询记录 ???scan ‘stu_test’

【配置 HDFS集群的HA】

1.?选择?Services > HDFS > Summary > Actions > enable namenode HA,如下图所示

2.??输入集群的名字,然后点击Next。

3.?可以看到,默认的是将HA NameNode安装到vm02,同时在三个节点搭建起JournalNode集群,用于两个NameNode之间的数据同步。

4.?这里会自动删掉Secondary NameNode,以节省不必要的空间和资源。拉到下面点击Next进入下一步。

5.?照着界面给出的提示,执行操作即可。完成后点击Next。

6.?进入自动化安装,完成后点击下一步。

7.?按界面提示执行如下操作,初始化JournalNodes集群。

8.?进入下一步,启动Zookeeper集群并启动HA NameNodes。

9.?进入下一步,分别登录到vm01和vm02手动执行命令,完成NameNodes之间元数据的初始化。

10.?点击下一步并确认,完成最后的安装环节。

11. 安装完成,进入HDFS界面,会发现多了以下的组件。

12.?分别进入两个节点的NameNode UI,可以看到目前来说是vm02处于活跃状态,vm01是处于备用状态。

13. 把vm02的NameNode停掉,再次刷新vm01的NameNode UI,验证主备NameNode的自动切换。

14. HDFS集群HA配置完成并验证成功。

【配置 YARN集群的HA】

1.?选择?Services > YARN> Summary > Actions > enable ResourceManager HA,如下图所示:

2.?分配StandBy ResoureManager的时候,选择安装到vm02。

3.?进入下一步,确认新增的需要安装的组件,无误继续下一步。

4.?开始自动化安装,等待结束,点击“Complete”即可。

5.?安装完成,进入YARN界面,会发现多了以下的组件。可以看到目前来说是vm03的ResourceManager处于活跃状态,vm02的ResourceManager是处于备用状态。

6.?把vm03的ResourceManager停掉,并在yarn上跑一个MapReduce,验证HA是否配置成功。

任意节点进入目录: cd /usr/hdp/3.1.5.0-152/hadoop-mapreduce,

提交MR任务:hadoop jar hadoop-mapreduce-examples.jar wordcount /test/input.txt /test/outputHA

7.?进入http://vm02:8088,可以看到任务能成功提交到YARN上并且执行成功。

8. YARN集群HA配置完成并验证成功。

---------------------------------------------------------------------后续------------------------------------------------------

【Hive2.3.9的安装】

一、安装

1.下载apache-hive-2.3.9-bin.tar.gz包

wget?https://downloads.apache.org/hive/hive-2.3.9/apache-hive-2.3.9-bin.tar.gz

2.将下载好的hive解压到/home/hive中

mkdir /home/hive

tar -zxf apache-hive-2.3.4-bin.tar.gz -C /home/software/

二、环境配置

1.在/etc/profile中添加下面内容

export HIVE_HOME=/home/hive/apache-hive-2.3.9-bin
export PATH=$PATH:$HIVE_HOME/bin
#别忘了source /etc/profile

2.更改/home/hive/apache-hive-2.3.9/conf下的两个文件名

mv hive-env.sh.template hive-env.sh
mv hive-default.xml.template hive-default.xml

3.在hive-env.sh文件中添加

export JAVA_HOME=/usr/local/jdk8/jdk1.8.0_291
export HIVE_HOME=/home/hive/apache-hive-2.3.9-bin
export HADOOP_HOME=/usr/hdp/3.1.5.0-152/hadoop
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib/*

4.修改hadoop目录下的/usr/hdp/3.1.5.0-152/hadoop/hadoop-env.sh,添加

export HADOOP_CLASSPATH=.$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin

5.在hive的conf中建立hive-site.xml文件,并将下面的内容根据自己的需要修改添加下面内容

<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive_metastore_233?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
<!-- 如果 mysql 和 hive 在同一个服务器节点,那么请更改 hadoop02 为 localhost -->
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>polyv123</value>
<description>password to use against metastore database</description>
</property>
</configuration>

6.在hive的lib文件夹中加入mysql-connector-java驱动包(在/usr/share/java中)

三、启动hive

1.初始化数据库

schematool -dbType mysql -initSchema

2.启动hive

【Spark 2.4.8的安装】

一、安装Scala

1.下载Scala 2.12.14包

wget?https://downloads.lightbend.com/scala/2.12.14/scala-2.12.14.tgz

2.安装scala

#解压
tar -xvf scala-2.12.14.tgz -C /usr/local
#配置环境变量
vim /etc/profile
export SCALA_HOME=/usr/scala-2.12.14
export PATH=$PATH:$SCALA_HOME/bin

source /etc/profile

二、spark单机模式配置

1.下载spark 2.4.8包

wget?https://downloads.apache.org/spark/spark-2.4.8/SparkR_2.4.8.tar.gz

2.将下载好的spark安装包解压到/usr/local/目录下

tar -zvxf spark-2.4.8-bin-hadoop2.7 -C /usr/local

3.配置环境变量

3.1?在/etc/profile中添加

export SPARK_HOME=/usr/local/spark-2.4.8-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin

3.2?将/usr/local/spark-2.4.8-bin-hadoop2.7/conf下的spark-env.sh.template改成spark-env.sh并添加:

cp conf/spark-env.sh.template conf /spark-env.sh #复制并重命名
#下面的添加到spark-env.sh中,因为我配置的是伪分布式,不存在其他节点,配置的比较简单

export JAVA_HOME=/usr/local/jdk8/jdk1.8.0_291

export HADOOP_HOME=/usr/hdp/3.1.5.0-152/hadoop
export SCALA_HOME=/usr/local/scala-2.12.14
export SPARK_MASTER_IP=192.168.1.100
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/usr/hdp/3.1.5.0-152/hadoop/conf
export SPARK_MASTER_WEBUI_PORT=18080

也可以参考下面的进行自己配置

- JAVA_HOME:Java安装目录
- SCALA_HOME:Scala安装目录
- HADOOP_HOME:hadoop安装目录
- HADOOP_CONF_DIR:hadoop集群的配置文件的目录
- SPARK_MASTER_IP:spark集群的Master节点的ip地址
- SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小
- SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目
- SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目

3.3?使用spark-shell启动spark的Scala

spark-shell

3.4?使用pyspark启动spark的python

py-spark

三、spark集群安装

1.把slaves.template拷贝为slaves,并编辑 slaves文件

cp slaves.template?slaves

2.编辑slaves文件,添加以下内容(多机添加多个)

vm01

vm02

vm03

3.将spark包分发到另外两个节点

scp -r /usr/local/spark-2.4.8-bin-hadoop2.7?root@vm02:/usr/local/spark-2.4.8-bin-hadoop2.7

scp -r?/usr/local/spark-2.4.8-bin-hadoop2.7?root@vm03:/usr/local/spark-2.4.8-bin-hadoop2.7

4.启动spark集群

启动spark,进入spark-2.4.8-bin-hadoop2.7/sbin下执行

start-all.sh

然后看到shell输出如下:
很明显可以看出,集群显示启动了master,然后在启动了三个worker。

5.?Spark集群检查

spark集群的默认web管理页面端口为8080,url为http://192.168.1.100:18080,由于我们之前配置了18080端口,将上面的端口地址改为18080即可。查看一下页面:

可以看出,集群有三个worker,而且现在都是处于正常工作状态。

6.运行测试

bin/run-example SparkPi

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:16:50  更:2021-08-04 11:17:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:47:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码