【hadoop-hdfs】2.1、hadoop3.2.0伪分布式(Pseudo-Distributed Operation):hdfs

【单机配置,直接执行hadoop jar即可跑share下的demo】

1、检查是否修改/wy_root/hadoop-3.2.0/etc/hadoop/hadoop-env.sh

export JAVA_HOME=...

2、修改core-site.xml

vim /wy_root/hadoop-3.2.0/etc/hadoop/core-site.xml

configuration中增加:

<!-- hdfs文件系统对外访问ip(主机域名)和端口 -->
<property> 
    <name>fs.defaultFS</name> 
    <value>hdfs://hadoop100:7701</value> 
</property>
<!-- hdfs数据存放目录,包括:name,data,secondaryname -->
<property> 
    <name>hadoop.tmp.dir</name> 
    <value>/wy_root/tmp_hadoop</value> 
</property>

3、修改hdfs-site.xml

vim /wy_root/hadoop-3.2.0/etc/hadoop/hdfs-site.xml

configuration中增加:

<!-- centos7 不加此配置,无法访问web查看页面 --> 
<property> 
    <name>dfs.http.address</name> 
    <value>0.0.0.0:50070</value> 
</property>
<!-- 数据存储副本数 -->
<property> 
    <name>dfs.replication</name> 
    <value>1</value> 
</property>

4、修改hadoop-env.sh

vim /wy_root/hadoop-3.2.0/etc/hadoop/hadoop-env.sh

增加用户:(偷懒直接用的root)

export HDFS_NAMENODE_USER="root" 
export HDFS_DATANODE_USER="root" 
export HDFS_SECONDARYNAMENODE_USER="root" 
export YARN_RESOURCEMANAGER_USER="root" 
export YARN_NODEMANAGER_USER="root"

tip:如果没有ssh无密远程登录需要执行:

官方文档

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
$ chmod 0600 ~/.ssh/authorized_keys

// 生成rsa秘钥
ssh-keygen -t rsa
// 分发秘钥
ssh-copy-id [目标主机hostname或ip]
【例如:ssh-copy-id hadoop101】

5、namenode初始化

/wy_root/hadoop-3.2.0/bin/hdfs namenode -format

6、启动namenode、datanode、secondarynamenode

// 2.9.* 
/wy_root/hadoop-3.2.0/sbin/hadoop-daemon.sh start namenode 
/wy_root/hadoop-3.2.0/sbin/hadoop-daemon.sh start datanode

// 3.2.0 
/wy_root/hadoop-3.2.0//bin/hdfs --daemon start namenode 
/wy_root/hadoop-3.2.0//bin/hdfs --daemon start datanode


// 集成启动namenode、datanode和secondary 
/wy_root/hadoop-3.2.0/sbin/start-dfs.sh

7、测试

http://hadoop101:50070

tip:注意浏览器使用急速模式,否则可能js报错

备注:如果执行错误或失败清理(需要清除namenode和datanode的相关数据,否则namenode和datanode匹配不上)

1、删除hadoop目录下logs下的日志

2、删除/tmp(默认目录)下所有hadoop相关信息:

/tmp/hadoop 
/tmp/hadoop-root 
/tmphadoop-root-datanode.pid 
/tmphadoop-root-namenode.pid

3、重新执行namenode初始化命令:

猜你喜欢

转载自blog.csdn.net/u014035701/article/details/87965809