伪分布式
环境依赖不再累述
hadoop安装不再累述。
每台机器部署一个hadoop
一台用于启动namenode
其余三台用于datanode,这三台中还需有一台启动snn
如果用脚本管理其它节点,作为管理的这台服务器需要免密登陆其它所有节点。
scp命令参考
192.168.1.4 nn+管理
192.168.1.5 dn+snn
192.168.1.6 dn
192.168.1.7 dn
####1. ssh 免密登陆
如果没有.ssh文件,则用ssh localhost登陆下。
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
1)a要免密登陆b,则将a的公钥发送给b。这里将192.168.1.4公钥发给其他节点
scp ./id_rsa.pub root@192.168.1.5:`pwd`/hadoopclu2.pub
pwd 代表 /home/hadoop/.ssh/ 目录。pwd是查看当前目录,用在这里是获取当前目录,每个节点的公钥目录都是一样的,这里简写为pwd。
hadoopclu1.pub 这里在拷贝完成后,将拷贝的文件重命名为hadoopclu1.pub便于区分。
在192.168.1.5中使用如下命令可以看到拷贝结果。
[root@192 yum.repos.d]# cd /home/hadoop/.ssh
[root@192 yum.repos.d]# ll
/home/hadoop/.ssh/hadoopclu1.pub
2) 将公钥追加到authorized_keys文件中
cat hadoopclu1.pub >> authorized_keys
重复以上操作,完成其他节点
####2. hadoop配置
192.168.1.4第一个节点192.168.1.4
1)core-site.xml 配置
fs.defaultFS 配置为第一个节点
hadoop.tmp.dir
2)配置nn
编辑slaves,配置其它nn主机名,没设置主机名则写ip
[hadoop@192 hadoop]$ vim workers
hadoopclu1
hadoopclu2
hadoopclu2
3)配置snn
hdfs-site.xml
dfs.replication 副本数量不超过节点数量就行
dfs.namenode.secondary.http-address 按照前面计划,这里启动节点配置为192.168.1.5:9868
配置完成后,将第一个节点的hadoop整个安装文件全部拷贝到其他节点即可,其它节点配置无需改动,注意创建配置文件中所需要的文件目录即可。
####3. 格式化、启动
dfs namenode -format
格式化是用于nn的,只需在nn节点格式化即可。
start-dfs.sh启动
问:nn和ssn启动成功,dn却在第一个节点启动,其它三个节点均未启动dn
到:2x以及以前版本从节点写在slaves中,3x版本写在workers文件中。
问:
/…/dfs/name is in an inconsistent state: storage directory does not exi st or is not accessible.
到:权限不够