Hadoop的Windows伪分布式学习
解压hadoop-2.7.2.zip,不是tar.gz,前者是Windows所用的
解压到路径,设置环境变量
HADOOP_HOME=E:\hadoop-2.7.2\
HADOOP_USER_HOME=hadoop
然后path路径添加;%HADOOP_HOME%\bin;
如果你的jdk的路径是有空格的是会有报错的
即修改E:\hadoop-2.7.2\etc\hadoop\hadoop-env.cmd
里的
原来为
set JAVA_HOME=%JAVA_HOME%
路劲里面有C:\progrem file\RedHat\java-1.8.0-openjdk-1.8.0.151-1
更改为C:\PROGRA~1\RedHat\java-1.8.0-openjdk-1.8.0.151-1
即可
然后新建java项目工程(空的也开,把l解压的lib文件(在hadoop文件夹的lib压缩包里,不是hadoop解压后的lib)添加到工程里,右键----add to liberary即可)
如果报信息错误,有可能是包没解压好,重新解压hadoop压缩包,或者是一种code异常,需要网上下载msvcr120.dll放到c盘Windows下面的system32下面
新建java类
输入下面的,包不要倒错
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;
public void getFileSystem() throws Exception{
// 0 创建配置信息对象
Configuration configuration = new Configuration();
// 1 获取文件系统
FileSystem fs = FileSystem.get(new URI("hdfs://master:9000"), configuration, "hadoop");
// 2打印文件系统
System.out.println(fs.toString());
// 3 关闭资源
fs.close();
}
启动后
解决错误网址
编辑日志存储地方[email protected]:~/hadoop_home/dfs/name/current$
hdfs oiv -p XML -i 镜像文件 -o ~/hadoop_home/fsimg
存放id和版本号等的地址
[email protected]:~/hadoop_home/tmp/dfs/namesecondary/current
#Wed Feb 27 18:42:51 CST 2019
namespaceID=849291812
clusterID=CID-8134e0f4-63ec-40f0-b09d-c7f28f465089
cTime=0
storageType=NAME_NODE
blockpoolID=BP-1536446401-192.168.0.235-1551154921702
layoutVersion=-63