大数据完全分布式集群安装搭建hadoop、hbase、hive、spark、flink(二) |
您所在的位置:网站首页 › K8s部署hadoop › 大数据完全分布式集群安装搭建hadoop、hbase、hive、spark、flink(二) |
大数据完全分布式环境集群搭建(二)
目标
本文主要讲述大数据主流框架 hadoop、hive、hbase、spark、flink在完全分布式环境下的安装和使用,主要分为三个部分: docker集群搭建 hadoop、hive、hbase、spark、flink安装配置 hadoop、hive、hbase、spark、flink的基础使用,包括hadoop数据传输、hive sql操作、spark sql操作、自定义spark算子、flink sql、自定义flink算子、spark机器学习、hbase数据导入、hive数据导入相关操作因此,本文分为三篇内容,其他两篇详见 大数据环境搭建(一) 大数据环境搭建(三) 组件版本jdk 1.8 hadoop 3.2.4 hive 3.1.3 hbase 2.4.14 spark 3.2.2 flink 1.14.5 节点 描述进程masterwork-1work-2hadoop元数据NameNode√hadoop辅助元数据SecondaryNameNode√hadoop数据DataNode√√√yarn资源调度ResoueceManager√yarn任务NodeManager√√√hive服务hiveserver2√zookeeper服务zookeeper√√√hbase主节点HMaster√hbase工作节点HRegionServer√√√spark主节点Master√spark工作节点Worker√√√flink主节点StandaloneSessionClusterEntrypoint√flink工作节点TaskManagerRunner√√√ 前言 1. docker 容器连接 连接工具本文推荐使用vs code连接docker容器,需要先安装Remote - Containers插件。安装完成后,打开vs code的docker面板,界面如下:
此界面主要分为3个部分: 文件管理 代码编辑 终端 2. 数据保存位置 大数据组件、日志保存位置大数据组件保存在共享文件夹下,便于我们方便的编辑配置文件,以及查看相关日志文件。只需要在本机完成配置,在master、work-1、work-2节点均可见。 日志目录也在共享文件夹下。 hadoop文件保存位置为了提高集群的速度,hdfs文件保存在各个容器中,本文设置的目录为: /home/hadoop/data 3. 声明本文并没有配置集群的高可用,这是由于电脑性能有限,需要在电脑上同时安装hadoop、hive、hbase、spark、flink,如果hadoop、hbase、spark、flink均配置高可用的话,电脑性能不够,相关高可用的配置可以参考文末的参考文献。 hadoop 3.2 环境安装编辑 etc/hadoop/hadoop-env.sh export JAVA_HOME=/home/hadoop/big-data-tools/jdk1.8.0_341编辑etc/hadoop/core-site.xml fs.defaultFS hdfs://master:9000 hadoop.tmp.dir /home/hadoop/data hadoop.proxyuser.hadoop.hosts * hadoop.proxyuser.hadoop.groups *编辑etc/hadoop/hdfs-site.xml dfs.replication 1编辑etc/hadoop/mapred-site.xml mapreduce.framework.name yarn mapreduce.application.classpath $HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*编辑etc/hadoop/yarn-site.xml yarn.resourcemanager.hostname master yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.env-whitelist JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME编辑etc/hadoop/workers master work-1 work-2格式化NameNode hdfs namenode -formathadoop启动相关命令 start-dfs.sh start-yarn.sh stop-dfs.sh stop-yarn.sh查看hadoop进程 jps安装hive需要mysql存储hive的元数据,因此先安装mysql,再配置hive,最后启动hive服务 MySQL安装 安装mysql sudo apt install mysql-server允许mysql远程访问 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf修改配置文件中的绑定ip bind-address = 0.0.0.0启动mysql,并登录 sudo /etc/init.d/mysql start sudo mysql -u root新建远程访问的用户 create user chuan@'%' identified by '123456'; grant all privileges on *.* to chuan@'%' with grant option; FLUSH PRIVILEGES;
编辑hive-site.xml javax.jdo.option.ConnectionURL jdbc:mysql://master:3306/hive javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName chuan javax.jdo.option.ConnectionPassword 123456 hive.metastore.schema.verification false在mysql中创建hive数据库 create database hive下载mysql驱动包,放到 hive-3.1.3/lib 目录下 初始化metastore schematool -dbType mysql -initSchema由于hadoop和hive的guava版本不兼容,因此替换guava,此处可以直接在文件夹中操作,这里是为了方便演示 cp hadoop-3.2.4/share/hadoop/common/lib/guava-27.0-jre.jar hive-3.1.3/lib rm hive-3.1.3/lib/guava-19.0.jarhive 的启动和关闭 nohup hive --service metastore & nohup hive --service hiveserver2 & kill -9 $(jps -lm | grep -i 'metastore.HiveMetaStore' | awk '{print $1}') kill -9 $(jps -lm | grep -i 'HiveServer2' | awk '{print $1}')连接测试 beeline -u jdbc:hive2://master:10000 -n hadoop编辑 hbase-env.sh export JAVA_HOME=/home/hadoop/big-data-tools/jdk1.8.0_341 export HADOOP_HOME=/home/hadoop/big-data-tools/hadoop-3.2.4 export HBASE_MANAGES_ZK=false编辑 hbase-site.xml hbase.cluster.distributed true hbase.rootdir hdfs://master:9000/hbase hbase.zookeeper.quorum master,work-1,work-2 hbase.zookeeper.property.dataDir /home/hadoop/data/zookeeper hbase.unsafe.stream.capability.enforce false hbase.tmp.dir /home/hadoop/data/hbase编辑regionservers master work-1 work-2安装zookeeper 编辑配置文件 cp conf/zoo_sample.cfg conf/zoo.cfg dataDir=/home/hadoop/data/zookeeper server.1=master:2888:3888 server.2=work-1:2888:3888 server.3=work-2:2888:3888在数据文件夹下创建myid mkdir -p /home/hadoop/data/zookeeper/ vi /home/hadoop/data/zookeeper/myid在myid中添加与server对应的编号:master 为1, work-1 为2, work-2 为3 警告 myid的值绝对不能错,必须一一对应 启动zookeeper zkServer.sh start启动、关闭hbase、进入hbase start-hbase.sh stop-hbase.sh hbase shell create 'test','c1','c2'编辑spark-env.sh export JAVA_HOME=/home/hadoop/big-data-tools/jdk1.8.0_341 export HADOOP_CONF_DIR=/home/hadoop/big-data-tools/hadoop-3.2.4/etc/hadoop export YARN_CONF_DIR=/home/hadoop/big-data-tools/hadoop-3.2.4/etc/hadoop export SPARK_WORKER_CORES=1 export SPARK_WORKER_MEMORY=4g export SPARK_MASTER_WEBUI_PORT=8090编辑workers master work-1 work-2连接web查看spark 服务
编辑 workers master work-1 work-2编辑masters master:8070编辑 flink-conf.yaml rest.port: 8070 jobmanager.rpc.address: master运行界面 这一部分很重要,尤其是spark和flink, 后面会介绍一些spark网络监控二次开发的相关教程 hadoop NameNode http://master:9870/ hadoop ResourceManager http://master:8088/ hbase http://master:16010/ spark http://master:8090/ flink http://master:8070/ 参考文献 hadoop.apache.org/docs/r3.2.4… hbase.apache.org/book.html#s… nightlies.apache.org/flink/flink… spark.apache.org/docs/latest… cwiki.apache.org/confluence/… zeppelin.apache.org/docs/0.10.1… zeppelin.apache.org/docs/0.10.1… zeppelin.apache.org/docs/0.10.1… zeppelin.apache.org/docs/0.10.1… www.jianshu.com/p/f45085e04… www.codeleading.com/article/354… zhuanlan.zhihu.com/p/59805371 developer.aliyun.com/article/625… blog.csdn.net/zheng911209… |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |