首页 > 其他分享 >mac spark+hive+hadoop 数据分析环境搭建(单机简版)

mac spark+hive+hadoop 数据分析环境搭建(单机简版)

时间:2023-07-06 16:11:13浏览次数:44  
标签:bin 简版 hadoop hive mysql HOME spark

apache产品下载地址: http://archive.apache.org/dist/ mysql5.6 brew方式安装配置: Icon   mysql做为元数据存储使用。 brew search mysql brew install [email protected]   配置mysqlhome: export MYSQL_HOME=/usr/local/opt/[email protected] 启动mysql: $MYSQL_HOME/bin/mysql.server start $MYSQL_HOME/bin/mysql -uroot (root用户登录,5.6默认root用户无密码) 重置root密码: bogon:~ meicai$ $MYSQL_HOME/bin/mysql.server stop bogon:~ meicai$ bash mysqld_safe --user=mysql --skip-grant-tables --skip-networking & bogon:~ meicai$ mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('新密码') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit; 元数据hive用户配置: insert into mysql.user(Host,User,Password) values("localhost","hive",password("hive")); 用这个 create user 'hive'@'%' identified by 'hive'; (insert 创建会提示很多字段没有默认值,可以在客户端复制行创建,然后参考重置root密码去重置hive用户密码,可以直接 select * from mysql.user 查询所有用户) 创建hive用户: create database hive; grant all on hive.* to hive@'%' identified by '密码'; grant all on hive.* to hive@'localhost' identified by '密码'; flush privileges; show grants for hive@'localhost'; (查看权限) 验证hive用户: mysql -uhive -phive (若报错Access denied for user***,按照 上面描述的 重置root密码 方法处理) show databases; mysql卸载: brew卸载命令 :brew unstall mysql版本号;建议同时执行安装包卸载命令。 安装包安装卸载方式: sudo rm /usr/local/mysql sudo rm -rf /usr/local/var/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* vim /etc/hostconfig and removed the line MYSQLCOM=-YES-rm -rf ~/Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /var/db/receipts/com.mysql.* 5.7版本修改 mysql 密码策略:(5.6默认貌似没有限制) show variables like 'validate_password%'; set global validate_password_policy=0; set global validate_password_length=1; 报错处理: 用户登录时报错误信息 Access denied for user '用户名'@'localhost' ,按照 上面描述的 重置root密码 方法处理。 hive 安装配置: Icon   hive是构建在hadoop HDFS之上的一个数据仓库; hive可以用来进行数据的抽取转换和加载(ETL); hive定义了类似sql的语言,称为hsql; hive允许开发人员开发自定义的mapper和reducer程序来处理內建的mapper和reducer无法完成的复杂分析; hive是一个sql解析引擎,它将sql语句转化成M/R job然后在hadoop执行; hive的表其实就是 HDFS的目录/文件; hive将元数据存储在数据库中,支持mysql derby等数据库,hive元数据包括 表名 表列 分区 表的属性(是否为外部表) 表数据所在目录等信息; spark使用时需要mysql作为元数据的存储介质,元数据配置在hive-site.xml中。 元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息, 用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据。 1.下载apache-hive-1.2.2-bin.tar.gz地址:http://mirror.stjschools.org/public/apache/hive/hive-1.2.2/ 2.解压后重命名文件夹hive-1.2.2 (此时无需任何配置即可启动,需注意:由于使用mysql本地模式配置,不建议解压后直接尝试 执行hive命令启动,会默认使用derby库嵌入模式启动, 在启动文件夹中自动创建metastore_db目录 影响后续mysql本地模式配置。) 3.添加环境变量 export HIVE_HOME=/**/hive-1.2.2 4.创建hive-site.xml cp hive-1.2.2/conf/hive-default.xml.template hive-1.2.2/conf/hive-site.xml 5.拷贝mysql-connector-java-5.1.26-bin.jar (百度下载) 到hive 的lib下面 6.把jline-2.12.jar拷贝到hadoop /share/hadoop/yarn/lib/目录下,替代jline-*.jar,替换前做好备份. (JLine 是一个用来处理控制台输入的Java类库) 7.1配置 hive-site.xml     hive.metastore.warehouse.dir /usr/local/opt/hive/warehouse     hive.metastore.local true     javax.jdo.option.ConnectionURL jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true     javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver     javax.jdo.option.ConnectionUserName hive     javax.jdo.option.ConnectionPassword 密码     7.2配置 hive-env.sh 添加如下配置: export HADOOP_HEAPSIZE=1024 HADOOP_HOME=${HADOOP_HOME} (此处需安装hadoop后配置环境变量) export HIVE_CONF_DIR=/**/hive-1.2.2/conf export HIVE_AUX_JARS_PATH=/**/hive-1.2.2/lib   需要再执行:./schematool -initSchema -dbType mysql   8.测试 注意!需要先修改mysql字符集 否则对hive库表操作后续都会有问题: mysql> set character_set_database=latin1; set character_set_server=latin1; $ cd /hive-1.2.2/bin $ hive (启动时报错Resources are low on NN. Please add or free up more resources then turn off safe mode manually. 根据提示需要执行 hdfs dfsadmin -safemode leave 解决)   hive> show databases; OK customer_center default Time taken: 1.172 seconds, Fetched: 2 row(s) 9.本地开发需要创建必要的库和表并导入适量数据。 建表导数据时候报错: message:For direct MetaStore DB connections, we don't support retries at the client level. 这是由于字符集的问题,需要配置MySQL的字符集: mysql> set character_set_database=latin1; set character_set_server=latin1; 10.关于本地导入数据的说明 ETL系统里的建表语句最后一行是 (ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';) 本地建表时需要把 '\t' 改为 ',' 因为csv格式数据 是 逗号分隔的。 导入脚本:load data local inpath '/Users/meicai/Downloads/**.csv' overwrite into table `表名`; 本地导出脚本:hive -e "insert overwrite local directory '/Users/meicai/Downloads/**.csv' row format delimited fields terminated by ',' 建库建表后可在mysql的hive数据库中查看到元数据信息,说明正确配置使用。 hadoop 单机配置: Icon   下载hadoop-2.7.2.tar.gz 单机配置文档地址:http://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-common/SingleCluster.html#Standalone_Operation 主要可参见配置文档中的core-site.xml;hdfs-site.xml;mapred-site.xml;yarn-site.xml 配置。 本地免密登录配置(重要): $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 环境变量配置: export HADOOP_HOME=/**/hadoop-2.7.2 export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home namenode节点格式化: $HADOOP_HOME/bin/hdfs namenode -format 必须执行hdfs名称节点格式化 (重新格式化意味着集群的数据会被全部删除) namenode和datanode 的dir位置已经在 hdfs-site.xml 中配置 启动hadoop: $HADOOP_HOME/sbin/start-all.sh 访问地址测试是否已经启动:http://localhost:50070 http://localhost:8088 关闭hadoop: $HADOOP_HOME/sbin/stop-all.sh 报错/bin/bash: /bin/java: No such file or directory解决方式: https://stackoverflow.com/questions/33968422/bin-bash-bin-java-no-such-file-or-directory spark 安装配置: Icon   下载spark-2.1.0-bin-hadoop2.7.tgz spark是scala写的,运行在JVM上,运行环境需要java7+以上;下载安装需要时hadoop兼容的版本 如spark-2.1.0-bin-hadoop2.7.tgz; spark的shell能够处理分布在集群上的数据,spark把数据加载到节点的内存中 使分布式处理数据快速完成,spark的shell可以快速完成迭代式计算 实时查询和分析。 spark 提供python shell(bin/pyspark) 和scala shell (/bin/spark-shell),本公司使用 scala shell。 spark的安装下载压缩包解压即可; 配置环境变量: export SPARK_HOME=/**/spark-2.1.0-bin-hadoop2.7 重要配置: Configuration of Hive is done by placing your hive-site.xml, core-site.xml (for security configuration), and hdfs-site.xml (for HDFS configuration) file in conf/. (hive配置文件hive-site.xml,hadoop配置文件core-site.xml hdfs-site.xml 需要拷贝到 spark conf/文件夹下) 可以运行hadoop测试类 测试是否正确配置: hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount /slaves /output 使用spark操作hive库时候 需要设置 metastore 服务后台运行: nohup ./hive --service metastore & hadoop与spark比较: hadoop应用场景 离线处理 对时效性要求不高 spark应用场景 时效性要求高的场景 机器学习等领域 迭代计算等场景 因为基于内存 spark不具有HDFS的存储能力 要借助HDFS等持久化数据   IDEA安装scala插件: 0   0   customer-analysis项目配置: 1.config配置,参数 --task 是任务名 ,配置需要执行的任务,暂时有三个任务 Retention,CustomerComplain,CommodityInterest 执行哪个配哪个。 具体线上执行配置在http://deploy.data-platform.yunshanmeicai.com/查询,线上有两个 retentionrate-analysis 和 commodityInterest-analysis 在应用列表里查询。   0 2.代码方面需要注意:sparkSession在RDDManager类中创建, RDDManager

//本地调试配置: private[service] val _spark = SparkSession.builder().appName("customer-analysis")   .config("hive.exec.dynamic.partition", "true")   .config("hive.exec.dynamic.partition.mode", "true")   .config("hive.metastore.uris", "thrift://localhost:9083")   .config("spark.master", "local")   .enableHiveSupport()   .getOrCreate()     //线上配置: private[service] val _spark = SparkSession.builder().appName("customer-analysis")   .config("hive.exec.dynamic.partition", "true")   .config("hive.exec.dynamic.partition.mode", "nonstrict")   .enableHiveSupport().getOrCreate()
  3.本地开发需要的启动项较多,可以配到脚本里启动,如: startSparkEnv.sh
#!/bin/sh #每次启动时 让配置的环境变量生效: source ~/.bash_profile #关闭mysql: $MYSQL_HOME/bin/mysql.server stop #启动mysql: $MYSQL_HOME/bin/mysql.server start #关闭hadoop $HADOOP_HOME/sbin/stop-all.sh #启动hadoop $HADOOP_HOME/sbin/start-all.sh #启动hive metastore hive --service metastore & if [ $? -eq 0 ]; then echo "------------- startSparkWork success" else echo "------------- startSparkWork fail" exit 1 fi
scala教程: http://www.runoob.com/scala/scala-tutorial.html  

标签:bin,简版,hadoop,hive,mysql,HOME,spark
From: https://www.cnblogs.com/robots2/p/17532471.html

相关文章

  • hadoop集群配置 CentOS7 JDK安装 卸载
    1JDK下载下载JDK8下载地址 2SSH访问需要安装JDK的服务器3检查是否有默认安装的JDKjava-version 4卸载自带JDK4.1检查系统安装的OpenJDKrpm-qa|grepopenjdk-i 4.2  删除以上四项openjdk的安装包并且检查后显示删除完毕rpm-e--nodeps需要删除的软......
  • Hadoop版本下载和介绍
    1下载地址1.1官网:官网下载1.2旧版本下载(官方的archive地址):旧版本下载1.3清华大学开源软件镜像站下载(速度较快,只有新版本):清华大学开源软件镜像站2common\core\client的区别2.1Hadoop-commonHadoop-Common是指支持Hadoop模块的常用实用程序和库.2.2Hadoop-core......
  • Hive中怎样创建和查询视图信息?
    视图是从数据库的数据表中选取出来的数据组成的逻辑窗口,它是一个虚拟机表。引入视图后,用户可以将注意力集中在关心的数据上,如果数据来源于多个基本表结构,并且搜索条件比较复杂时,需要编写的查询语句就会比较烦琐,此时可以使用视图将数据查询语句变得简单可行。Hive中的视图是一种无......
  • Apache Hive
    ApacheHive是一个基于Hadoop的数据仓库基础设施。它提供了一种类似于SQL的查询语言,称为HiveQL,用于处理和分析存储在Hadoop分布式文件系统(HDFS)或其他支持Hadoop的文件系统中的大规模数据集。Hive的设计目标是使用户能够执行复杂的分析查询,而无需编写复杂的MapReduce代码。它通过将......
  • Hadoop har 归档实战
    现象:Databus实时同步任务失败报错:结论:当前hdfs目录下超过了最大可容纳文件个数,默认是1048576目录统计#统计该目录下文件数量HADOOP_CLIENT_OPTS="-Xmx4096m"hdfsdfs-ls-h/databus_online_class/class/class_stock_relation|wc-l#查看该目录下最新的10个文件HADOOP_CL......
  • 3、apache-kylin-3.1.3-bin-hadoop3基本操作(创建model和cube、数据查詢)
    apache-kylin-3.1.3-bin-hadoop3系列文章1、apache-kylin-3.1.3-bin-hadoop3介绍及部署、验证详解2、apache-kylin-3.1.3-bin-hadoop3集群部署3、apache-kylin-3.1.3-bin-hadoop3基本操作(创建model和cube、数据查詢)4、apache-kylin-3.1.3-bin-hadoop3增量构建、全量构建详细示例......
  • 5、apache-kylin-3.1.3-bin-hadoop3 segment管理及JDBC操作
    apache-kylin-3.1.3-bin-hadoop3系列文章1、apache-kylin-3.1.3-bin-hadoop3介绍及部署、验证详解2、apache-kylin-3.1.3-bin-hadoop3集群部署3、apache-kylin-3.1.3-bin-hadoop3基本操作(创建model和cube、数据查詢)4、apache-kylin-3.1.3-bin-hadoop3增量构建、全量构建详细示例......
  • 9、Elasticsearch7.6.1 ES与HDFS相互转存数据-ES-Hadoop
    Elasticsearch系列文章1、介绍lucene的功能以及建立索引、搜索单词、搜索词语和搜索句子四个示例实现2、Elasticsearch7.6.1基本介绍、2种部署方式及验证、head插件安装、分词器安装及验证3、Elasticsearch7.6.1信息搜索示例(索引操作、数据操作-添加、删除、导入等、数据搜索及分......
  • hadoop如何为用户赋予操作权限
    #首先使用vi命令在hdfs-site.xml最后加上下面配置<property><name>dfs.permissions.superusergroup</name><value>自定义组名</value></property> #把用户添加到组,先进入root模式usermod-a-G组名<账号名> #给用户赋予所有权限 chown-R用户名:组名/usr/local/ha......
  • 大数据面试题集锦-Hadoop面试题(三)-MapReduce
    你准备好面试了吗?这里有一些面试中可能会问到的问题以及相对应的答案。如果你需要更多的面试经验和面试题,关注一下"张飞的猪大数据分享"吧,公众号会不定时的分享相关的知识和资料。目录1、谈谈Hadoop序列化和反序列化及自定义bean对象实现序列化?2、FileInputFormat切片机制3、......