hadoop2.6.0伪分布式+spark1.6.0配置记录

1、hdfs-site.xml文件:

<configuration>
    <property>
        <name>dfs.name.dir</name>
        <value>/spark/hadoop-2.6.0/tmp/dfs/name</value> #只需要手动创建/spark/hadoop-2.6.0/tmp目录就好
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>/spark/hadoop-2.6.0/tmp/dfs/data</value> #只需要手动创建/spark/hadoop-2.6.0/tmp目录就好
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
2、core-site.xml文件:

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://kid</value> #kid是我的主机名
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/spark/hadoop-2.6.0/tmp</value> #手动创建这个目录
    </property>
</configuration>
3、mapred-site.xml文件:

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
    </property>
</configuration>
4、不用配置yarn-site.xml文件

5、在/spark/hadoop-2.6.0/etc/hadoop目录下创建文件masters,并写入kid(我的主机名)

6、在/spark/hadoop-2.6.0/etc/hadoop目录下创建文件slaves,并写入kid。和masters文件的内容一样,是因为这是伪分布模式,主从主机都是主节点本身。

7、其他需要导出的环境变量配置请参考别的文章,比较简单。

8、启动hadoop:

hadoop namenode -format
./start-all.sh #在/spark/hadoop-2.6.0/sbin下执行

打开http://localhost:50070就可以看到界面了

出现的小问题:

kid: ssh: connect to host kid port 22: Connection timed out
打开/etc/hosts之后,发现是因为ip地址与kid对应关系错了。

9、打开spark连接hadoop:

./start-all.sh #在/spark/spark-1.6.0/sbin下执行

打开http://localhost:8080就可以看到界面了

10、在hadoop上创建文件后,打开spark-shell界面,运行统计词频的代码:

hadoop dfs -mkdir -p /user/hadoop #创建目录
hadoop dfs -put input_file.txt /user/hadoop #上传文件
scala> val file=sc.textFile("hdfs:///user/hadoop/input_file.txt") #hdfs上的文件中径为:/user/hadoop/input_file.txt  
scala> val count=file.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)   
scala> count.collect() #输出结果  
scala> count.saveAsTextFile("hdfs:///user/hadoop/result") #存放到result目录下 
hadoop dfs -copyToLocal /user/hadoop/result ./ #下载结果
默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读
本地文件读取 sc.textFile("路径").在路径前面加上file:// 表示从本地文件系统读,如file:///home/user/spark/README.md






阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/o1101574955/article/details/51559408
文章标签: spark hadoop
个人分类: spark
上一篇在window上运行spark1.6.0
下一篇pyspark+nltk处理文本数据
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭