以下配置时,可在网上进行查询,严谨
伪分布式只需要一个节点
一、伪分布式的搭建
1.验证以下三个中的主机名是否相同
cat /etc/hosts 关注自身节点
hostname 主机名
cat /etc/sysconfig/network
2.免密远程登录
ssh-keygen -t dsa -P '' -f /root/.ssh/id_dsa
参数f指定生成密钥位置,同级目录下的id_dsa.pub为公钥
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3.安装JDK
首先使用传输工具进行传输,然后安装
rpm -i jdk-7u67-……-x64.rpm
4.配置Java环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_67
在写入的时候忘记啦,使用命令行模式“:! ls -l /usr/java”查看
export PATH=$PATH:$JAVA_HOME/bin
5.以上配置的文件执行一下
source /etc/profile
6.验证是否配置java环境
jps
7.将hadoop包传输到node01中
tar -xf hadoop-2.6…….tar.gz 解压
mkdir /opt/sxt/ (sxt为目录名称,养成习惯,自己为部署包创建目录)
mv hadoop-2.6.5 /opt/sxt/
cd /opt/sxt/ (可查看bin,sbin内容)
8.再次补充配置vi /etc/profile环境如下:
export JAVA_HOME=/usr/java/jdk1.7.0_67
export HADOOP_HOME=/opt/sxt/hadoop-2.6.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
9.执行配置的文件
“. /etc/profile”
输入ha、hdfs、start,按Tab键可以提示,则证明以生效
10.JAVA_HOME的二次配置
cat /etc/profile 复制一下JAVA_HOME的路径
cd opt/sxt/hadoop-2.6.5/etc/hadoop/
ls (更改*-env.*这样的文件)
vi hadoop-env.sh
改为export JAVA_HOME=/usr/java/jdk1.7.0_67
vi mapred-env.sh
注释掉的export放开,并改为export JAVA_HOME=/usr/java/jdk1.7.0_67
vi yarn-env.sh
注释掉的export放开,并改为export JAVA_HOME=/usr/java/jdk1.7.0_67
11.配置namenode启动
进入目录:
cd opt/sxt/hadoop-2.6.5/etc/hadoop/
namenode,secondary
vi core-site.xml
在<configuration>和</configuration>中间补充:
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value> # node01就是主机名
</property>
配置secondary启动
<property>
<name>hadoop.tmp.dir</name>
<value>/var/sxt/hadoop/local</value> # 此目录下必须为空,不存在会被创建
</property>
vi hdfs-site.xml
在<configuration>和</configuration>中间补充:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
12.配置datanode启动
vi slaves
将其中的localhost改为本机主机名node01,集群的话直接向下补充
13.格式化
hdfs namenode -format
必须看到successfully才为成功
二、伪分布式的使用
1.启动
start-dfs.sh
2.浏览器可视化
浏览器进入node01:50070,Utilities下的Browse the file system即可查看
3.创建家目录
hdfs dfs -mkdir -p /user/root/
4.把文件上传(推送)
cd
hdfs dfs -put ./hadoop-2.6.5.tar.gz /user/root/
5.准备一个文本文件,推送
for i in `seq 100000`;do echo "hello sxt $i" >> test.txt;done
注意:那个是漂号,文件为1.6M
hdfs dfs -D dfs.blocksize=1048576 -put test.txt
配置单个块的大小为1M(即1048576),并推送
/var/sxt/hadoop/local/dfs/data/current/BP-1448……/current/finalized/subdir0/sudbir0
在此目录下blk_……827和blk_……828为切开的两块