Apache Mahout如何☀使用
Apache Mahout如何使用
Mahout安装详细全过程1、jdk安装 22、SSH无密码验证配置 23、 Hadoop配置 34、Hadop使用 65、Maven安装 76、安装mahout 77、hadoop集群来执行聚类算法 88、其他 8――――――――――――――――――――1、jdk安装1.1、到官网下载相关的JDK下载地址:
、打开“终端”输入:sh jdk-6u24-linux-
i586.bin
1.3、设置JAVA_HOME环境系统变量输入:vi /etc/environment 在文件中添加:export JAVA_HOME=/root/jdk1.6.0_24 export JRE_Home=/root/jdk1.6.0_24/jre export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 同样,修改第二个文件。输入:vi /etc/profile 在umask 022之前添加以下语句:export JAVA_HOME=/root/jdk1.6.0_24 export JRE_Home=/root/jdk1.6.0_24/jre export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin 1.4、注销用户,检测JDK版本。输入:java -version 2、集群环境介绍集群包含三个节点:1 个 namenode,2 个 datanode,节点之间局域网连接,可以相互 ping 通。节点 IP 地址分布如下:Namenode: master@192.168.1.10Datanode1: slave1 @192.168.1.20Datanode2: slave2@192.168.1.21三台节点上➳均是CentOS系统,Hadoop在/root/hadoop/目录下。在/etc/hosts上添加主机名和相应的IP地址:192.168.1.10 master192.168.1.20 slave1192.168.1.21 slave23、SSH无密码验证配置2.1 Hadoop 需要使用SSH 协议,namenode 将使用SSH 协议启动 namenode和datanode 进程,伪✆分布式模式数据节点和名称节点均是本身,必须配置 SSH localhost无密码验证。用root用户登录,在家目录下执行如下命令:ssh-keygen -t rsa [root@master ~]# ssh-keygen -t rsaGenerating public/private rsa key
pair.Enter
file in which to save the key (/root/
.ssh/id_rsa):
& 按回车默认路径 &Created directory '/root/.ssh'. &创建/root/
.ssh
目录&Enter passphrase (empty for no passphrase):Enter same passphrase again: Your identification has been saved in /root/
.ssh/id_rsa.Your
public key has been saved in /root/
.ssh/id_rsa.pub.The
key fingerprint is:c6:7e:57:59:0a:2d:85:49:23:cc:c4:58:ff:db:5b:38 root@master通过以上命令将在/root/
.ssh/
目录下生成id_rsa私钥和
id_rsa.pub
公钥。进入/root/
.ssh
目录在namenode节点下做如下配置:[root@master .ssh]# cat
id_rsa.pub
> authorized_keys[root@master .ssh]# scp authorized_keys 192.168.1.20:/root/
.ssh/[root@master
.ssh]# scp authorized_keys 192.168.1.21:/root/
.ssh/
配置完毕,可通过ssh 本机IP 测试是否需要密码登录。2.2 和namenode无密码登录所有Datanode原理一样,把Datanode的公钥复制到Namenode的
.ssh
目录下。[root@slave1 .ssh]# scp authorized_keys1 192.168.1.10:/root /.ssh[root@ slave2.ssh]# scp authorized_keys2 192.168.1.10:/root /
.ssh
将刚传过来的authorized_keys1、2加入到authorized_keys[root@ master.ssh]# cat authorized_keys1 > authorized_keys[root@ master.ssh]# cat authorized_keys2 > authorized_keys这样也能在Datanode上关闭和启动Hadoop服务。4、 Hadoop配置下载 hadoop-
0.20.2.tar.gz
, 进行解压。tar zxvf hadoop-
0.20.2.tar.gz
修改/etc/profile,加入如下:# set hadoop pathexport HADOOP_HOME=/root/hadoopexport PATH=$HADOOP_HOME/bin:$PATH4.1、进入hadoop/conf, 配置Hadoop配置文件4.1.1 配置hadoop-
env.sh
文件添加 # set java environmentexport JAVA_HOME=/root/jdk1.6.0_24编辑后保存退出。4.1.2 配置core-site.xml# vi core-site.xml4.1.3 配置hdfs-site.xml# vi hdfs-site.xml4.1.4 配置mapred-site.xml# vi mapred-site.xml4.1.5 配置masters# vi masters192.168.1.104.1.6 配置slaves# vi slaves192.168.1.20192.168.1.214.2、 Hadoop启动4.2.1 进入 /root/hadoop/bin目录下,格式化namenode# ./hadoop namenode �Cformat4.2.2 启动hadoop所有进程在/root/hadoop/bin 目录下,执行start-
all.sh
命令启动完成后,可用jps命令查看hadoop进程是否启动完全。正常情况下应该有如下进程:10910 NameNode11431 Jps11176 SecondaryNameNode11053 DataNode11254 JobTracker11378 TaskTracker 我在搭建过程中,在此环节出现的问题最多,经常出现启动进程不完整的情况,要不是datanode无法正常启动,就是namenode或是TaskTracker启动异常。解决的如下:1)在Linux下关闭防火墙:使用service iptables stop命令;2)再次对namenode进行格式化:在/root/hadoop/bin 目录下执行hadoop namenode -format命令3)对服务器进行♞重启4)查看datanode或是namenode对应的日志文件,日志文件保存在/root/hadoop/logs目录下。5)再次在/bin目录下用start-
all.sh
命令启动所有进程,通过以上的几个方法应该能解决进程启动不完全的问题了。4.2.3 查看集群状态在 bin目录下执行:hadoop dfsadmin -report# hadoop dfsadmin �Creport4.3 在WEB页面下查看Hadoop工作情况打开IE浏览器输入部署Hadoop服务器的IP::50070:50030。5、Hadop使用一个测试例子wordcount:计算输入文本中词语数量的程序。WordCount在Hadoop主目录下的java程序包hadoop-0.20.2-
examples.jar
中,执行步骤如下:在/root/hadoop/bin/目录下进行如下操作:./hadoop fs -mkdir input(新建目录名称,可任意命名)mkdir /root/a/vi /root/a/
a.txt
写入hello world hello# hadoop fs -copyFromLocal /root/a/ input在/root/hadoop/bin下执行:# ./hadoop jar hadoop-0.20.2-
examples.jar
wordcount input output (提交作业,此处需注意input与output是一组任务,下次再执行wordcount程序,还要新建目录intput1与output1不能跟input与output重名)6、Maven安装6.1下载Maven解压tar vxzf apache-maven-3.0.2-
bin.tar.gzmv
apache-maven-3.0.2 /root/maven6.2 vi ~/
.bashrc
添加如下两行export M3_HOME=/root/mavenexport PATH=${M3_HOME}/bin:${PATH}6.3 先logout,之后再♦login查看maven版本,看是否安装成功mvn -version7、安装mahout安装方法见:
、hadoop集群来执行聚类算法8.1数据准备cd /root/hadoopwget
./hadoop fs -mkdir testdata./hadoop fs -put
synthetic_control.data
testdata./hadoop fs -lsr testdatabin/hadoop jar /root/mahout/mahout-examples-0.4-
job.jar
org.apache.mahout.clustering.syntheticcontrol.kmeans.Job8.3查看一下结果吧bin/mahout vectordump –seqFile /user/root/output/data/part-r-00000这个直接把结果显示在控制台上。9、hadoop集群来执行推荐算法分布式bin/hadoop jar /root/trunk/mahout-distribution-0.4/mahout-core-0.4-
job.jar
org.apache.mahout.cf.taste.hadoop.item.RecommenderJob
-Dmapred.map.tasks=3 -Dmapred.reduce.tasks=3 -Dmapred.input.dir=testdata/
100wan.txt
-Dmapred.output.dir=output2伪分布式bin/hadoop jar /root/trunk/mahout-distribution-0.4/mahout-core-0.4-
job.jar
org.apache.mahout.cf.taste.hadoop.pseudo.RecommenderJob
–recommenderClassName
org.apache.mahout.cf.taste.impl.recommender.slopeone.SlopeOneRecommender
-Dmapred.input.dir=testdata/
10wan.dat
-Dmapred.output.dir=output_w10wan10、其他离开安全模式:hadoop dfsadmin -safemode leave
关于保护环境的一篇英语作文!80词.
1.Everyone all knows that environment is important to us.
每个人都知道环境对我们来说很重要.
Sometimes bad environment is bad for our health.
有时,不好的环境有害我们的健康.
So don’t throw some bottles around,please.
因此请不要乱扔瓶子
Don’t throw any paper about.
不要乱扔纸片.
Don’t spit in public
不要在公共场合吐痰.
We should plant more trees and flowers.
我们应该种植更多的树木和鲜花.
We shouldn’t cut them down.
我们不应该把它们砍倒.
We also shouldn’t trample grass
我们也不应该踩踏草坪
If we see some litters on the ground,we should pick it up and throw it into dustbins.
每当我们看见垃圾在地上,我们应该把它捡起并且把它扔进垃圾桶
We should let more visitors see our environment is very clean.
我们应该让更多的旅行者看见我们的环境是很干净的.
2.Our should know to improve the environment means to improve our life.
我们应该知道改善环境就是改善我们的生活.
It's our duty to protect the environment.
我们有责任保护环境.
Because it can keep ourselves fit.
因为它能保持我们自己的健康.
有哪些方法可以将JSON格式的数据集转化
将JSON格式的数据集转化为Excel格式,应该分两种情况:
-
一、你在编程段生成了JSON格式的数据要转成Excel给用户用
-
二、你在Excel端,拿到了JSON格式的数据要转成Excel格式进行使用
对于第一种情况,去找相应编程语言的数据转换库,不同语言会有所差别,但这种基本的类库应该都会存在。
这里详细讲一下第二种情况,在以往,这个问题比较麻烦,因为Excel不能直接识别JSON格式文件进行转换(但能够识别XML),不过,现在可以通过Excel2016的新功能Power Query(Excel2010或Excel2013可到微软官方下载相应的插件)轻松完成。
Power Query综合实战:结构化数据轻松提取_JSON篇
小勤:上次关于《XML结构文本提取》的时候,你还说了另一个种JSON格式,今天还真见到了。
大海:啊。一般来说JSON格式的数据都出现在网页上,你是怎么碰到的?
小勤:昨天叫同事帮我找网上的燃油价格指数,结果他就把网页里的数据复制给我✙了。
大海:你这同事也是,这数据也能直接给你,他不给你转成Excel表再给你啊?
小勤:他最后其实是转好发给我的,他也在学Power Query,我刚好记得你说过这种用中括号、大括号包住的数据是2大结构数据类型之一,所以就试了一下,居然成功了,就顺便教会了他。我是这样操作的:
Step-01:获取数据
Step-02:解析为JSON
Step-03:将解析出来的JSON列表(List)展开
Step-04:展开从List提取出来的记录(Record)
Step-05:搞定,上载数据
大海:嗯,不错。挺熟练的了。
小勤:主要是知道这种结构化的内容是啥,而且知道Power Query里能直接解析,就有信心了,然后就大胆试,反正步骤不行就删了再试,又不会有什么损失。呵呵。
大海:能有这样的体会,你后面肯定进步很快,继续努力哦。
我是大海,微软认证Excel专家,企业签约Power BI顾问
让我们一起学习,共同进步!
【您的关注和转发铸就我前行的动力!谢谢支持!】
原创文章,作者:Ame,如若转载,请注明出处:https://www.lbseo.cn/13509.html