文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

大数据Hadoop-Spark集群部署知识总结(一)

2015-05-16 11:03

关注

大数据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

  1. 启动metastore hive --service metastore
  2. 启动hiveserver2 bin/hive --service hiveserver2
  3. 启动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 "	" 
> --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

  1. 安装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的安装路径

  1. local模式启动spark: ./bin/spark-shell

  1. 安装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

  2. simple.sbt文件内容(注意版本号和名字)

name := "Simple Project"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0"

七、配置Spark集群

  1. 主机环境变量
vim ~/.bashrc

export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

$ source ~/.bashrc
  1. 从机环境变量
$ cd /usr/local/spark/
$ cp ./conf/slaves.template ./conf/slaves

把默认内容localhost替换成如下内容:
hadoop103
hadoop104
  1. 配置spark-env.sh
$ 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 

  1. 分发到从机(待分发的路径最好已经建立好且是空的)
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

八、测试运行

  1. 首先启动hadoop集群
  2. 启动spark的主机节点
$ cd /usr/local/spark/
$ sbin/start-master.sh
  1. 启动spark的从机节点
$ sbin/start-slaves.sh

打开浏览器输入 http://[主机名]:8087

注意端口号冲突问题:

可以在启动的脚本文件里修改WEBUI端口号:也就是在sbin/start-master.sh中修改端口号!

九、关闭退出

sbin/stop-master.sh
sbin/stop-slaves.sh

补充命令:

负责把一个源文件复制到目标文件(夹)下。如下图所示,复制到文件夹下,则文件名保持不变,复制到文件中,则文件名变更。如果目标文件已经存在或目标文件夹中含有同名文件,则复制之后目标文件或目标文件夹中的同名文件会被覆盖。

命令格式为:cp -r 源文件夹 目标文件夹


当只需要修改所有者时,可使用如下 chown 命令的基本格式:

[root@localhost ~]# chown [-R] 所有者 文件或目录

如果需要同时更改所有者和所属组,chown 命令的基本格式为:

[root@localhost ~]# chown [-R] 所有者:所属组 文件或目录

原文地址:https://www.cnblogs.com/rainbow-1/archive/2022/03/02/15956968.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯