hadoop入门1---安装及运行简单程序

 

一、开发环境搭建

参考文章《史上最详细的Hadoop环境搭建》

地址: https://blog.csdn.net/hliq5399/article/details/78193113

我目前采用的是单机伪集群模式。

二、查看hadoop环境变量

[hadoop@hcb hcb]$ echo $HADOOP_HOME

三、hdfs操作

1、查看hdfs目录
${HADOOP_HOME}/bin/hdfs dfs -ls /
bin/hdfs dfs -ls /wordcountdemo/output

简写
hdfs dfs -cat /demo1/output/part-r-00000 

2、查看hdfs文件内容
bin/hdfs dfs -cat /wordcountdemo2/output/part-r-00000

3、上传文件到hdfs
${HADOOP_HOME}/bin/hdfs dfs -put ${HADOOP_HOME}/etc/hadoop/core-site.xml /demo1

4、创建hadoop目录命令
hdfs dfs -mkdir /demo1/test2

5、修改hadoop目录、文件权限
sudo bin/hadoop dfs -chmod -R 755 /

6、删除hadoop目录
hdfs dfs -rm -r /demo1/test1

7、创建hadoop文件
先在本机上创建一个文件,然后hdfs dfs -put input.txt /demo1

四、启动hadoop

1、可以采用如下两种方式
方式一、su hadoop
${HADOOP_HOME}/sbin/hadoop-daemon.sh start namenode
${HADOOP_HOME}/sbin/hadoop-daemon.sh start datanode
${HADOOP_HOME}/sbin/hadoop-daemon.sh start secondarynamenode

方式二、start-dfs.sh

启动过程中要输入几次密码。

2、验证启动是否成功

有两种方式

方式一、执行jps命令,查看进程

方式二、访问hdfs管理页面

http://192.168.175.128:50070

五、启动yarn

1、方式一、
${HADOOP_HOME}/sbin/yarn-daemon.sh start resourcemanager
${HADOOP_HOME}/sbin/yarn-daemon.sh start nodemanager

2、方式二、

start-yarn.sh

六、访问hadoop管理页面

1、http://192.168.175.128:50070 hdfs管理页面

2、http://192.168.175.128:8088/cluster 访问yarn管理页面

3、注意:要按照如下方式配置hosts文件,否则其他机器无法通过浏览器访问管理页面
[hadoop@hcb hcb]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.175.128 hcb.com

七、hadoop程序执行

列举如下几种执行方式

1、jar包方式运行
上传到hadoop所在服务器的任意路径,执行如下命令即可:
hadoop jar hello.jar

运行情况如下图所示:

2、yarn方式运行
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /wordcountdemo/input /wordcountdemo/output

3、IDE(如eclipse)中远程执行

首先,在工程的lib中添加如下几类jar包

3.1、 /opt/modules/hadoop-2.5.0/share/hadoop/common/lib的所有jar包;

3.2、/opt/modules/hadoop-2.5.0/share/hadoop/hdfs/lib的所有jar包;

3.3、hadoop-common-2.5.0.jar和hadoop-hdfs-2.5.0.jar

其次,代码如下:

package hdfs;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class TestReadFile {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		Configuration conf = new Configuration();
		conf.set("fs.defaultFS", "hdfs://192.168.175.128:8020/");
		FileSystem fs =FileSystem.get(conf);
		Path path = new Path("/wordcountdemo2/output/part-r-00000");
		
		FSDataInputStream fis = fs.open(path);
		byte b[] = new byte[200];
		int i = fis.read(b);
		System.out.println(new String(b, 0, i));
		
	}

}

 

 

 

 IDE中运行上述代码即可。

 

八、常见问题汇总

1、运行程序报错,Permission denied: user=Administrator, access=WRITE, inode="hadoop":hadoop:supergroup:rwxr-xr-x

解决办法:

在conf/hdfs-site.xml中加入以下配置:

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值