day2_hdfs集群集中管理和hadoop文件操作
启动四台机器
- master:
hadoop-daemon.sh start namenode
- slave:
hadoop-daemon.sh start datanode
观察集群配置情况:
终端查看:
hdfs dfsadmin -report | more
浏览器查看:http://192.168.56.100:50070
web界面观察集群运行情况:netstat -ntlp
关闭集群:hadoop-daemon.sh stop namenode
hadoop-daemon.sh stop datanode
对集群进行集中管理 vim /usr/local/hadoop/etc/hadoop/slaves
# 删去了原有的localhost,不删估计也行
# 编辑内容如下
slave1
slave2
slave3
使用start-dfs.sh
启动集群
需要输入每个节点的密码,对slave进行远程登录
在master上用ssh连接一台slave,需要输入密码slave的密码,
ssh slave1
,输入密码登陆成功后,使用exit
指令退回到master。
免密ssh远程登录
- 回到根目录
cd /root/.ssh
-
ls
看.ssh
目录下的文件 - 生成rsa算法的公钥和私钥
ssh-keygen -t rsa
,进入cd /root/.ssh
可以看到以下文件生成-
id_rsa
私钥 -
id_rsa.pub
公钥
-
- 完成免密ssh登录:
ssh-copy-id slaveX
- 在slaveX机器的
/root/.ssh
目录下多出authorized_keys
文件
- 在slaveX机器的
- 需要给本机也拷贝一份:
ssh-copy-id master
,因为本机执行也是远程登录 - 使用
stop-dfs.sh
停止集群 -
start-dfs.sh
测试免密登录是否成功
测试:
将hadoop的安装文件put
到hadoop上的操作:hadoop fs -put ./hadoop-2.7.3.tar.gz /
注意当前目录为
/usr/local/
将
vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
的replication
属性修改为2
为了方便测试,同时需要修改另外一个参数
dfs.namenode.heartbeat.recheck-interval
,这个值默认为300s,将其修改成10000,单位是ms,这个参数是定期间隔时间后检查slave的运行情况并更新slave的状态。
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.heartbeat.recheck-interval</name>
<value>10000</value>
</property>
</configuration>
stop-dfs.sh
start-dfs.sh
将jdk
put
到hadoop上:hadoop fs -put jdk.rmp /
关闭slave3:
hadoop-daemon.sh stop datanode
修改本机上的hosts文件,通过名字来访问集群web界面
vim /etc/hosts
# 编辑如下内容
192.168.56.100 master
192.168.56.101 slave1
192.168.56.102 slave2
192.168.56.103 slave3