首页 文章 精选 留言 我的

精选列表

搜索[chrome os],共10000篇文章
优秀的个人博客,低调大师

mac os 下安装hadoop-2.7.3+hive-2.1.1+sqoop-1.99.3

hadoop 安装 安装jdk vim ~/.bash_profile export JAVA_HOME="YOUR_JAVA_HOME" export PATH=$PATH:$JAVA_HOME/bin 配置完成后,运行 java -version -------------- java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) ssh免密登入 ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh localhost # 验证 配置hadoop 下载hadoop,解压到指定目录,这里是/opt配置系统变量 vim ~/.bash_profile export HADOOP_HOME=/opt/hadoop-2.7.3 export HADOOP_PREFIX=$HADOOP_HOME export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 修改 /etc/hadoop/hadoop-env.sh export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home export HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop export HADOOP_OPTS="$HADOOP_OPTS -Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk" 修改/etc/hadoop/core-site.xml <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> <description>The name of the default file system.</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/Users/micmiu/tmp/hadoop</value> <description>A base for other temporary directories.</description> </property> <property> <name>io.native.lib.available</name> <value>false</value> <description>default value is true:Should native hadoop libraries, if present, be used.</description> </property> 修改hdfs-site.xml <property> <name>dfs.replication</name> <value>1</value> <!--如果是单节点配置为1,如果是集群根据实际集群数量配置 --> </property> 修改yarn-site.xml <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> 修改mapred-site.xml cp mapred-site.xml.template mapred-site.xml. <property> <name>mapreduce.framework.name</name> <value>yarn</value> <final>true</final> </property> 格式化namenode hadoop namenode -format 启动hdfs和yarn start-dfs.sh start-yarn.sh 查看守护进程是否开启 jps 6917 DataNode 6838 NameNode 2810 Launcher 7130 ResourceManager 7019 SecondaryNameNode 7772 Jps 7215 NodeManager wordcount示例 hdfs dfs -mkdir -p /user/jjzhu/wordcount/in hdfs dfs -put xxxxx.txt /user/jjzhu/wordcount/in hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /user/jjzhu/wordcount/in /user/jjzhu/wordcount/out 运行过程 17/04/07 13:04:10 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032 17/04/07 13:04:10 INFO input.FileInputFormat: Total input paths to process : 1 17/04/07 13:04:10 INFO mapreduce.JobSubmitter: number of splits:1 17/04/07 13:04:11 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1491532908338_0004 17/04/07 13:04:11 INFO impl.YarnClientImpl: Submitted application application_1491532908338_0004 17/04/07 13:04:11 INFO mapreduce.Job: The url to track the job: http://jjzhu:8088/proxy/application_1491532908338_0004/ 17/04/07 13:04:11 INFO mapreduce.Job: Running job: job_1491532908338_0004 17/04/07 13:04:18 INFO mapreduce.Job: Job job_1491532908338_0004 running in uber mode : false 17/04/07 13:04:18 INFO mapreduce.Job: map 0% reduce 0% 17/04/07 13:04:23 INFO mapreduce.Job: map 100% reduce 0% 17/04/07 13:04:29 INFO mapreduce.Job: map 100% reduce 100% 17/04/07 13:04:29 INFO mapreduce.Job: Job job_1491532908338_0004 completed successfully 17/04/07 13:04:29 INFO mapreduce.Job: Counters: 49 File System Counters FILE: Number of bytes read=1141 FILE: Number of bytes written=239913 FILE: Number of read operations=0 FILE: Number of large read operations=0 FILE: Number of write operations=0 HDFS: Number of bytes read=869 HDFS: Number of bytes written=779 HDFS: Number of read operations=6 HDFS: Number of large read operations=0 HDFS: Number of write operations=2 Job Counters Launched map tasks=1 Launched reduce tasks=1 Data-local map tasks=1 Total time spent by all maps in occupied slots (ms)=2859 Total time spent by all reduces in occupied slots (ms)=2527 Total time spent by all map tasks (ms)=2859 Total time spent by all reduce tasks (ms)=2527 Total vcore-milliseconds taken by all map tasks=2859 Total vcore-milliseconds taken by all reduce tasks=2527 Total megabyte-milliseconds taken by all map tasks=2927616 Total megabyte-milliseconds taken by all reduce tasks=2587648 Map-Reduce Framework Map input records=1 Map output records=118 Map output bytes=1219 Map output materialized bytes=1141 Input split bytes=122 Combine input records=118 Combine output records=89 Reduce input groups=89 Reduce shuffle bytes=1141 Reduce input records=89 Reduce output records=89 Spilled Records=178 Shuffled Maps =1 Failed Shuffles=0 Merged Map outputs=1 GC time elapsed (ms)=103 CPU time spent (ms)=0 Physical memory (bytes) snapshot=0 Virtual memory (bytes) snapshot=0 Total committed heap usage (bytes)=329252864 Shuffle Errors BAD_ID=0 CONNECTION=0 IO_ERROR=0 WRONG_LENGTH=0 WRONG_MAP=0 WRONG_REDUCE=0 File Input Format Counters Bytes Read=747 File Output Format Counters Bytes Written=779 查看结果 hdfs dfs -ls /user/jjzhu/wordcount/out -rw-r--r-- 1 didi supergroup 0 2017-04-07 13:04 /user/jjzhu/wordcount/out/_SUCCESS -rw-r--r-- 1 didi supergroup 779 2017-04-07 13:04 /user/jjzhu/wordcount/out/part-r-00000 hdfs dfs -cat /user/jjzhu/wordcount/out/part-r-00000 A 1 Other 1 Others 1 Some 2 There 1 a 1 access 2 access); 1 according 1 adding 1 allowing 1 ...... 关闭hadoop stop-hdfs.sh stop-yarn.sh 安装hive 下载解压配置环境变量export HIVE_HOME=/opt/hive-2.1.1export PATH=$HIVE_HOME/bin:$PATH 配置hive cd /opt/hive/conf cp hive-env.sh.template hive-env.sh cp hive-default.xml.template hive-site.xml vim hive-env.sh HADOOP_HOME=/opt/hadoop-2.7.3 export HIVE_CONF_DIR=/opt/hive-2.1.1/conf export HIVE_AUX_JARS_PATH=/opt/hive-2.1.1//lib 下载mysql-connector-xx.xx.xx.jar 到lib下 vim hive-site.xml将所有${system:java.io.tmpdir} 和 ${system:user.name}替换并配置mysql数据库连接信息 <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> 为hive创建HDFS目录 hdfs dfs -mkdir -p /usr/hive/warehouse hdfs dfs -mkdir -p /usr/hive/tmp hdfs dfs -mkdir -p /usr/hive/log hdfs dfs -chmod -R 777 /usr/hive 初始化数据库 ./bin/schematool -initSchema -dbType mysql mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | hive | | mysql | | performance_schema | | sys | +--------------------+ mysql> use hive; Database changed mysql> show tables; +---------------------------+ | Tables_in_hive | +---------------------------+ | AUX_TABLE | | BUCKETING_COLS | | SORT_COLS | | TABLE_PARAMS | | TAB_COL_STATS | | TBLS | | TBL_COL_PRIVS | | TBL_PRIVS | | TXNS | | TXN_COMPONENTS | | TYPES | | TYPE_FIELDS | | VERSION | | WRITE_SET | +---------------------------+ 启动hive jjzhu:opt didi$ hive SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/hive-2.1.1/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.3/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] Logging initialized using configuration in jar:file:/opt/hive-2.1.1/lib/hive-common-2.1.1.jar!/hive-log4j2.properties Async: true Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases. hive> 安装sqoop 下载解压配置环境变量 export $SQOOP_HOME=/opt/sqoop-1.99.7 export SQOOP_SERVER_EXTRA_LIB=$SQOOP_HOME/extra export PATH=$SQOOP_HOME/bin:$PATH 修改sqoop配置 在conf目录下的两个主要配置文件sqoop.properties和sqoop_bootstrap.properties主要修改sqoop.properties org.apache.sqoop.submission.engine.mapreduce.configuration.directory=/opt/hadoop-2.7.3/etc/hadoop org.apache.sqoop.security.authentication.type=SIMPLE org.apache.sqoop.security.authentication.handler=org.apache.sqoop.security.authentication.SimpleAuthenticationHandler org.apache.sqoop.security.authentication.anonymous=true 验证配置是否有效 jzhu:bin didi$ ./sqoop2-tool verify Setting conf dir: /opt/sqoop-1.99.7/bin/../conf Sqoop home directory: /opt/sqoop-1.99.7 Sqoop tool executor: Version: 1.99.7 Revision: 435d5e61b922a32d7bce567fe5fb1a9c0d9b1bbb Compiled on Tue Jul 19 16:08:27 PDT 2016 by abefine Running tool: class org.apache.sqoop.tools.tool.VerifyTool 0 [main] INFO org.apache.sqoop.core.SqoopServer - Initializing Sqoop server. 12 [main] INFO org.apache.sqoop.core.PropertiesConfigurationProvider - Starting config file poller thread SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.3/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/hive-2.1.1/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. Verification was successful. Tool class org.apache.sqoop.tools.tool.VerifyTool has finished correctly. jjzhu:bin didi$ 开启服务器 ./bin/sqoop2-server start jps 9505 SqoopJettyServer ....

优秀的个人博客,低调大师

Android 7.0 调取系统相机崩溃解决android.os.FileUriExposedException

写在前面 最近由于廖子尧忙于自己公司的事情和 OkGo (一款专注于让网络请求更简单的网络框架) ,故让LZ 接替维护 ImagePicker(一款支持单、多选、旋转和裁剪的图片选择器),也是处理了诸多bug,最近总算趋于稳定了,这里就把 Android N (API 24) 以上的相机适配方案分享给大家。 Android Nougat 也是被更新很久了,作为一名 Andorid 开发者,我们有义务时刻准备自己调整 TargetSdkVersion 为最近的一个,于是从之前的 23 直接提高到了 25 。 和往常一样,每当我们调整 TargetSdkVersion,我们需要检查我们的代码的每一部分工作的非常好。如果你只是简单地更改代码,我可以说,你的应用程序正在崩溃或故障的高风险。在这种情况下,当你改变你的应用程序的 TargetSdkVersion 24,我们需要检查每一个功能完美的作品在 Android 的牛轧糖(24)以上。 拿到 7.0 的小米 5 测试机后,迫不及待对自己维护的 ImagePicker 测试了一个遍,然而的确和大家所提的 issuse 一样,在调用系统相机的时候直接崩溃了。 到底是什么引发了 7.0 相机崩溃 跟进错误日志到源码发现,在我们调用相机获取 Uri 的时候发生了崩溃。 原因很明显,file:// 不被允许作为一个附加的 Uri 的意图,否则会抛出 FileUriExposedException 。 为什么在 Android Nougat 下 file:// 不被允许? 你可能会很好奇为什么 Android 团队决定改变这种行为。 其实背后有一个很好的理由,如果文件路径被发送到目标应用程序(相机应用程序在这种情况下),文件将完全访问通过相机应用程序的过程,而不仅仅只有发起者能收到。 但让我们考虑一下,实际上是由我们的应用程序去启动摄像头拍照,并保存作为我们的应用程序的代表文件。因此,该文件的访问权限应该是我们的应用程序而不是摄像头应用程序本身。这就是为什么现在 file:// 在 TargetSdkVersion 24 中要求每一位开发者都去完成这个任务。 那到底怎么解决? 既然 file:// 不再被允许,那我们应该怎么处理呢?答案是通过 FileProvider 去解决它。 我们应该怎么让 FileProvider 解决好它。 1、首先是在 AndroidManifest.xml 中申明 <provider android:authorities="${applicationId}.provider" android:name=".ImagePickerProvider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/> </provider> 2、创建一个 provider_paths.xml 文件在 res 文件夹下的 xml 文件夹下。 <?xml version="1.0" encoding="utf-8"?> <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-path name="external_files" path="."/> </paths> 3、在适当的地方去替换它 Uri uri; if (VERSION.SDK_INT <= VERSION_CODES.M){ uri = Uri.fromFile(takeImageFile); }else{ /** * 7.0 调用系统相机拍照不再允许使用Uri方式,应该替换为FileProvider * 并且这样可以解决MIUI系统上拍照返回size为0的情况 */ uri = FileProvider.getUriForFile(activity, ProviderUtil.getFileProviderName(activity), takeImageFile); } Log.e("nanchen",ProviderUtil.getFileProviderName(activity)); takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,uri); 几点说明 对于上面的三步操作,做几点说明: 1、在 AndroidManifest.xml 文件中对 Provider 的 name 属性申明为什么是 .ImagePickerProvider (实际上这是一个继承自 FileProvider 但什么也没实现的类) 而不直接把 name 赋为 android.support.v4.content.FileProvider ? 这是因为 ImagePicker 作为一个图片选择框架,而你的 App 中同样可能会有申明,为了避免 Android Studio 在编译的时候 merge 各个 Module 导致冲突,这里保险起见的申明了一个不一样的名字。 2、为什么在 AndroidManifest.xml 文件中申明的 authority 属性为 ${applicationId}.provider , 而不是固定的名字。 这是因为在 Android 中,要求 authority 必须是唯一的,如果你在定义一个 provider 的时候为它指定一个唯一的 authority,这里且拿 ImagePicker 做比方,假如你在一个 App 上使用了 ImagePicker 作为图片选择框架,而你在另外一个应用中再次使用 ImagePicker 的时候,系统会检查当然已安装应用的 authority 是否和你要安装应用的 authority 相同,如果相同则会弹出下面的警告,并安装失败。 所以我们在定义 authorities 的时候采用 ApplicationId + Provider 的形式,在获取 authorities 的时候,我们可以通过包名 + Provider 的方式获取。代码如下: package com.lzy.imagepicker.util; import android.content.Context; /** * 用于解决 Provider 冲突的 util * * Author: nanchen * Email: liushilin520@foxmail.com * Date: 2017-03-22 18:55 */ public class ProviderUtil { public static String getFileProviderName(Context context){ return context.getPackageName()+".provider"; } } 写在最后 以上便解决了 Android N 的相机崩溃问题,如有写的不对的地方,欢迎大家在评论区留言。 做不完的开源,写不完的矫情。欢迎扫描下方二维码或者公众号搜索「nanchen」关注我的微信公众号,目前多运营 Android ,尽自己所能为你提升。如果你喜欢,为我点赞分享吧~ nanchen

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册