jdk、防火墙、时间、免密
主机名hosts
1.根据自己机器的情况,克隆2-3台虚拟机,并实现免密
2.查看jdk配置——在控制台输入“printenv”即可查看配置情况
关于在Linux中jdk的相关配置应该在克隆前将jdk配置好,这样克隆后的虚拟机就直接已经配置好jdk环境。对于没有配置好jdk环境变量的,按照以下步骤进行操作。
- 通过xftp软件将java/jdk1.7.0_80的压缩包上传到虚拟机的/opt文件夹中
- 解压压缩文件:rpm -ivh jdk-7u80-linux-x64.rpm
- 查看jdk安装路径:rpm -ql jdk
- 配置环境变量:在linux系统下,建议修改用户的环境变量,因为一台服务器是由几个人用。通过指令 ~/.bash_profile 修改用户环境变量。
- 令启动生效:
- 验证jdk:
3.设置成相同时间(相差在30s内)
date + mmddhhmm格式
[root@node1 ~]# date 06301749
4.关闭防火墙
输入下面命令:
service iptables stop——暂时关闭
chkconfig iptables off——永久关闭
5. 通过xftp软件将Hadoop包上传到/opt文件夹中
6. 解压Hadoop包
[root@node1 ~]# tar -xvf hadoop-2.5.2.tar.gz
解压完毕后通过ls指令查看是否解压成功,是否存在解压后的文件
7.配置环境变量
通过pwd指令可以查看路径
[root@node1 home]# cd /opt/hadoop-2.5.2
[root@node1 hadoop-2.5.2]# pwd
/opt/hadoop-2.5.2
[root@node1 hadoop-2.5.2]# vi ~/.bash_profile
配置如下图所示:
配置完成后保存退出别忘记将配置好的生效
[root@node1 hadoop-2.5.2]# source ~/.bash_profile
之后可通过[root@node1 hadoop-2.5.2]#hadoop
指令验证是否配置成功
刚刚只是配置了node1的环境变量,还需要配置其他虚拟机上的环境变量,此时通过远程复制将node1的环境变量复制到其他的虚拟机的位置上。指令如下:
[root@node1 hadoop-2.5.2]# scp ~/.bash_profile node2:~/
查看node2就可以发现也同时配置好了环境变量,之后再使其生效即可。
8.修改配置文件
(1)修改 Hadoop-env.sh配置文件中的JAVA_HOME配置,JAVA_HOME的路径可以通过
[root@node1 ~]# echo $JAVA_HOME
来查看
之后保存退出即可
(2)修改core-site.xml,相关配置如下
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop</value>
</property>
</configuration>
注意:hadoop.tmp.dir,默认目录存放在磁盘的/tmp/hadoop-$(user.name)目录下,磁盘清理时,会优先清除掉,因为元数据比较重要,因此需要更改默认存放目录。
(3)hdfs-site.xml配置
#规定SN的http协议地址,若不指定,以当前主机作为SN
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:50090</value>
</property>
#规定SN的https协议地址
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>node2:50091</value>
</property>
#规定最小副本数
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
(4)slaves 配置
修改如下图,其中localhost我已经删除,因为电脑配置较低,选取两个虚拟机,大家可以根据自己电脑的情况去创建虚拟机的台数
9.将basic主机下的hadoop复制到其他两台机器上
[root@node1 hadoop-2.5.1]# cd /opt/hadoop/
[root@node1 opt]# scp -r hadoop-2.5.1 root@node2:/opt/
经过以上的步骤再去查看node2中opt目录,可以发现已经存在hadoop-2.5.2的文件
10.在主节点格式化HDFS
[root@node1 opt]# hdfs namenode -format
格式化之后查看元数据
11.主节点上启动 start-dfs.sh
此处的先决条件是虚拟机之间是实现免密的,包括node1 登录node1同样要实现免密
进入.ssh目录下后启动
[root@node1 current]# cd /root/.ssh/
[root@node1 .ssh]#start-dfs.sh
启动之后,查看进程执行jps指令可查看到node1的进程中包含
[root@node1 .ssh]# jps
1770 Jps
1519 DataNode
1438 NameNode
node2中包含
[root@node2 .ssh]# jps
1657 Jps
1450 DataNode
1398 SecondaryNameNode
[root@node2 home]# netstat -npl | grep java
可查看接口
12.修改windows的hosts文件(起个别名)
windows hosts文件位置:C:\Windows\System32\drivers\etc
在最后添加(IP根据实际情况来写)
192.168.144.120 node1
192.168.144.121 node2
13.通过浏览器访问:http://node1:50070或http://192.168.211.30:50070验证