hadoop目录
- bin :功能模块
- sbin:shell脚本
- etc:配置
- lib:使用库
bin和sbin目录都要加入到环境变量中。
vi /etc/profile
增加:
export HADOOP_HOME = /opt/data/hadoope-.6.5
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin:
H
A
D
O
O
P
H
O
M
E
/
b
i
n
:
HADOOP_HOME/bin:
HADOOPHOME/bin:HADOOP_HOME/sbin
说明:HADOOP_HOME 是hadoop代码路径/安装路径;
配置hadoop角色
配置1:
- cd $HADOOP_HOME /etc/hadoop
- vi hadoop-env.sh
- 修改其内的JAVA_HOME路径为绝对路径,因为ssh远程操作的时候无法通过$JAVA_HOME获得路径
配置2:
- cd $HADOOP_HOME /etc/hadoop
- vi core-site.xml
- 配置NameNode的主机名和端口号(决定NameNode启动的主机和端口,使其他从机知道NameNode位置)
配置3:
- cd $HADOOP_HOME /etc/hadoop
- vi hdfs-site.xml 配置副本数量,NameNode元数据和DataNode数据(block块)放置位置,同时配置SNN(主机名:端口)和其存储路径
配置4:
- cd $HADOOP_HOME /etc/hadoop
- vi slaves 配置DataNode角色启动位置
hadoop运行和使用
- 格式化:只执行一次,且格式化只生成NameNode;
hdfs namenode -format
- 启动:读取配置文件,完成NameNode和DataNode,SecondaryNameNode启动,该shell脚本将会执行bin下slaves.sh,将登录所有的slaves。
start-dfs.sh
-
启动完成后,可以通过NameNode配置的主机名:端口号访问该集群,如http://node01:50070
-
修改windows: C:\Windows\Systenm32\drivers\etc\hosts文件,增加主机的ip地址和主机名,如 192.168.150.11 node01
-
hdfs操作
hdfs dfs -mkdir -p /user/root //递归创建目录,使用和linux相同
hdfs dfs -put filepath /user/root //将文件放到user/root目录下
hadoop 观察FsImage和EditLog
- 前往/var/bigdata/hadoop/local/dfs/name/current路径可以查看当前的FsImage和EditLog
- cd /var/bigdata/hadoop/local/dfs/secondary/current,只需要拷贝最新的FsImage和EditLog
分发配置
- ssh配置
配置ssh免密,用于启动dfs。将执行start-dfs.sh脚本的服务器的公钥分发给其他所有的服务器。 - 将配置的文件分发给所有的服务器(包含core-site.xml, hdfs-site.xml, salves)