Hadoop全分布式
1.安装jdk Linux下安装jdk-7u67-linux-x64.rpm
2.免密登录 ssl免密登录(centos6)
3.同步时间:date -s "2020-04-05 12:00:00"
4.配置Hadoop
在Hadoop伪分布式安装的基础上修改配置
4.1.在Hadoop伪分布式安装里面已经修改了Hadoop的环境变量,现在修改node1的core-site.xml
cd /opt/sxt/hadoop-2.6.5/etc/hadoop
vi core-site.xml
修改为:
<property>
<name>hadoop.tmp.dir</name>
<value>/var/sxt/hadoop/full</value>
</property>
把数据路劲/var/sxt/hadoop/pseudo改成/var/sxt/hadoop/full
4.2.修改node1的hdfs-site.xml
vi hdfs-site.xml
修改为:
<property>
<name>dfs.replication</name>
<value>2</value> # 现在有3个从节点,所以副本数可以设置为3,但是我们设置成2可以更好地看出Hadoop的额副本分配策略
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:50090</value> # 在Hadoop说明中secondaryNameNode需要单独一台服务器,所以把他放在node2机器上
</property>
4.3.修改node1的slaves
修改为:
node2
node3
node4
5.分发Hadoop到每台从节点
到node1的/opt/sxt目录下
执行分发:scp -r hadoop-2.6.5/ node2:`pwd`
scp -r hadoop-2.6.5/ node3:`pwd`
scp -r hadoop-2.6.5/ node4:`pwd`
6.查看所有从节点的Hadoop的环境变量配置
执行查看:cat /etc/profile
从节点应该是没有配置Hadoop的环境的,所以node1分发一下
scp /etc/profile node2:/etc/
scp /etc/profile node3:/etc/
scp /etc/profile node4:/etc/
所有都执行 . /etc/profile
7.格式化
在node1主节点上执行:hdfs namenode -format
格式化结束,自动创建node1的core-site.xml中配置的路径/var/sxt/hadoop/full
8.启动Hadoop
执行:start-dfs.sh
9.启动成功后查看
每台机器执行:jps
node1进程为:NameNode
node2进程为:DataNode和secondaryNameNode
node3和node4都为:DataNode
10.假如主节点或者从节点出现问题,查看日志
主从节点日志路径都为:/opt/sxt/hadoop-2.6.5/logs
11.Hadoop提供了可视化的web管理工具
先查看web通讯端口:ss -nal
端口号为50070,使用Chrome访问node1:50070
12.创建Hadoop内部的文件路径,上传DataNode文件
进入/var/sxt/hadoop/pseudo/dfs/data/current/BP-1237532946-192.168.88.31-1585528858872/current/finalized
使用hdfs dfs命令(类似Linux的命令)
创建路径:hdfs dfs -mkdir -p /user/root
查看路径:hdfs dfs -ls /
进入~/software查看要上传的文件大小:ls -lh ./
上传文件:hdfs dfs -put hadoop-2.6.5.tar.gz /user/root
上传文件时指定块大小:hdfs dfs -D dfs.blocksize=10248576 -put hadoop-2.6.5.tar.gz /user/root # 指定每个块大小为1M
上传完成可以去web浏览器查看/user/root路径下上传的文件
文件存在磁盘为位置是:/var/sxt/hadoop/full/dfs/data/current/BP-1237532946-192.168.88.31-1585528858872/current/finalized/subdir0/subdir0