简答实现四台虚拟机的完全分布式搭建操作
NN | SNN | DN | |
---|---|---|---|
node01 | √ | ||
node02 | √ | √ | |
node03 | √ | ||
node04 | √ |
1 虚拟机搭建jdk和hadoop环境相关设置
1.1 jdk和hadoop安装
在linux
的根目录下opt
目录下创建两个子目录分别为software
和module
目录,创建这两个文件的目的是,software
为了存放压缩文件,而module
为了存放解压文件,将jdk
和hadoop
压缩包发送到software
目录,并且解压到module
目录,修改java
环境变量。
vim /etc/profile
cd /opt/module/hadoop-2.7.2/etc/hadoop
进入hadoop目录修改相关的环境变量(hadoop-env.sh,mapred-env.sh,yarn-env.sh)
vim hadoop-env.sh
vim mapred-env.sh
vim yarn-env.sh
在安装好jdk
时候,环境变量也配置好后,输入jps
(显示java
进程及id
号),如果没有反应,输入. /etc/profile
后(. 后面有一个空格),在输入jps
查看。
1.2 免密钥处理:
这一步也可以不做,但是那样的话,为了方便远程登录一类的,这里就设置了免密钥处理。
进入root
权限,直接在当前输入cd
命令,然后在输入ls –ha
,查看有没有.ssh
目录,没有的话的话,输入ssh localhost
登录自己创建,然后,exit
退出。此时在输入ls –ha
目录下就已经有了.ssh
目录了。
用node01
做namenode
,其他三个做datanode
处理,所以,node01
(管理节点)的公钥放到三个文件的autoorized_keys
去,比如将node01
的公钥放在node02
里面,输入:scp id_dsa.pub node02:/ root/.ssh/node01.pub
。接着输入cat node01.pub >> authorized_keys将node01.pub
的内容追加到authorized_keys
中去,其他两个类似。现在就可以直接免密钥进入。
1.3 hadoop环境搭建
vim core-site.xml
vim slaves
vim hdfs-site.xml
上面这些只是配置好了一台虚拟机,如果不想麻烦,可以在SecureCRT
或者Xshell
中输入:scp –r hadoop路径 node02:hadoop路径
,这里就相当于将整个hadoop
目录拷贝到另外一个虚拟机中,hadoop
路径就是你解压hadoop
后放置的位置。我这里就是/opt/module
目录下。
假设四个虚拟机都设置好了,在node01
格式化namenode
,输入hdfs namenode –format
格式化完成后,输入start-dfs.sh
,启动。此时也可以在进入各个虚拟机中输入:cd /var/sxt/hadoop/full/dfs/
,查看生成的目录,比如这里去node02
查看
由于node02
即使datanode
节点也是namesecondary
节点,所以这里有两个目录。
也可以输入jps
查看进程。
在浏览器中输入:http://node01:50070