| |
|
开发:
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。
点击下一步,中间会弹出几个警告,忽略,点击右边框框继续。 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 2.更改/home/hive/apache-hive-2.3.9/conf下的两个文件名 mv hive-env.sh.template hive-env.sh 3.在hive-env.sh文件中添加 export JAVA_HOME=/usr/local/jdk8/jdk1.8.0_291 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> 6.在hive的lib文件夹中加入mysql-connector-java驱动包(在/usr/share/java中) 三、启动hive1.初始化数据库 schematool -dbType mysql -initSchema 2.启动hive 【Spark 2.4.8的安装】一、安装Scala1.下载Scala 2.12.14包 wget?https://downloads.lightbend.com/scala/2.12.14/scala-2.12.14.tgz 2.安装scala #解压 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 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 #复制并重命名 export JAVA_HOME=/usr/local/jdk8/jdk1.8.0_291 export HADOOP_HOME=/usr/hdp/3.1.5.0-152/hadoop 也可以参考下面的进行自己配置 - JAVA_HOME:Java安装目录 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输出如下: 5.?Spark集群检查 spark集群的默认web管理页面端口为8080,url为http://192.168.1.100:18080,由于我们之前配置了18080端口,将上面的端口地址改为18080即可。查看一下页面: 可以看出,集群有三个worker,而且现在都是处于正常工作状态。 6.运行测试 bin/run-example SparkPi |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |