edi部署过程笔记
来源:互联网 发布:js 插件写法 编辑:程序博客网 时间:2024/06/04 23:29
TODO:------------------------------------------------------
1.查找hive数据入库方式;
3.多客户端beeline连接远端hive hiveserver2,并调研其安全认证方式;sslTrustStore;
7.
hadoop:------------------------------------------------------
1.hadoop dfsadmin –refreshNodes,这样会强制重新加载配置.
2.hadoop dfsadmin -report可以查看到现在集群上连接的节点。
3.在hdfs-site.xml文件excludes文件内容为每个需要下线的机器,一行一个。这个将阻止他们去连接NameNode。
4.要启动jobhistory,需要在namenode上执行命令:sbin/mr-jobhistory-daemon.sh start historyserver 。
5.独立启动
"$bin"/hadoop-daemon.sh --config $HADOOP_CONF_DIR start namenode $nameStartOpt
"$bin"/hadoop-daemons.sh --config $HADOOP_CONF_DIR start datanode $dataStartOpt
"$bin"/hadoop-daemons.sh --config $HADOOP_CONF_DIR --hosts secondarynamenode start secondarynamenode
linux :------------------------------------------------------
1.正则判断:if [[ $line =~ [1-9]$ ]],[[后面一定要有空格。
2.tar压缩解压:
1).tar调用gzip:tar -czf all.tar.gz *.jpg ,-z这个参数来调用gzip。解压tar -xzf all.tar.gz 。
2).tar调用bzip2:tar -cjf all.tar.bz2 *.jpg,解压 tar -xjf all.tar.bz2。
3.sudo cat /var/log/upstart/networking.log
4./bin/bash^M: bad interpreter: No such file or directory,原因:是window系统格式 sed -i 's/\r$//' xxx.sh
5.脚本明文密码加密:
第1种:
echo "gtalk@gmail.com" |base64 -i //得到:Z3RhbGtAZ21haWwuY29tCg==
echo "Z3RhbGtAZ21haWwuY29tCg==" |base64 -d //得到:gtalk@gmail.com
第2种:
echo "ibase=16; `echo 'gtalk@gmail.com' |xxd -ps -u`" |bc //get 137514765985002236391382606438443478282
dc -e 137514765985002236391382606438443478282PAnything //get gtalk@gmail.com
6.linux 定时执行用crontab -e编辑 如: */5 * * * * ./mysql_db_bak.sh edi edi 1870356536615775580426
7.ls block0[^0] 显示除block00之外的所有文件
8.$?==0表示上一条命令执行成功。$#是shell后参数的个数。
9.判断路径不存在 if [ ! -d "path" ];then ,判断文件大小为0 if [ -z ]
-----------------------------------------------------------------
sqoop1:------------------------------------------------------
1.mysql2hdfs:sqoop import -m 1 --connect jdbc:mysql://hadoop-1/test1 --table person --username hive --password hive --target-dir /sqoop_mysql/person
2.mysql2hive:sqoop import -m 1 --connect jdbc:mysql://hadoop-1/test1 --table person --username hive --password hive --fields-terminated-by "\t" --lines-terminated-by "\n" --hive-import --hive-table hive.person --delete-target-dir --null-string '\\N' --null-non-string '\\N'
3.hive2mysql:sqoop export --connect jdbc:mysql://hadoop-1/test1 --username hive --password hive --table userid --export-dir /hua/hive/db_hive/userid/dt=2014-09-23/sex=1/* --input-fields-terminated-by '\0001' --null-non-string '0' --null-string '0'
4.list all table in the db : sqoop list-tables --connect jdbc:mysql://hadoop-1/test1 --username hive --password hive
sqoop2:------------------------------------------------------
1.下载-bin-hadoopXXX.tar.gz的版本,解压;
2.配置sqoop/server/conf/配置文件,主要是指定hadoop的配置文件路径和hadoop的lib jars;
3.配置到.bashrc;
4.用本地模式启动./sqoop2-shell;远程的话用 set server --host your.host.com --port 12000 --webapp sqoop;
5.创建from\to的link,指定这些连接的帐号密码;用show connector;查看连接器编号,用create link -c 2(编号)创建;
6.创建job; create job -f 1 -t 2,即from link 1 to link 2;
7.执行job,start job -j 1;
8.目前不支持直接导入到hive,先到hdfs,在手动load,导入也一样。
----------------------------------------------------------------------------------------------
一、hive服务------------------------------------------------------
1.使用hive --service hiveserver2 & 静默启动hive的后台Thrift服务,默认监听10000端口;
2.用hiveserver2的客户端beeline使用服务,用hive --service beeline jdbc:hive2://localhost:10000连接hiveserver2;
3.用beeline命令在客户端操作远端的hive。
4.如果有备援server可以用如下方式连接,将顺序尝试host1、host2得到成功的连接;
jdbc:hive2://<host1>:<port1>,<host2>:<port2>/dbName;sess_var_list?hive_conf_list#hive_var_list
5.hadoop-all+hive+mysql正常可运行VM环境:2G,2*2 CPU;
6.Apache Eagle -eBay开源分布式实时hadoop安全方案;
7.查出除了ds和hr的列:SELECT `(ds|hr)?+.+` FROM sales。
8.hiveQL的子查询一定要有别名。
$HIVE_HOME/bin/hive --hiveconf hive.root.logger=INFO,console
hive默认查询结果里面是只显示值,但是我们有时候需要知道对应关系,比如第一个值代表userid,那么我们需要显示出来,所以我们可以进行下面的操作
hive> set hive.cli.print.header=true;
hive> set hive.cli.print.row.to.vertical=true;
hive> set hive.cli.print.row.to.vertical.num=1;
之后再进行select * from table ,那么我们就会看到相关的列名显示
hive UDF:------------------------------------------------------
//1.编写UDF class 得到jar;
//2.shell>hive
//3.hive>add jar xx.jar;
//4.hive>create temporary function udfFunctionName as 'com.hrj.hive.udf.helloUDF';
//5.use db;
//6.使用udfFunctionName方法。
7.Hive有个bug:不支持ASCII大于128的字符作为字段分隔符,上图红色框中的一句话启发了我:在java中,可以使用负数来表示大于128的分隔符。然后我就找到€的unicode码是0x80,它对应的二进制是10000000,这个二进制如果是表示负数的话对应-128,我就用‘\-128’作为分隔符,执行下面的sql后,再次导入数据居然成功了,嘿嘿。
8.hive导出表数据到本地用insert overwrite local directory '/opt/data/testdata' select * from comms;注意没有into.如果目标地址不存在则没有生成文件,并且没有提示。不同的表要指定不同的路径,不然文件会被覆盖。
9.查询模糊字段 SELECT `(ds|hr)?+.+` FROM sales
edi:--------------------------------------
如果报字典文件找不到:找是相对与hive命令发起的linux路径。如在/opt/下启动hive命令,则在找/opt/dicts/categoryDicts.txt
hadoop jar /opt/running/hadoop-2.6.0/share/hadoop/tools/lib/hadoop-streaming-2.6.0.jar \
-D mapreduce.job.reduces=0 \
-D mapreduce.job.maps=10 \
-input "/tmp/t1" \
-mapper wc \
-output /tmp/o1 \
-reducer /usr/bin/wc
--------------------------------------
mysql:
多个参数的分隔符是这样的&
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://HadoopMySQL:3306/hive?autoReconnect=true&useUnicode=true&characterEncoding=utf-8</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
0 0
- edi部署过程笔记
- edi
- EDI
- EDI?
- [EDI]EDI
- 关于MOV EDI,EDI
- mov edi,edi
- mov edi,edi是
- EDI简介
- EDI常识
- 部署笔记
- Internet EDI vs. VAN EDI
- mov edi,edi - hook api
- 操作系统部署测试过程
- 部署clr存储过程
- 短信猫部署过程
- Hadoop安装部署过程
- HBASE安装部署过程
- unity脚本执行顺序详解
- Android编程之LayoutInflater的inflate方法详解及其中参数的作用
- Quartz2D基础
- 高性能MySql进化论(一):数据类型的优化_上
- tomcat的defaultServlet--用于处理静态资料的
- edi部署过程笔记
- jQuery中ajax异步请求造成的问题
- 关于bitnami redmine 的一些问题
- Quartz2D基础~饼状图
- Android模拟多线程下载
- eclipse properties文件编码插件
- Android VideoView播放视频控制:开始、暂停、快进(3)
- BZOJ3626: [LNOI2014]LCA
- 医院流程案例一