1.直接tar开,即可
3、配置jdk相关的环境变量
使用命令进入文件.bashrc 中:cd ~
vi .bashrc
添加环境变量:
export JAVA_HOME=/usr/java/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
如图3
图3
使用命令是文件生效:source .bashrc
图4
5、在其他每台机器上也进行安装jdk
1、首先在三台机器上配置对本机的ssh免密码登录。
(1)生成本机的公钥,使用命令:ssh-keygen -t rsa
过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下,如图1.1
图1.1
(2)将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了
使用命令 cd /root/.ssh
cp id_rsa.pub authorized_keys
(3)使用ssh localhost 验证,如图1.3
图1.3
2、接着配置三台机器互相之间的ssh免密码登录
使用命令ssh-copy-id -i spark1(需要免密的主机)命令将本机的公钥拷贝到指定机器的authorized_keys文件中(方便好用)如图2.1
图2.1
验证是否成功使用命令:ssh spark1 如图2.2
图2.2
注意:如果想让spark2,spark3登录spark1,就需要把spark1的公钥拷贝到spark2和spark3,登录spark2和spark3也是同理。
1、将hadoop-2.4.1.tar.gz,使用SecureCRT上传到linux的/usr/local目录下。
2、将hadoop包进行解压缩:
找到hadoop-2.4.1.tar.gz使用命令:cd /usr/local
hadoop包进行解压缩:tar -zxvf hadoop-2.4.1.tar.gz
3、对hadoop目录进行重命名:mv hadoop-2.4.1 hadoop
4、配置hadoop相关环境变量
进入~下,使用命令 cd ~
打开配置文件: vi .bashrc
添加环境变量:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin(注意:在原有的追加,如图4.1)
图4.1
使用命令使文件生效:source .bashrc
使用命令:hadoop version查看配置是否成功如图4.2
图4.2
进入Hadoop目录下修改,使用命令:cd /usr/local/hadoop/etc/hadoop
查看当前目录: ls 可以看到修改的文件:
修改core-site.xml
修改hdfs-site.xml
修改mapred-site.xml
修改yarn-site.xml
修改slaves文件 如图
spark1
spark2
spark3
6、在另外两台机器上搭建hadoop
使用命令进入Hadoop上层目录:cd /usr/local
远程复制:scp -r hadoop root@spark2:/usr/local
使用命令进入~:cd ~
远程复制:scp ~/.bashrc root@spark2:~/
同理拷贝到spark3上。
source .bashrc
3、记得在spark1、spark2和spark3的/usr/local目录下创建data目录。
进入目录下:cd /usr/local
创建data文件夹: mkdir data
启动hdfs集群
1、格式化namenode:在spark1上执行以下命令:hdfs namenode -format
2、启动hdfs集群:start-dfs.sh
3、验证启动是否成功:jps 如图3.1
节点数为:
spark1:namenode、datanode、secondarynamenode
spark2:datanode
spark3:datanode
图3.1
使用spark1:50070端口登录浏览器查看是否成功,如图3.2
图3.2
启动yarn集群
节点数为:
spark1:resourcemanager、nodemanager
spark2:nodemanager
spark3:nodemanager
图2.1
使用spark1:8088端口登录浏览器查看,如图2.2
图2.2
1、将apache-hive-0.13.1-bin.tar.gz使用SecureCRT上传到spark1的/usr/local目录下。
2、解压缩hive安装包:
进入/usr/local目录下: cd /usr/local
解压缩apache-hive-0.13.1-bin.tar.gz包: tar -zxvf apache-hive-0.13.1-bin.tar.gz
3、重命名hive目录:mv apache-hive-0.13.1-bin hive
4、配置hive相关的环境变量
进入~下:cd ~
打开配置文件:vi .bashrc
修改内容:如图4
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin
图4
使配置文件生效:source .bashrc
安装mysql
1、在主节点安装,tar开文件安装service、del,comme三个文件
使用命令:
启动mysql: service mysqld start
3、使用yum安装mysql驱动mysql connector
yum install -y mysql-connector-java
4、将mysql connector拷贝到hive的lib包中
cp /usr/share/java/mysql-connector-java.jar /usr/local/hive/lib
使用命令进入mysql:mysql 如图5.1
图5.1
创建数据库:create database if not exists data;
对hive进行授权操作元数据库:
grant all privileges on data.* to 'hive'@'%' identified by 'hive';
grant all privileges on data.* to 'hive'@'localhost' identified by 'hive';
grant all privileges on data.* to 'hive'@'spark1' identified by 'hive';
如图5.2
图5.2
刷新权限: flush privileges;
可以使用数据库:use data;
注意:从数据库创建,都是mysql的相关知识,记得加分号。
配置hive-site.xml(修改
进入/usr/local/hive/conf目录下:cd /usr/local/hive/conf
修改名称:mv hive-default.xml.template hive-site.xml
进入文件:vi hive-site.xml
修改内容:
配置hive-env.sh和hive-config.sh
修改名称:mv hive-env.sh.template hive-env.sh
进入文件:vim /usr/local/hive/bin/hive-config.sh
在文件中追加:如图6.1
export JAVA_HOME=/usr/ local/jdk1.7.0_79
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
图6.1
验证hive是否安装成功
直接输入hive命令,可以进入hive命令:hive 如图:6.2
在hive上建表:Create table t1(id int)
查询表:Select * from t1;
删除表:Drop table t1;
如图6.3,表示成功
图6.3
注意:sql语句使用分号结尾。
Sqoop选择版本sqoop-1.4.5-cdh5.3.6
一、Sqoop安装步骤
1、下载http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.5-cdh5.3.6.tar.gz
2.、将sqoop-1.4.5-cdh5.3.6.tar.gz使用SecureCRT上传到/usr/local目录下。
3、解压缩sqoop包:
进入/usr/local目录下:cd /usr/local
解压缩sqoop-1.4.5-cdh5.3.6.tar.gz包: tar zxvf sqoop-1.4.5-cdh5.3.6.tar.gz
4、更改sqoop目录名:mv sqoop-1.4.5-cdh5.3.6 sqoop
5、copy mysql的驱动类到sqoop的lib文件夹中
cp /usr/share/java/mysql-connector-java-5.1.17.jar /usr/local/sqoop/lib
6、配置sqoop-env.sh文件内容,
进入/usr/local/sqoop/conf目录下: cd /usr/local/sqoop/conf
修改名字:mv sqoop-env-template.sh sqoop-env.sh
打开文件:vi sqoop-env.sh
内容如下:如图7
export HADOOP_COMMON_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=/usr/local/hadoop
export HIVE_HOME=/usr/local/hive
图7
8、配置环境变量
进入~下:cd ~
打开文件:vi .bashrc
在最后添加内容(如图8.1):
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
图8.1
使命令生效:source .bashrc
图9
1、安装好Eclipse,
2、使用Eclipse创建一个java Protect,
选择菜单栏的file---------->new-----------> javaProject,如图2.1:
图2.1
填写Project name,然后选择Next,如图2.2,
图2.2
最后选择finish结束。
3、将hadoop-2.4.1.tar.gz解压一个文件夹中,进入解压后的文件下,找到share文件,搜索所有的jar,将所有的jar包剪切到share同级目录的新建文件夹_lib中。
4、导入hadoop的jar包,
选择项目---------->右击选择Build Path------------->点击Configure BuildPath如图4.1
图4.1
然后选择Libraries------->点击Add External JARs 如图4.2
图4.2
找到解压的jar包(_lib文件夹):全选-------->打开---------->ok
图5.1.1
编写Package和Name,最后选择Finish,如图5.1.2,
图5.1.2
MyMap类(Map处理)
package xin; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper; public
public private Text word = new Text(); @Override protected throws IOException, InterruptedException { //StringTokenizer,类似于String.split(" "); //line是每行的内容 String lines=line.toString(); String array=lines.split(",")[0].trim(); int getTimeFirst = lines.indexOf("[");
String time = lines.substring(getTimeFirst + 1, getTimeLast).trim(); Date dt = null; String d1=null;
dt= FORMAT.parse(time); d1=dateformat1.format(dt); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }
context.write(word, One); } } |
编写 MyReducer类
package xin; import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer; public private IntWritable result = new IntWritable(); @Override protected Context context) throws IOException, InterruptedException { result.set(1); context.write(key, result); } } |
编写Myapp代码
package xin; import java.text.SimpleDateFormat; import java.util.Calendar; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; public class MyApp { public static void main(String[] args) throws Exception { Job job = Job.getInstance(); job.setJobName("executer"); job.setJarByClass(MyApp.class); job.setMapperClass(MyMap.class); job.setReducerClass(MyReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 0); String yesterday = new SimpleDateFormat( "MM/dd/").format(cal.getTime()); Path in = new Path("hdfs://s001:9000/usr/logsdata/"+yesterday); Path out = new Path("hdfs://s001:9000/usr/2"); FileInputFormat.addInputPath(job, in ); FileOutputFormat.setOutputPath(job, out); System.exit(job.waitForCompletion(true) ? 0 : 1); } } |
整个代码布局如图
(1)右击项目---->选择Export,如图6.1
图6.1
图6.2
图6.3
图6.4
4.1.1
4.1.2
图5
使用命令:hadoop jar /usr/local/hello.jar
成功 如图7
图7
注意:要根据每个项目中实际存储位置查看
(1)在linux下进入hive模式:输入hive,回车
(2)使用命令创建数据库:create database data;
(3)查看创建的数据库:show databases;
如图2所示:
图2
使用sql语句,如下:
使用data数据:use data;
创建表:Create table datas(IP string,time string)
注意:项目所建的数据库不相同
以地区进行分区:Partitioned by (area string)
每一行以空格读取:Row format delimited
Fields terminated by " ";
图3
使用命令:Load data inpath '/usr/2/part-r-00000' into table datas partition(area="beijing");
注意:项目存储的位置不相同
图4.1
使用命令查看:select * from datas;
图4.2
从表中查出16访问的的IP和其访问次数
select IP,count(IP) from datas where time between '2016-12-27-16:39:13' and '2016-12-27-16:39:21' group by IP;
注意:每个项目的分析使用的sql语句不同
先创建一个result表:Create table result(IP string,times int) ;
注意:每个项目结果保存在不同的表中
将结果保存到表中:insert into table result select IP,count(IP) from datas where time between '2016-12-27-16:39:13' and '2016-12-27-16:39:21' group by IP;
注意:这条语句和每个项目的表,分析业务一致。
创建数据库:create database data;
使用数据库:use data;
创建表信息:create table datas
( IP varchar(50),
times int
);
注意:每个项目把结果导入不同的表中
使用命令:
sqoop export --connect jdbc:mysql://localhost:3306/data --username root --password root --table datas --export-dir /usr/local/hive/warehouse/result/000000_0 -columns "IP,times" --input-fields-terminated-by '\001'
注意:各个项目中的mysql表,到处表的地址
如果类似错误(如图3所示)mysql自身bug,
首先下载mysql-connector-java-5.1.32-bin.jar包,
然后使用命令删除mysql-connector-java-5.1.17.jar包:
rm -rf /usr/local/sqoop/lib/mysql-connector-java-5.1.17.jar
其次将下载好的mysql-connector-java-5.1.32-bin.jar导入/usr/local/sqoop/lib/目录
图3
图4
输入命令:mysql
使用数据库:use data;
查询数据:select * from datas;
图5
http://repo.springsource.org/libs-release-local/org/springframework/spring/%20/ SpringMVC下载
mybatis是数据库工具,需要数据库Mysql。它的jar包有mybatis-3.0.2.jar(mybatis核心包)、mybatis-spring-1.0.0.jar(与Spring结合包)。下载地址:http://ibatis.apache.org/tools/ibator
图1.1
(2)进入后,选择General------------->Existing Projects into Workspace-------------->Next,如图1.2,
图1.2
(3)进入后选择Browse(路径为存放该项目的位置,我的路径是D:\01_edu\workspace),点确定,如图1.3,在finish。
图1.3
(4)最后会将该项目导进来,如图1.4,
图1.4
图2.1
图2.2
图2.3
(4)选择Next,如图2.4,
图2.4
图2.5
图2.6
图2.7
图2.8
3、使用浏览器查看效果:输入网址http://localhost:8080/product/findAll.do,如图3