HDFS伪分布式模式和完全分布式的搭建
准备工作:
1.修改动态IP为静态:
进入此目录
cd/etc/sysconfig/network-scripts
执行命令:
vim config-eth0
进行修改,修改后记得重启网络服务:
service network restart
2.关闭防火墙
(一定不要忘记)
即时生效,重启失效
service iptables stop
重启永久失效(建议)
chkconfig iptables off
伪分布式
(1) 配置免密登录 node01->node01
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
(2) 配置JDK
修改 /etc目录下profile文件
export JAVA_HOME=/opt/software/jdk/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
(3) 修改hdfs-site.xml配置文件
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
(4) 修改core-site.xml配置文件
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/abc/hadoop/local</value>
</property>
(5) 修改slaves配置文件
修改为node01
(6) 格式化NameNode(创建目录以及文件)
hdfs namenode -format
(7) 启动HDFS
start-dfs.sh
(8) 操作HDFS文件系统
① 创建目录
hdfs dfs -mkdir -p /user/root
② 上传文件
hdfs dfs -D dfs.blocksize=1048576 -put
完全分布式
(1) 时间同步
① 各个节点安装ntp命令
yum install ntp
② 上网查找最新的时间服务器
ntp1.aliyun.com
③ 同步时间
ntpdate ntp1.aliyun.com
(2) 配置免密登录 (如果操作失败,搞乱了各个节点的密钥,删除 .ssh/目录下文件重新配置)
node01->node01 node01->node02 node01->node03 node01->node04
① 所有节点执行
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
② 在node01节点执行,将node01的公钥加入到其他节点的白名单中
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node02
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node03
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node04
(3) 所有节点配置JDK(所有节点都要配置,一台机器配好后,可以直接推送到其他节点)
export JAVA_HOME=/opt/software/jdk/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
(4) 修改hdfs-site.xml配置文件
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
(5) 修改core-site.xml配置文件
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/abc/hadoop/cluster</value>
</property>
(6) 修改slaves配置文件
修改为(切记,此处代码为竖排)
node02
node03
node04
(7) 格式化NameNode(创建目录以及文件,如果操作异常重复格式化,记得先删掉格式化产生的文件目录)
hdfs namenode -format
(8) 启动HDFS
start-dfs.sh
(9) 操作HDFS文件系统
① 创建目录
hdfs dfs -mkdir -p /user/root
② 上传文件
hdfs dfs -D dfs.blocksize=1048576 -put
附:HDFS一些常用操作命令
上传文件:
hdfs dfs -put src... dest
hdfs dfs -copyFromLocal. src... dest
hdfs dfs -moveFromLocal src... dest
//将本地的文件移动到HDFS中
创建新目录:
hdfs dfs -mkdir /test
级联创建
hdfs dfs. -mkdir -p /test/zfg
往文件中追加信息:
hdfs dfs -appendToFile cba /test/t1
查看文件内容:
hdfs dfs -cat /test/t1
更改文件的数组:
hdfs dfs- -chgrp nb /test/t1
递归修改加-R
更改文件的权限:
hdfs dfs- -chmod -R 777 /zfg
更改文件的属主以及数组:
hdfs dfs -chown -R zfg:zZz /zfg
将HDFS_上的文件复制到本地:
hdfs dfs -copyToLocal /t1 . /
查看文件系统的磁盘空间:
hdfs dfs -df -h /