工作中的一些错误解决记录

1) 2018-10-19 CDH OOZIE UI页面打不开:
   解决: 
   把下载好的ext-2.2.zip拷贝到Oozie主机的/var/lib/oozie目录下
   运行命令unzip  ext-2.2.zip解压(没有包就下载)
   
2)运行spark2报错:
    ava.lang.NoClassDefFoundError: scala/runtime/LambdaDeserialize
    解决:
    idea配置的scala-sdk版本是2.12.4,而远程spark-shell版本是2.11.8,所以确实两个版本是不一致的。网上很多的解决方法是:
        1、下载scala-2.11.8
    2、File -> Default Project Structure -> Global Libraries,修改scala-sdk信息   
    
    
3)hue配置oozie 工作流参考:https://cloud.tencent.com/developer/article/1078092 ,参考2:https://cloud.tencent.com/developer/article/1078092
   报错:java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.SparkMain not found
   解决:指定apark2 
   在选项PROPERTIES 指定使用spark2:oozie.action.sharelib.for.spark spark2 (必须这样写,不要指定到路径)
   
4)运行cdh的oozie的spark2工作流报错:
   Main class [org.apache.oozie.action.hadoop.SparkMain], main() threw exception, org/apache/spark/sql/SparkSession$    
   这是因为没有指定好spark2路径,oozie 会自动用spark1运行程序,造成找不到sparksession
   
   

10)继续运行oozie 报错:Main class [org.apache.oozie.action.hadoop.SparkMain], main() threw exception, Exception when registering SparkListener
    解决:参考:https://cloud.tencent.com/developer/article/1078092   
    
11)oozie配置sqoop 一些问题参考地址:https://blog.csdn.net/afanyusong/article/details/79162559
    报找不到驱动,把oralce驱动放到sqoop的jars目录就OK
    
12)oozie运行sqoop 报错:AccessControlException: Permission denied: user=hue, access=WRITE, inode="/user/hdfs":hdfs:supergroup:drwxr-xr-x    
     解决:把/user/hdfs/* 的目录改成777 
       
13)sqoop导入数据报错:

     No primary key could be found for table ZLHIS.MDH_MDH. Please specify one with --split-by or perform a sequential import with '-m 1'.
     原来脚本:import --connect jdbc:oracle:thin:@192.168.148.225:1521:orcl1 --username zlhis --password zlhis --table ZLHIS.MDH_MDH --target-dir /user/hdfs/MDH_MDH -m 6
     改成 -m 1 就可以 
       
14)oozie提交定时任务时间差问题:
     解决: 参考:https://blog.csdn.net/abysscarry/article/details/82156686 
     Hue中配置
       1)都是通过hue对oozie进行配置,所以首先保证hue中 time_zone为 Asia/Shanghai 
       2)可以在oozie的web控制台 setting 选项中看到默认时区为GMT时区 ,改为CST(Asia/shanghai)
       3)修改oozie-server配置
        我们进入oozie配置页面,在 oozie-site.xml 的 Oozie Server 高级配置代码段(安全阀)中添加:

    <property>
        <name>oozie.processing.timezone</name>
        <value>GMT+0800</value>
    </property>
  4)提交任务时候,选择Asia/Shanghai
  
  
  
15)oozie提交任务报错:
      错误提示:Error: E1003 : E1003: Invalid coordinator application attributes, Coordinator job with frequency [2] minutes is faster than allowed maximum of 5 minutes (oozie.service.coord.check.maximum.frequency is set to true)
    错误原因:开启了检查频率,导致5分钟以内的频率运行失败
    解决:关闭频率检查功能 配置oozie-site.xml文件

      <property>
          <name>oozie.service.coord.check.maximum.frequency</name>
          <value>false</value>
      </property>
      
      注意定时任务,在Every选项上也要填写好时间,否则不一定能正确实行定时任务
  
  
16)在hue中的oozie工作流中拖入多个任务就能完成多个任务的顺序执行
  
  
  hadoop 一些命令:
    hadoop fs -cat /test/gonganbu/scene_analysis_suggestion/* | shuf -n 5

    返回前几行的样本数据 
    hadoop fs -cat /test/gonganbu/scene_analysis_suggestion/* | head -100

    返回最后几行的样本数据 
    hadoop fs -cat /test/gonganbu/scene_analysis_suggestion/* | tail -5

    查看文本行数 
    hadoop fs -cat hdfs://172.16.0.226:8020/test/sys_dict/sysdict_case_type.csv |wc -l

    查看文件大小(单位byte) 
    hadoop fs -du hdfs://172.16.0.226:8020/test/sys_dict/*

    hadoop fs -count hdfs://172.16.0.226:8020/test/sys_dict/*

17)IDEA运行spark2.3操作hbase报错:Spark2.3 - 运行异常NoSuchMethodError:io.netty.buffer.PooledByteBufAllocator.metric()
    解决:这是版本冲突引起,解决,在pom.xml加入:
    <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>4.1.18.Final</version>
        </dependency>
    </dependencies>
    </dependencyManagement>

    
18)IDEA运行spark2.3操作hbase 继续报错:
    No IP address found for server: master:2181
    java.net.UnknownHostException: master
    
    解决:
    conf.set("hbase.zookeeper.property.clientPort", "2181")
    conf.set("hbase.zookeeper.quorum", "192.168.148.94")
    conf.set("hbase.master", "192.168.148.94:60000 ")
  
  
  
19)sqoop 导入数据时需要注意
    导入时需要注意:
    1)数据库表名需要大写;
    Imported Failed: There is no column found in the target table xxx. Please ensure that your table name is correct.
    2)数据库表没有主键时,需要指定--split-by参数或者使用--autoreset-to-one-mapper参数;
    Error during import: No primary key could be found for table xxx.
    3)使用查询语句(--e或--query)导入时,需要指定--split-by参数及--target-dir参数;
    When importing query results in parallel, you must specify --split-by. Must specify destination with --target-dir.
    4)使用查询语句导入时,需要在where子句中加入$CONDITIONS
    java.io.IOException: Query [select * from xxx] must contain '$CONDITIONS' in WHERE clause.

20)oozie调度名字不能用中文,否则运行报错
  
21)hadoop hdfs 优化参考:https://www.cnblogs.com/leocook/p/hadoop_optimize01.html
                           https://blog.csdn.net/pansaky/article/details/83347357
    
    在CDH的HDFS配置搜索
    存储相关的磁盘配置(HDFS数据存储):dfs.data.dir
    参数说明:HDFS的数据存储目录,建议配置在多块硬盘上,可提高整体IO性能
    /dfs/dn 这是默认路径
    再追加多个目录:/home/dfs/dn
    
22)从Hdfs 导入到postgresql数据库,报错找不到驱动,
    解决:把驱动包放到:/opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/sqoop/lib
    并修改777 权限,为了保险,也放到sqoop 安装目录的lib中 

  
23)从hdfs导数据到postgrsql报错:
  sqoop 命令详解:https://blog.csdn.net/myrainblues/article/details/43673129
    ERROR tool.ExportTool: Error during export: 
    Export job failed!
    解决:
    查看日志,得到更加详细的信息,日志目录:/user/history/done/2018/11/21/000000
    
    1)sqoop export:java.lang.RuntimeException: Can't parse input data 一般为没有处理分隔符,和null字段:
    解决:--input-null-string '\\N' --input-null-non-string '\\N' --input-fields-terminated-by ',' --lines-terminated-by '\n' 
    null字段,分隔符,和结束符
    2)继续运行继续报错:column "total_money" is of type money but expression is of type double precision
    
    所有以上问题都是Hdfs目录的数据问题,在durg_use 里面有个字段是\N sqoop 无法解析,只要数据没问题,在脚本都不需要加上面的东东。
    直接:sqoop export --connect jdbc:postgresql://192.168.148.231:5432/edw --username gpadmin --password gpadmin --table department --input-fields-terminated-by '分隔符' --export-dir /user/hdfs/DEPARTMENT -m 1
    
    继续解决hdfs目录里面有\N的问题:
    加--input-null-string '\\N' --input-null-non-string '\\N' 这两句

24)oozie 任务调度从hdfs导数据到postgresql报错找不到驱动,Could not load db driver class: org.postgresql.Driver
  解决:把驱动包放到 Hdfs 目录:/user/oozie/share/lib/lib_20181009095005/sqoop 
                                hdfs dfs -put ./postgresql-42.2.5.jar /user/oozie/share/lib/lib_20181009095005/oozie
  并且重启oozie
  
  
25)使用oozie调用shell方式把hdfs数据导入到postgresql的报错:找不到驱动,
  解决: 把postgresql驱动包放到cp ./postgresql-42.2.5.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/oozie/lib
  和
  cp ./postgresql-42.2.5.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/jars
  以上还是不行,如果单单在一个节点上面安装有sqoop ,因为oozie调度会随机选用集群某一个节点运行,所以真正的解决办法,在这个集群每个节点上都安装有
  sqoop 框架,并且做好配置,
  
  继续运行继续报错:Permission denied: user=hue, access=EXECUTE, inode="/user/yarn":yarn:supergroup:drwx------
  权限问题
  更改/user/yarn的权限和用户所属
  hadoop fs -chmod -R 777 /user/yarn
  运行后自动恢复,无效,
  根本解决:让hue拥有yarn的权限,修改用户Hue权限,在CDH 的hue页面里面有用户权限修改,(次方法有待研究)
  还是不行,暴力方法:直接让整个集群的hdfs 不检查权限,hdfs->配置->hdfs 权限检查->取消,然后重启 
  
  解决上面两个问题继续运行,继续报错: File does not exist: hdfs://cm01.spark.com:8020/user/hue/.staging/job_1542873217341_0006/job.splitmetainfo
  解决:参考:https://community.hortonworks.com/questions/17489/job-init-fail-job-splitmetainfo-file-does-not-exis.html
  在hue上创建yarn用户,用yarn用户提交oozie任务就可以了。
  
  
26)使用oozie调度sqoop 方式从hdfs导数据到postgresql报错:(直接使用命令执行是没有问题的):
    Can't parse input data: '\N,2,215,42,鏉庨珮椋?0.0,0.0,0.0,0.0,0.0,0.0'
    解决:sqoop 命令行 '\\N'使用单引号,oozie里面必须使用"\\N" 双引号,坑爹啊,这个坑。
    参考:https://blog.csdn.net/high2011/article/details/52143002
  
  
27)oozie的sql 写法,和直接在Hive是不一样的,在输入路径(文件形式),是不能写到文件名,只能写到文件的上一个父路径,否则报错
  现在正在解决oozie的XML自定义调度的sql写法报错问题。
  解决:使用Hive2
  参考;https://www.cnblogs.com/en-heng/p/5531583.html
  sql 这样的:create table oozie_test01 as select id,y_r from gx_b_msg_state;
  如果在Hive就会报错找不到表,在HIve2就没事。
  在hive2的job.prepertise中有:jdbcURL=jdbc:hive2://cm01.spark.com:10000/default 配置
  
  
  
28)使用oozie的java api实现事件触发调度,在IDEA 本地提交是OK 的,,打包扔到集群上使用Hue 调度,报错:
  NoClassDefFoundError: org/apache/oozie/client/XOozieClient
  解决:尝试在IDEA 打包的时候,一起吧oozie-client包一起打,集群运行还是报错。
        继续寻找解决方法,吧oozie-client-4.1.0 扔到hdfs的Oozie libpath:/user/oozie/share/lib/lib_20181009095005/oozie ,还是报错
        继续寻找解决方法:在Hue的oozie 工作流配置页面,在files选项中选择需要依赖的包就是oozie-client-4.1.0 所在的hdfs路径位置,(放在哪里都行,只要能访问到就行)
        
        然后解决上面 ,运行又报:org.apache.oozie.action.hadoop.JavaMainException: java.lang.NullPointerException错误
        查看Log 提示是在Hive环节出错,
        yarn (auth:SIMPLE)
        Workflow job submitted
        Workflow job running ...
        Workflow job running ...
        Workflow job running ...
        Heart beat
        Workflow job running ...
        Workflow job running ...
        oozie调度完成
        Running: select count(*) from oozie_test01 这个是在操作hive 阶段,
        
        解决:在使用oozie调度,还没有找到解决方法,可以在idea打所有的依赖包,然后上传服务器,使用java -jar xxxx.jar 方式运行 ,就可以 了
        
  
  
  
29)在数据映射到HIve表的时候,时间字段date,为空,解决办法,把hive的date字段改为string就可以了。
  
30)使用hbase自带的import工具从Hdfs导数据到hbase 报错: not a SequenceFile
      然后使用oozie调度spark 的jar 包,报错:
      NoClassDefFoundError: org/apache/hadoop/hbase/client/Table
      解决;
  
  
31)使用shell方式在hue上配置oozie 调度spark操作hdfs数据到hbase 报错;
       Warning: Local jar /user/hue/oozie/workspaces/hue-oozie-1539071812.33/spark_to_hbase_test01.jar does not exist, skipping.
       java.lang.ClassNotFoundException: sparks.SparkMapJob
       解决:修改脚本,--deploy-mode cluster 改成集群模式
       继续运行继续报另外错:FileNotFoundException: File file:/user/hue/oozie/workspaces/hue-oozie-1539071812.33/spark_to_hbase_test01.jar does not exist
       解决:运行的jar 必须不能在hdfs上(有待研究,应该是可以的),因为oozie 是随机选择一个节点来运行,所以要把jar都要放到所有节点统一目录里(坑爹啊)。
       还有一点,运行模式必须是cluster模式,具体脚本:spark-submit --class sparks.SparkMapJob --master yarn --deploy-mode cluster --driver-memory 4g --executor-memory 2g --executor-cores 1 /opt/test_jars/spark_to_hbase_test01.jar
       研究jar在hdfs上的问题
       
  
32)使用oozie 自定义xml 运行spark 从hdfs 导入hbase 报错: java.io.IOException: Cannot run program "spark_to_hbase_test01.jar" (in directory "/yarn/nm/usercache/yarn/appcache/application_1543299582502_0122/container_1543299582502_0122_01_000002"): error=2, N
  解决:同31解决,应该可以,没验证,但是感觉没问题。
  
  
33)早上打开CDH 整个集群 全部报警告,解决:
    1)查看:整个系统磁盘使用情况:df -h ,发现
  /dev/mapper/vg_fs1-lv_root
  50G   33G   15G  70% /
  这个磁盘容量快满,然后进入目录执行:du   -sh    * 
  查看文件占磁盘大小:看见Log 文件,占了大部分空间,删除日志文件。
 
        linux 查看目录的剩余空间大小
        两个命令df 、du结合比较直观

        df    -h                     查看整台服务器的硬盘使用情况

        cd    /                       进入根目录

        du   -sh    *              查看每个文件夹的大小

        du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。

        这样的组合可以快速定位大文件和分区满了}
  
    2)更改日志文件路径,参考网站:https://blog.csdn.net/xueyao0201/article/details/79530130
  
34)安装新的框架(比如:phoenix)必须更改xx.sha1 为xx.sha ,否则集群报错找不到哈希值
  
  
  
  
  
35)安装好phoenix 链接到Hbase,没有发现已经创建的表。
  解决:猜想,应该是phoenix 创建的表,和用HBase 客户端创建的表结构不一样,所以只有使用phoenix 创建的表,才能使用phoenix 操作。
  真相:
  
  
  36)spark通过phoenix 操作Hbase IDEA 开发。。
  IDEA NoSuchMethodError: org.apache.hadoop.hbase.client.HBaseAdmin
  解决;把依赖:
   <!--<dependency>-->
      <!--<groupId>org.apache.phoenix</groupId>-->
      <!--<artifactId>phoenix-core</artifactId>-->
      <!--<version>4.14.0-cdh5.14.2</version>-->
    <!--</dependency>-->

    <!--<dependency>-->
      <!--<groupId>org.apache.phoenix</groupId>-->
      <!--<artifactId>phoenix-spark</artifactId>-->
      <!--<version>4.14.0-cdh5.14.2</version>-->
    <!--</dependency>-->
    改成:
     <dependency>
      <groupId>org.apache.phoenix</groupId>
      <artifactId>phoenix-core</artifactId>
      <version>4.14.0-HBase-1.2</version>
    </dependency>
    <dependency>
    <groupId>org.apache.phoenix</groupId>
    <artifactId>phoenix-spark</artifactId>
    <version>4.14.0-HBase-1.2</version>
    </dependency>
    就行运行,又报其他的错误:
    Outdated jars. Newer Phoenix clients can't communicate with older Phoenix servers(陈旧的坛子更新的凤凰客户端无法与老式凤凰服务器通信) ,版本兼容问题
    解决:客户端比服务器端高。服务器端4.7的,
    改成: (和服务器端一样的版本)
    <dependency>
      <groupId>org.apache.phoenix</groupId>
      <artifactId>phoenix-core</artifactId>
      <version>4.7.0-HBase-1.1</version>
    </dependency>


    <dependency>
    <groupId>org.apache.phoenix</groupId>
    <artifactId>phoenix-spark</artifactId>
      <version>4.7.0-HBase-1.1</version>
    </dependency>

   修改上面后,Java版本测试通过,scala 运行继续报错:
   NoSuchMethodError: org.apache.spark.sql.SQLContext.createDataFrame
   解决:又是版本兼容问题,客户端的IDEA环境的scala是2.11的,而phoenix-spark版本过低,
   修改pom文件:
     <dependency>
      <groupId>org.apache.phoenix</groupId>
      <artifactId>phoenix-spark</artifactId>
      <version>4.14.0-HBase-1.2</version>
    </dependency>
    
    最终spark-phoenix-hbase的pom文件是:
    
    <dependency>
      <groupId>org.apache.phoenix</groupId>
      <artifactId>phoenix-core</artifactId>
      <version>4.7.0-HBase-1.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.phoenix/phoenix-spark -->
    <dependency>
      <groupId>org.apache.phoenix</groupId>
      <artifactId>phoenix-spark</artifactId>
      <version>4.14.0-HBase-1.2</version>
    </dependency>
  
36)重新安装新版的phoenix 4.14还是找不到hbase中以前创建的表。
    解决:
  
  
  37)服务器关闭重启,oracle启动:
  一、Linux下启动Oracle

  Linux下启动Oracle分为两步:

  1)启动监听;

  2)启动数据库实例;

        1.登录服务器,切换到oracle用户,或者以oracle用户登录

        [admin@dataserver ~]$ su - oracle
        密码:
        [oracle@dataserver ~]$
        2.打开监听服务

        [oracle@localhost ~]$ lsnrctl start
        可以通过lsnrctl status命令查看Oracle监听器运行状况

        [oracle@localhost ~]$ lsnrctl status
        3.以SYS用户身份登录Oracle

        复制代码
        [oracle@localhost ~]$ sqlplus /nolog

        SQL*Plus: Release 11.2.0.1.0 Production on Fri Dec 1 23:29:19 2017

        Copyright (c) 1982, 2009, Oracle.  All rights reserved.

        SQL> conn /as sysdba
        Connected to an idle instance.
        复制代码
        切换用户:

        CONN 用户名/密码 [AS SYSDBA],如果是sys用户一定要写上AS SYSDBA

        4.通过startup命令启动实例

        复制代码
        SQL> startup
        ORACLE instance started.

        Total System 
        ... ...
        Database mounted.
        Database opened.
        SQL>

        一般客户端连不上,如果是服务器问题一般都 :oracle实例和监听没起来。
          
  
  
  
  
38)postgresql 启动和关闭: 修改配置文件:搜索find / -name xx 搜索出很多,选择/data1/gpdata/master/gpseg-1/pg_hba.conf 这个修改,然后重启
    如果要停止的话  gpstop -M fast 进入命令,然后输入  y
    启动  gpstart  然后输入 y 
  
  
  
39)华为的FusionInsight_HD集群,服务器迁移后,集群IP和公司环境IP 不一致 问题解决:
   集群无法进入web 页面。查看软件安装文档,查看第7.2.5.1小节内容:跟着一步一步排查就OK 了
   7.2.5.1 安装双机 Manager 后无法登录 Manager 页面
    l Tomcat没有正常启动
    l 浮动IP地址配置错误
    l 子网掩码和网关配置错误
  
  
40)批量执行Hive 语句(脚本);
  hive -f  xxx.sh (把批量执行语句写成文件)
  
  
41)创建posgresql的表的时候,最好设置ID 自动增长,否则saprk在写入数据的时候,ID 写入很麻烦,
  因为spark集群都是并发写入,如果是手动增长id会导致ID 重复问题。
  
  
  
42)运行Hive 多表查询报错:SemanticException Column xx Found in more than One Tables/Subqueries

   Hive中有两张表中拥有同一个字段名称,在这两个表做关联的时候会报这个错误
   解决:建表的时候,字段要不一样,如果一样,可以在查询的时候使用别名:
   将其中一个表的重复字段加上别名,然后进行关联查询

    select city.city, hotel.hotel, hotel.hotelname from city city, 
    (select city as hcity  ,hotel , hotelname from hotel) hotel
    where city.city = hotel.hcity

43)在sql 语句里面有null ,运行spark报错:Can't get JDBC type for null 
  其实意思就是说,你的空值插不进去,要重新将null做成数据插进去,比方说int需要插0,如果0已经有意义,那就-1呗。莫慌
  select  A.a1,A.a2,A.a3,B.sa,A.a11,A.a12,2,6,A.a14,C.ma,D.na,A.a19,E.da,F.msa,A.a13,null,null,null,null,null, .....
  在查询字段有Null,报错,改掉就OK 了(但是在hive 执行是很OK的)
  
44)spark 操作hive 表,写入postgresql的时候,null字段(void)字段,无法转换,
  在创建Hive表的时候,不要产生void字段
  
45)一般导入到hdfs 的分隔符: "," ,直接导Hive 表分隔符:'\t' (hive默认的字段分隔符为'\001')
  
46)注意使用sqoop 从hive 到数据到pg库的时候,使用--export-dir /user/hive/warehouse/test.db/tmp_f_personal_info 会报字段解析错误,用:--hcatalog-database test --hcatalog-table tmp_f_personal_info 直接指定Hive表
  脚本:sqoop export --connect jdbc:postgresql://192.168.148.231:5432/bigdata_db --username gpadmin --password gpadmin  --hcatalog-database test --hcatalog-table tmp_f_personal_info --table f_personal_info  --input-""-string '\\N' --input-""-non-string '\\N' --fields-terminated-by '\t'

46)在oracle 可视化工具执行完sql 语句还要commit 提交才行,否则数据没有进入,(坑爹的,搞一个上午,以为是sqooop 的脚本问题,原来是Oracle的问题)
  
47)技术备忘:可以把sqoop脚本写在文件里面,然后可以使用命令调用:sqoop --options-file /users/home/store_import.txt
  参考网站:https://blog.csdn.net/afanyusong/article/details/79065277
  
48)sqoop 增量参数说明:参考:http://www.cnblogs.com/xiaodf/p/6030102.html#412 (https://blog.csdn.net/hr787753/article/details/79164070)
  由于只添加而不修改列的值,所以使用append  增量导入中还需要额外的两个参数:--check-column指定一个列,用于检查新增加的数据,--last-value包含上次成功导入到Hadoop的值。
  模式:
  Append 支持动态增加 不支持修改
  Lastmodified 可以修改数据 也可以增加
  
49)xshell5 突然打不开,原因是自动更新没有取消:
解决:资源可以用,但是安装完成后启动会报错:“要继续使用此程序,您必须应用最新的更新或使用新版本” 解决办法先修改你电脑时间为前一年(2017 1月),然后就可以打开xshell了,打开后"工具"->选项->更新->取消前面的更新即可  
  
50)提交spark 脚本的动态传参问题:
  使用${xxxx}  这种方式好像有长度限制,比如:传2018-12-24 在main里面接收到实际是12-24 ,
  使用 "xxxx" 没有这个问题  
  
  
  
  

51)
    1在使用sqoop 做增量抽取(从oracle到hdfs/hive),如果增量没有数据,也会启动一个MR,也会在hdfs 增加一个文件,只是文件的内容是空的,因此在抽取增量数据的
    最好,先判断是否有增量数据,怎么实现,有待研究。
    2在抽取增量的时候,会产生多余一个或多个文件,这些文件在hdfs上,会占用block数量,影响集群磁盘空间,和性能,因此需要合并这些小文件。有待研究
    增量产生的多余文件合并参考:https://blog.csdn.net/dabokele/article/details/51868594#t42
    
    
52)hive 中执行update 和delete 报错,解决:添加hive 对update 和delete 的支持,
    在hive-site.xml修改:
     <property>  
    <name>hive.support.concurrency</name>  
        <value>true</value>  
    </property>  
    <property>  
        <name>hive.exec.dynamic.partition.mode</name>  
        <value>nonstrict</value>  
    </property>  
    <property>  
        <name>hive.txn.manager</name>  
        <value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value>  
    </property>  
    <property>  
        <name>hive.compactor.initiator.on</name>  
        <value>true</value>  
    </property>  
    <property>  
        <name>hive.compactor.worker.threads</name>  
        <value>1</value>  
    </property>
   
    继续运行继续报错(另一个错误):Attempt to do update or delete on table xx that does not use an AcidOutputFormat or is not bucketed
    
    继续增加配置:
    <property>  
    <name>hive.enforce.bucketing</name>  
    <value>true</value>  
    </property>  
    
    继续运行,继续报错;ParseException line 1:0 cannot recognize input near 't_id' '<EOF>' '<EOF>'
    在sql 结束加; ,解决,继续运行:继续报错:Attempt to do update or delete on table xx that does not use an AcidOutputFormat or is not bucketed
    
    经研究,Hive 对update 和 insert 和 delete 支持不好,不建议在hive 直接进行这些操作。
    
    
    
53)使用sqoop 从hive 或者Hdfs 增量导入到postgresql 报错:(好像只能使用其中一种,如果两种都同时使用报错)
    --update-key primary_key 这只更新了两个DB中存在的主键(hive和postgreSQL。没有插入)

    --update-mode allowinsert - 这只是插入

    --update-key primary_key  --update-mode allowinsert - 这会给出错误
    
     比如:
     sqoop export --connect jdbc:postgresql://192.168.148.231:5432/bigdata_db \
    --username gpadmin --password gpadmin \
    --table bigdata_test \
    --export-dir /user/hdfs/BIGDATA_TEST/part-m-00001 \
    --batch \
    -m 1 \
    --update-key t_id \  //更新,
    --update-mode allowinsert ; //增量(插入),和上面只能使用一个,不能同时使用
    

54)hadoop 中文文档:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_design.html

55)HDFS小文件合并测试,在IDEA 运行没事,提交到集群上用Java -jar XXX.jar 报错java.lang.NoClassDefFoundError: org/apache/hadoop/security/UserGroupInformation
    at oozies.OozieTests.main(OozieTests.java:21)
    原因:缓存,依赖
    解决:把所有依赖包一起打包,上传

    提交到oozie 也报错:ArrayIndexOutOfBoundsException ,不管如何修改,都是报同样错误,好像修改不起作用
    原因:应该是缓存,
    解决:删除oozie 的工作流,在建一个,就OK 了

56) StreamingPro 项目


57:)本地运行spark 操作hive 报错:The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx------
  解决:修改问题解决:
    1、下载一个hadoop版本,我这里下载的是hadoop-2.7.0;
    2、在cmd命令行中运行:
    E:\Program Files\hadoop-2.7.0\bin\winutils.exe chmod 777 D:\tmp\hive


58)phoenix数据类型:http://phoenix.apache.org/language/datatypes.html

59)phoenix  建表语句结束不能有分号; 否则报错、

60)park API 提交到yarn :https://blog.csdn.net/weixin_36647532/article/details/80766350

61)打包提交到集群运行报错:ClassNotFoundException: Failed to find data source: org.apache.phoenix.spark. (spark 引用第三方jar参考:https://www.cnblogs.com/dinghong-jo/p/7873646.html)
找不到phoenix 包:
解决:找了很多方式,最后是在/etc/spark2/conf/classpath.txt文件添加phoenix jar包路径解决,前几天已经找到答案,但是没有看清楚spark和spark2的路径,把修改错到spark的文件去了,
    还有就是在启动脚本指定jars  也无法解决,在linux 上创建本地maven 库也,然后启动加班指定maven 库也是无法解决,


62)运行报错: java.lang.ClassNotFoundException: Class org.apache.phoenix.mapreduce.PhoenixOutputFormat not found
解决:找了很多方式,最后是在/etc/spark2/conf/classpath.txt文件添加phoenix jar包路径解决,前几天已经找到答案,但是没有看清楚spark和spark2的路径,把修改错到spark的文件去了,
    还有就是在启动脚本指定jars  也无法解决,在linux 上创建本地maven 库也,然后启动加班指定maven 库也是无法解决,


63)phoenix 的ID 自增长解决参考:http://www.cnblogs.com/hbase-community/p/8853573.html
   phoenix 预分区SALT_BUCKETS参考: https://blog.csdn.net/sinat_36121406/article/details/82985880

 phoenix 文档参考:https://www.jianshu.com/p/a7ddb36b2c17

64)运行IDEA 突然报错: 
Error:scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException
java.lang.StackOverflowError

65)phoenix 报错:MutationState size is bigger than maximum allowed number of bytes
参考:https://phoenix.apache.org/tuning.html 参数调试

 解决:在代码中设置参数:
 
        Properties connectionProperties = new Properties();
        //setting phoenix properties
        connectionProperties.setProperty(QueryServices.MAX_MUTATION_SIZE_ATTRIB,"10000000"); //改变默认的500000
        connectionProperties.setProperty(QueryServices.IMMUTABLE_ROWS_ATTRIB,"10000000"); // 默认是500000
        connectionProperties.setProperty(QueryServices.MAX_MUTATION_SIZE_BYTES_ATTRIB,"1048576000"); // 默认是500000
        
        设置链接:
           cc = DriverManager.getConnection(AllConstants.PHOENIX_JDBC_URL,connectionProperties);


65)Hive 自增长ID :row_number() over() as id
insert into table User_Attribute select row_number() over() as id,customid from tbl_custom;


66)用Hive映射到Hbase (HIve 是内部表方式)表的时候,不能用load data 方式加载数据到Hive ,参考:
https://blog.csdn.net/u013870094/article/details/79434171


67)打包运行集群上报错:NoClassDefFoundError: org/apache/spark/sql/DataFrame
  在本地运行没事。
  解决: 其原因是 phoenix 里面用到DataFrame 解决参考:https://stackoverflow.com/questions/46479706/java-lang-noclassdeffounderror-org-apache-spark-sql-dataframe
  在启动脚本添加依赖--conf :
--conf "spark.driver.extraClassPath=/opt/test_jars/bjz/maven_jars/phoenix-spark-4.14.0-HBase-1.2.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-4.14.0-cdh5.14.2-client.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/lib/phoenix-spark-4.14.0-cdh5.14.2.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-4.14.0-cdh5.14.2-server.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-spark-4.14.0-cdh5.14.2.jar:/etc/hbase/conf" --conf "spark.executor.extraClassPath=/opt/test_jars/bjz/maven_jars/phoenix-spark-4.14.0-HBase-1.2.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-4.14.0-cdh5.14.2-client.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/lib/phoenix-spark-4.14.0-cdh5.14.2.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-4.14.0-cdh5.14.2-server.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-spark-4.14.0-cdh5.14.2.jar:/etc/hbase/conf"  \
  
  参考启动脚本:
  spark2-submit --class sparks.SparkPhoenixsDemo \
--master yarn \
--deploy-mode client \
--driver-memory 4g \
--executor-memory 2g \
--executor-cores 1 \
--conf "spark.driver.extraClassPath=/opt/test_jars/bjz/maven_jars/phoenix-spark-4.14.0-HBase-1.2.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-4.14.0-cdh5.14.2-client.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/lib/phoenix-spark-4.14.0-cdh5.14.2.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-4.14.0-cdh5.14.2-server.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-spark-4.14.0-cdh5.14.2.jar:/etc/hbase/conf" --conf "spark.executor.extraClassPath=/opt/test_jars/bjz/maven_jars/phoenix-spark-4.14.0-HBase-1.2.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-4.14.0-cdh5.14.2-client.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/lib/phoenix-spark-4.14.0-cdh5.14.2.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-4.14.0-cdh5.14.2-server.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-spark-4.14.0-cdh5.14.2.jar:/etc/hbase/conf"  \
/opt/test_jars/bjz/bigdata_test01.jar;


68)  使用nexus 部署全程仓库仓库:https://www.cnblogs.com/hujiapeng/p/7127213.html


69) spark 配置参数详解:https://blog.csdn.net/guohecang/article/details/52088117

70)启动hbase 报错:仔细查看log 然后按照提示,修改一些阈值, 就OK

71)用spark操作phoenix 完成高速插入hbase
  所有Hive 表,字段都是string 类型,临时表要做Id 自动增长,phoenix 表所有字段都是varchar
  这些设置有效避免null值问题。


72)使用sqoop java API 无法导入pom文件的sqoop依赖。到服务器找到sqoop.jar包 ,然后下载到本地,然后导入idea环境,
   继续运行,继续报错:NoClassDefFoundError: org/apache/avro/LogicalTyp
   继续到服务器找到:avro-1.7.6-cdh5.14.2.jar 手动导入到idea 环境,
   继续运行,继续报错:Could not load db driver class: oracle.jdbc.driver.OracleDriver
   继续手动下载oracle驱动包,添加到IDEA
   
   继续运行继续报错:java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束
   解决;     "--query","SELECT * FROM ZLHIS.HIS消息推送参数 WHERE $CONDITIONS", 使用自定义写sql方式
//                "--table","ZLHIS.HIS消息推送参数", 屏蔽掉

73)spring boot 打包到服务器跑,报错:

  java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. 
  Either remove Logback or the competing implementation (class org.slf4j.impl.SimpleLoggerFactory loaded from file:/opt/test_jars/bjz/spring_boot/slf4j-simple-1.7.25.jar). 
  If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml: org.slf4j.impl.SimpleLoggerFactory


74)打包spring boot 到服务器,报错:
  UnsatisfiedDependencyException: Error creating bean with name 'controllersTests': Unsatisfied dependency expressed through field 'sparkPhoenixsDemo1'; 
  nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sparkPhoenixDemo1': Lookup met
  
  解决:暂时解决,把自动依赖弃掉,使用类的new 方式
  
75)打包运行报错:  

IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. 
Either remove Logback or the competing implementation (class org.slf4j.impl.SimpleLoggerFactory loaded from 
file:/opt/test_jars/bjz/spring_boot2/slf4j-simple-1.7.25.jar). If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml: org.slf4j.impl.SimpleLoggerFactory

解决:删除classpath里面的:slf4j-simple-1.7.25.jar 


76)nettRPC 技术参考:https://www.cnblogs.com/jietang/p/5615681.html
                     http://www.importnew.com/24689.html
                     https://www.jianshu.com/p/a9b55279aead

                    https://github.com/forezp/BootNettyRpc


77)java API 启动spark 脚本失败, 
    原因:可能脚本写错
    解决:参考:https://blog.csdn.net/vcfriend/article/details/81226632


78)JAVA API 远程启动spark  脚本报:UnsupportedClassVersionError: org/apache/spark/launcher/Main : Unsupported major.minor version 52.0
    原因:把在高版本编译的程序放到低版本中运行
    解决: 重新建新工程(很屌丝吧,哈)


    
79)提交spark程序到集群报错:ain" org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or unable to launch application master.
  原因:应该是java 调用shell方式,线程被一直阻塞,资源无法释放
  解决:  等半天左右 yarn 就可以自动释放资源(屌丝解决方法就是等0)
    
    
    
80)java 调用shell 方式启动spark 脚本,失败    
    
    
81)在spark_sql 中使用窗口函数报错:AnalysisException: Window function row_number() requires window to be ordered, please add ORDER BY clause. For example SELECT row_number()(value_expr) OVER (PARTITION BY window_partition ORDER BY window_ordering) from table    
    原因:直接操作表的时候用自增这个方式会报错 因为spark over里必须有字段  
    解决:在/etc/spark2/conf/classpath 中添加hive 的驱动包路径
    
    
    
    
82)java 远程启动spark程序报错:
19/02/22 11:04:15 INFO hive.metastore: Waiting 1 seconds before next connection attempt.
19/02/22 11:04:16 WARN metadata.Hive: Failed to register all functions.
java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

  原因;
  解决:  
    
    
83)create table xxx as select row_number() over() as id , * from xxx      
   这种方式,不能用外部表。
    
    
84)在建HIVE表的时候, "      LOCATION '/user/hdfs/" + tableName +"/'";      这个路不能和sqoop 导入的路径     "--target-dir", "/user/hdfs/b_t_sexs/" , 相同,否则没有数据
    
86)在IDEA 选择goal打包的时候,选择package ,    
    
87)HIVE 获取当前时间:FROM_UNIXTIME(UNIX_TIMESTAMP()


88)在本地IDEA 运行报错:找不到phoenix ,
   解决:把服务上的jar ,引入到IDEA 工程
    
  
89)项目运行报错:NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.metric()Lio/netty/buffer/PooledByteBufAllocatorMetric


推荐系统算法工程师-从入门到就业2018价值1900元
https://pan.baidu.com/s/1CiTfS0Wu015dYw0GVRNdOw   提取密码:jsfl    压缩包解压密码: BAgOtqnqTEf7ukd0


90)问题过程:看见集群log 黄色警报,然后就把/var/log 下面所有删除:rm -fr /var/log/* ,导致后面集群服务重启失败,
  报:找不到相应的Log 文件,,看日志,一个一个重新手写创建相应文件,解决。
  解决过程:在集群中,选择诊断选项,然后输入要查看的节点,然后在源里面选择相应的服务,可以查看问题,然后安装提示解决错误。
  重启成功。

91)在用sqoop 导入数据的时候,--query 'select * from ZLHIS.性别 where $CONDITIONS' 里面的sql语句必须用‘’否则报错。


92)停止掉yarn 上的任务:yarn application -kill application_1551684305395_0055(这里是任务ID)

93)在sqoop 里面加-m 1 数字大于1的时候,必须指定:--split-by 否则执行不了


94)IDEA 创建spark 程序 运行报错:NoSuchMethodError: org.apache.hadoop.mapred.TaskID.<init>(Lorg/apache/hadoop/mapreduce/JobID;Lorg/apache/hadoop/mapreduce/TaskType;I)V
  解决: 我发现TaskID和TaskType都在 hadoop-core jar,但不在同一个包中。为什么mapred.TaskID可以引用mapreduce.TaskType?
  
  应该是hadoop 和spark Jar冲突:
  更改pom文件:
      < groupId> org.apache.hadoop< / groupId> 
      < artifactId> hadoop-core< / artifactId> 
      < version> 2.6.0-mr1-cdh5.14.2< / version> 

95)打开IDEA,发现找不到Subversion菜单了,无法更新、提交代码了。 
网上找了一下解决了,记录一下解决办法: 
File -> Settings -> Plugins,搜索Subversion,在筛选出结果的方框上打勾,即可启动插件,然后重启IDEA即可恢复。 

96)在sqoop 中使用-m 1 可以,-M 5 或者10 比1大的数,报错,原因在研究中

97)启动oracle 可视化工具报错:Unable to launch the Java Virtual Machine Located at path: ..\..\jdk\jre\bin\client\jvm.dll
解决办法:在本地安装的jdk目录中搜索 msvcr100.dll和msvcr71.dll 放到sqldeveloper\sqldeveloper\bin目录下
再次启动即可。

98)  在本地IDEA跑spark-sql 问题:hive-site.xml 必须是:/etc/hive/conf 里面的配置文件,不是spark-home 里面的,,,注意。
    把 hive-site.xml放到项目的 resoucese 文件里就行了


99)用mvn 编译报错:编码问题:
问题解决方案是在pom.xml文件中添加如下代码 
Xml代码  收藏代码
<properties>  
        <!-- 文件拷贝时的编码 -->  
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
        <!-- 编译时的编码 -->  
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>  
    </properties>  

100)继续执行mvn 编译项目,报错;101: 错误: 不允许使用自关闭元素[ERROR] * <p/>
解决:进入pom文件删除javadoc的插件

101)Hbase的官方文档:https://hbase.apache.org/apidocs/    

102)机器学习博客地址:https://www.cnblogs.com/charlotte77/p/10455900.html
    
103)解决maven编译错误:程序包com.sun.xml.internal.ws.spi不存在
解决方法如下:
添加maven-compiler-plugin插件,并且配置compilerArguments

如:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <compilerArguments>
            <bootclasspath>${JAVA_HOME}/jre/lib/rt.jar</bootclasspath>
        </compilerArguments>
    </configuration>
</plugin>

104) 
运行Hadoop jar包,报错:java.io.IOException: No FileSystem for scheme: hdfs
解决:参考网站:https://www.cnblogs.com/justinzhang/p/4983673.html
  解决方案是,在设置hadoop的配置的时候,显示设置这个类:"org.apache.hadoop.hdfs.DistributedFileSystem:
configuration.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");

105)
早上跑sqoop 把kylin用到的数据表,导入到Hive ,报错:client.RMProxy: Connecting to ResourceManager at cm01.spark.com/192.168.148.93:8032
每隔一天集群就无法运行,感觉CDH 很不稳定。
原因应该是yarn 的resourcemanager 没启动
解决:用jps 命令查看是否没有启动resourcemanager
  

106)在删除hbase表的时候:NameError: uninitialized constant 表名
    解决:在表名上使用"" 双引号。

107)在IDEA 里面编译mlsql 1.3的源码,启动本地报错:java.lang.NoClassDefFoundError: scala/Function0
    解决:


108)安装tensorflow 报错:cmd安装 pip install tensorflow
1.遇到了
ERROR: Cannot uninstall 'wrapt'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
办法1:输入 pip install -U --ignore-installed wrapt enum34 simplejson netaddr
参考:https://www.cnblogs.com/xiaowei2092/p/11025155.html
2.遇到了
ERROR: tensorboard 1.14.0 has requirement setuptools>=41.0.0, but you'll have setuptools 39.1.0 which is incompatible.

109)在note boot 使用tensorflow 2.0 报错:---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
解决方法:
法一
 pip install --user --upgrade numpy   #将numpy更新到最新版本
法二
 pip install --upgrade --force-reinstall numpy==1.14.5   #重新安装合适的numpy版本
 或
 pip install numpy==1.16

109)IDEA 链接不是redis :
修改redis.conf文件,将 bind 127.0.0.1这一行注释掉,或是将127.0.0.1修改为0.0.0.0(redis默认只支持本地连接,修改为0.0.0.0时,这样就可以支持外机连接了)

110)https://flutterchina.club/
极速构建漂亮的原生应用
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。


论文地址:https://arxiv.org/


110)zookeeper部署:
   参考https://blog.csdn.net/fujianfafu/article/details/80307240

   修改zoo.cof文件的里的数据路径:dataDir=E:\\bjz_learning\\Zookeeper\\resousezs\\src\\dir_zookeeper 
   注意路径中用\\否则找不到路径
   
   
111)Flume获取关系型数据库到kafka流分析报错:
Flume从数据库中获取数据,到kafka流处理,代码报错:
StreamsException: Input record ConsumerRecord(topic = test2, partition = 0, offset = 0, CreateTime = -1, 
serialized key size = -1, serialized value size = 49, headers = RecordHeaders(headers = [], isReadOnly = false),
key = null, value = "1","bb","3333","cs00001","2019-10-21 17:24:40.0") has invalid (negative) timestamp. 
Possibly because a pre-0.10 producer client was used to write this record to Kafka without embedding a timestamp, 
or because the input topic was created before upgrading the Kafka cluster to 0.10+. Use a different TimestampExtractor to process this data.
解决:
今天用kafkastream为消费者,telegraf为生产者,kafkastream消费topic数据时候出现以上异常。
以为telegraf的时间戳格式不对(telegraf的默认时间戳是10位时间戳),改了时间戳格式后还是异常。
json和influx两种格式都报此错误,但是console-producer.sh 生成的数据就不报异常,只要符合json和influx格式就会报错
原因为,telegraf发送过来的数据没有时间戳,而我的kafka为0.11.0.0版本,所以报以上异常

解决方案为以下:
public class MyEventTimeExtractor implements TimestampExtractor{

@Override
public long extract(ConsumerRecord<Object, Object> record, long previousTimestamp) {
return System.currentTimeMillis();
}
}

并在
Properties properties = new Properties(); 
properties.put(StreamsConfig.TIMESTAMP_EXTRACTOR_CLASS_CONFIG,MyEventTimeExtractor.class.getName());


112)安装antlr4
学习参考网站:https://www.liangshuang.name/2017/08/20/antlr/
参考:https://blog.csdn.net/fireghost57/article/details/92080428
1)下载:Jar包 http://www.antlr.org/download/antlr-4.7.2-complete.jar
2)配置环境变量:path中配置:到存放jar包的文件夹
3)增加系统变量:变量名:CLASSPATH ,值:.;D:\Java\Javalib\antlr-4.7.2-complete.jar;%CLASSPATH%    注意一定要带".;",这是为了保证类库可以在任何目录下使用
4)创建批处理文件:antlr4.bat文件和grun.bat文件,内容分别:java org.antlr.v4.Tool %*    , java org.antlr.v4.gui.TestRig %*
5)测试:在命令行分别输入:antlr4 和  grun 


113)创建conda虚拟环境报错CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/linux-64/repodata.json>。
解决参考:https://blog.csdn.net/ada0915/article/details/78529877

#2、删除部分内容
## 主要是删除此行: - defaults
#修改后配置文件的内容如下:
vim ~/.condarc
channels:
  -https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
show_channel_urls: true

注意:镜像源不是加的越多越好,一个一个试试最好


114)
错误:File contains parsing errors: file:///etc/yum.repos.d/docker-ce.repo
    [line 84]: docker-ce-nightly-source]
因为之前安装docker,但没有安装成功,有些残余文件留在系统里了,影响了yum命令,导致失败。
解决办法:
删除这个文件 /etc/yum.repos.d/docker-ce.repo 即可


115)pycharm项目导入numpy 和其他各种模块报错:
解决:
1)把python版本地址指向anconda3安装目录的python地址,
2)在pycharm配置路径:Run > Edit Configurations > Environment Variables,添加PATH=${Anaconda的根路径}\Library\bin,然后就能正常运行了,
参考网站:https://www.jb51.net/article/170206.htm

116) 安装cx_oracle模块(python操作oracle数据库依赖)的时候,用anconda3的客户端安装,不要用dos安装,否则会安装到本地python环境,不是conda环境,然后怎么复制包,都没有用,必须用
anaconda3客户端安装才行。


    
    

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  • 2
    点赞
  • 0
    评论
  • 6
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

抱抱抱抱

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值