大数据Hadoop-Spark集群部署知识总结(一)
大数据Hadoop-Spark集群部署知识总结
一、启动/关闭 hadoop
myhadoop.sh start/stop
分步启动:
第一步:在hadoop102主机上 sbin/start-dfs.sh
第二步:在hadoop103主机上 sbin/start-yarn.sh
分步关闭:
第一步:在hadoop103主机上 sbin/stop-yarn.sh
第二步:在hadoop102主机上 sbin/stop-dfs.sh
myhadoop.sh脚本文件内容
#!/bin/bash
if [ $# -lt 1 ]
then
echo "No Args Input..."
exit ;
fi
case $1 in
"start")
echo " =================== 启动 hadoop集群 ==================="
echo " --------------- 启动 hdfs ---------------"
ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
echo " --------------- 启动 yarn ---------------"
ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
echo " --------------- 启动 historyserver ---------------"
ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
echo " =================== 关闭 hadoop集群 ==================="
echo " --------------- 关闭 historyserver ---------------"
ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
echo " --------------- 关闭 yarn ---------------"
ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
echo " --------------- 关闭 hdfs ---------------"
ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
echo "Input Args Error..."
;;
esac
二、启动/关闭 zookeeper
myzk.sh start/stop
分步启动/关闭:
bin/zkServer.sh start
bin/zkServer.sh stop
myzk.sh脚本文件内容
for host in hadoop102 hadoop103 hadoop104
do
case $1 in
"start")
ssh $host "source /etc/profile;/opt/module/zookeeper-3.5.7/bin/zkServer.sh $1"
echo "$host zk is running..."
echo "-----------------------------"
;;
"stop")
ssh $host "source /etc/profile;/opt/module/zookeeper-3.5.7/bin/zkServer.sh $1"
echo "$host zk is stopping..."
echo "-----------------------------"
;;
*)
echo '输入有误!'
;;
esac
done
三、启动Hbase
bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver
bin/hbase-daemon.sh stop master
bin/hbase-daemon.sh stop regionserver
bin/start-hbase.sh
bin/stop-hbase.sh
四、常见端口号总结
50070:HDFSwebUI的端口号
8485:journalnode默认的端口号
9000:非高可用访问数rpc端口
8020:高可用访问数据rpc
8088:yarn的webUI的端口号
8080:master的webUI,Tomcat的端口号
7077:spark基于standalone的提交任务的端口号
8081:worker的webUI的端口号
18080:historyServer的webUI的端口号
4040:application的webUI的端口号
2181:zookeeper的rpc端口号
9083:hive的metastore的端口号
60010:Hbase的webUI的端口号
6379:Redis的端口号
8087:sparkwebUI的端口号 sbin/start-master.sh 文件可以修改端口号,默认是8080,我改为8081
9092:kafka broker的端口
五、启动Hive
- 启动metastore hive --service metastore
- 启动hiveserver2 bin/hive --service hiveserver2
- 启动hive (/opt/module/hive):bin/hive
hive建表:
create table test1
(InvoiceNo String, StockCode String, Description String, Quantity String, InvoiceDate String, UnitPrice String, CustomerID String, Country String)
ROW format delimited fields terminated by ',' STORED AS TEXTFILE;
导入数据:
load data local inpath '/opt/module/data/test.csv' into table test1;
sqoop导出到mysql:
bin/sqoop export \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000429 \
--table sale \
--num-mappers 1 \
--export-dir /user/hive/warehouse/sale \
--input-fields-terminated-by ","
sqoop导入到hive:
bin/sqoop import \
> --connect jdbc:mysql://hadoop102:3306/company \
> --username root \
> --password 123456 \
> --table staff \
> --num-mappers 1 \
> --hive-impo
> --fields-terminated-by "\t" \
> --hive-overwrite \
> --hive-table 数据库名.staff_hive
sql建表:
USE `company`;
CREATE TABLE `sale1` (
`day_id` VARCHAR(50) COLLATE utf8_bin DEFAULT NULL,
`sale_nbr` VARCHAR(50) COLLATE utf8_bin DEFAULT NULL,
`cnt` VARCHAR(50) COLLATE utf8_bin DEFAULT NULL,
`round` VARCHAR(50) COLLATE utf8_bin DEFAULT NULL
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `sale2` (
`day_id` varchar(50) COLLATE utf8_bin DEFAULT NULL,
`sale_nbr` varchar(50) COLLATE utf8_bin DEFAULT NULL,
`cnt` varchar(50) COLLATE utf8_bin DEFAULT NULL,
`round` varchar(50) COLLATE utf8_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
六、Spark
- 安装Spark后配置 classpath
$ cd /usr/local/spark
$ cp ./conf/spark-env.sh.template ./conf/spark-env.sh #拷贝配置文件
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath) 这个路径是hadoop的安装路径
- local模式启动spark: ./bin/spark-shell

安装sbt
vim ./sbt
启动脚本文件内容如下:
#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"增加可执行权限命令: chmod u+x ./sbt
simple.sbt文件内容(注意版本号和名字)
name := "Simple Project"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0"
七、配置Spark集群
- 主机环境变量
vim ~/.bashrc
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
$ source ~/.bashrc
- 从机环境变量
$ cd /usr/local/spark/
$ cp ./conf/slaves.template ./conf/slaves
把默认内容localhost替换成如下内容:
hadoop103
hadoop104
- 配置spark-env.sh
- 注意SPARK_MASTER_IP 要填自己的主机IP地址
- SPARK_DIST_CLASSPATH和HADOOP_CONF_DIR 都是主机的hadoop路径
$ cp ./conf/spark-env.sh.template ./conf/spark-env.sh
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_IP=192.168.1.104
- 分发到从机(待分发的路径最好已经建立好且是空的)
cd /usr/local/
tar -zcf ~/spark.master.tar.gz ./spark
cd ~
scp ./spark.master.tar.gz hadoop103:/home/hadoop
scp ./spark.master.tar.gz hadoop104:/home/hadoop
在从机上进行如下操作:
sudo rm -rf /usr/local/spark/
sudo tar -zxf spark.master.tar.gz -C /usr/local
sudo chown -R 用户名 /usr/local/spark
八、测试运行
- 首先启动hadoop集群
- 启动spark的主机节点
$ cd /usr/local/spark/
$ sbin/start-master.sh
- 启动spark的从机节点
$ sbin/start-slaves.sh
打开浏览器输入 http://[主机名]:8087

注意端口号冲突问题:
可以在启动的脚本文件里修改WEBUI端口号:也就是在sbin/start-master.sh中修改端口号!
九、关闭退出
- 关闭spark主机
sbin/stop-master.sh
- 关闭Worker从机
sbin/stop-slaves.sh
- 关闭hadoop集群
补充命令:
- cp命令:cp 源文件 目标文件(夹)
负责把一个源文件复制到目标文件(夹)下。如下图所示,复制到文件夹下,则文件名保持不变,复制到文件中,则文件名变更。如果目标文件已经存在或目标文件夹中含有同名文件,则复制之后目标文件或目标文件夹中的同名文件会被覆盖。
- cp -r 命令 :复制源文件夹到目标文件夹下
命令格式为:cp -r 源文件夹 目标文件夹
mv 命令:用来移动文件或者将文件改名
格式:mv [选项] 源文件或目录 目标文件或目录
选项:
-b 若需覆盖文件,则在覆盖文件前先进行备份
-f 强制覆盖,若目标文件已存在同名文件,使用该参数时则直接覆盖而不询问
-i 若目标文件已存在同名文件,则提示询问是否覆盖
-u 若目标文件已存在需移动的同名文件,且源文件比较新,才会更新文件
-t 指定mv的目标目录,改选项使用于移动多个源文件到一个目录的情况,此时目标文件在前,源文件在后chmod
sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户)
0 [000] 无任何权限
4 [100] 只读权限
6 [110] 读写权限
7 [111] 读写执行权限sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
chown (选项)(参数)
选项 描述
-c或——changes 效果类似“-v”参数,但仅回报更改的部分;
-f或–quite或——silent 不显示错误信息;
-h或–no-dereference 只对符号连接的文件作修改,而不更改其他任何相关文件;
-R或——recursive 递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——version 显示指令执行过程;
–dereference 效果和“-h”参数相同;
–help 在线帮助;
–reference=<参考文件或目录> 把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同;
–version 显示版本信息。
当只需要修改所有者时,可使用如下 chown 命令的基本格式:
[root@localhost ~]# chown [-R] 所有者 文件或目录
如果需要同时更改所有者和所属组,chown 命令的基本格式为:
[root@localhost ~]# chown [-R] 所有者:所属组 文件或目录
大数据Hadoop-Spark集群部署知识总结(一)的更多相关文章
- Hadoop记录-Apache hadoop+spark集群部署
Hadoop+Spark集群部署指南 (多节点文件分发.集群操作建议salt/ansible) 1.集群规划节点名称 主机名 IP地址 操作系统Master centos1 192.168.0.1 C ...
- 大数据:spark集群搭建
创建spark用户组,组ID1000 groupadd -g 1000 spark 在spark用户组下创建用户ID 2000的spark用户 获取视频中文档资料及完整视频的伙伴请加QQ群:9479 ...
- 大数据学习——Kafka集群部署
1下载安装包 2解压安装包 -0.9.0.1.tgz -0.9.0.1 kafka 3修改配置文件 cp server.properties server.properties.bak # Lice ...
- 大数据-hadoop HA集群搭建
一.安装hadoop.HA及配置journalnode 实现namenode HA 实现resourcemanager HA namenode节点之间通过journalnode同步元数据 首先下载需要 ...
- hadoop+spark集群搭建入门
忽略元数据末尾 回到原数据开始处 Hadoop+spark集群搭建 说明: 本文档主要讲述hadoop+spark的集群搭建,linux环境是centos,本文档集群搭建使用两个节点作为集群环境:一个 ...
- 朝花夕拾之--大数据平台CDH集群离线搭建
body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...
- Hadoop分布式集群部署(单namenode节点)
Hadoop分布式集群部署 系统系统环境: OS: CentOS 6.8 内存:2G CPU:1核 Software:jdk-8u151-linux-x64.rpm hadoop-2.7.4.tar. ...
- Hadoop教程(五)Hadoop分布式集群部署安装
Hadoop教程(五)Hadoop分布式集群部署安装 1 Hadoop分布式集群部署安装 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,还有一个处于standby状态 ...
- CDH构建大数据平台-配置集群的Kerberos认证安全
CDH构建大数据平台-配置集群的Kerberos认证安全 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 当平台用户使用量少的时候我们可能不会在一集群安全功能的缺失,因为用户少,团 ...
随机推荐
- 5种高大上的yml文件读取方式,你知道吗?
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 在上一篇文章中,我们从源码角度分析了SpringBoot解析yml配置文件的全流程,那么我们今天就来点实战,总结一下除了烂大街的@Value和@ ...
- String类-intern方法
1 package cn.itcast.p1.string.demo; 2 3 class StringObjectDemo { 4 public static void main(String[] ...
- 整理全网最全K8S集群管理工具、平台
整理常见的整理全网最全K8S集群管理工具.平台解决方案. 1 Rancher Rancher中文官网:https://docs.rancher.cn/ 2 KubeSphere 官网:https:// ...
- 你需要的Grid布局入门教程
一.Grid布局概述 首先,Grid 布局与 Flex布局 有一定的相似性,都可以指定容器内部多个项目的位置.但是,Grid 布局远比 Flex 布局强大! Flex 布局是轴线布局,只能指定&quo ...
- 随机IP代理插件Scrapy-Proxies
安装: pip install scrapy_proxies github: https://github.com/aivarsk/scrapy-proxies scrapy爬虫配置文件setti ...
- 关于基于python2.7的unity自动化测试框架GAutomator测试环境的搭建(源码网盘下载地址:https://pan.baidu.com/s/1c2TXwtU)
关于基于python 2.7的unity自动化测试框架GAutomator测试环境的搭建 百度云盘链接(思维图学习资料):https://pan.baidu.com/s/1dFWExMD 准备工作(具 ...
- 利用application在页面中显示访问次数
在jsp页面中实现. <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...
- k8s-基础篇
搭建k8s环境 Myapp镜像部署扩容pod自愈负载均衡DNS外网访问滚动更新YAML方式部署独立部署podRS副本控制器Deployment-自动扩容Deployment-更新版本Deploymen ...
- Basler相机启动问题xml读取出错
切记!同一张网卡上多网口分别连多相机的时候,不要用同一个网段!!很容易出错!
- Maven仓库的目录结构
_remote.repositories文件 本地库中的包都有一个_remote.repositories文件,示例: #NOTE: This is an Aether internal implem ...