1、首先准备好三台虚拟机,可以参考如下链接搭建三个虚拟机
2、首先关闭所有机器的防护墙和selinux
永久关闭防火墙:chkconfig --level 35 iptables off
永久关闭selinux:
vim /etc/selinux/config
找到SELINUX 行修改成为:SELINUX=disabled:
source /etc/selinux/config
3、为三台虚拟机分别配置hostname,我的三台虚拟机名字还是装系统指定的,mini1,mini2,mini3,所以没有改!如果需要,如下操作
vim /etc/sysconfig/network
备注(linux下修改文件,vim命令,按i修改文件,按Esc退出编辑模式,:wq保存修改)
配置完成之后重启虚拟机
4、修改三台机器的/etc/hosts文件,将三台机器的ip地址和主机名称配进去
执行:vim /etc/hosts
将
192.168.25.130 mini1
192.168.25.131 mini2
192.168.25.132 mini3
写入到hosts文件中,这个配置以自己机器的实际ip和hostname配进去(注意:hostname对应的用户名,此步骤一定要注意,否则容易找不到主机名)
执行完之后
执行:source /etc/hosts
5、安装jdk
首先卸载虚拟机上原有的jdk卸载jdk: //找到我们之前查出来的java的版本
命令:rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.i686
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.i686
创建jdk的安装路径
在/usr/local/ 创建java的目录
命令:mkdir -p /usr/local/java //创建java的目录,-p存在就覆盖,不存在,就创建
按alt+p打开上传窗口,将jdk上传到linux下,会自动的放在root目录下
解压jdk
解压jdk到/usr/local/java
命令: tar -zxvf jdk-8u144-linux-i586.tar.gz -C /usr/local/java
配置环境变量
首先进入修改linux修改环境变量的地方
命令:vim /etc/profile
然后按 i 进入写入模式将下面的环境变量写入
#set java enviroment // ‘#’表是注释 JAVA_HOME=/usr/local/java/jdk1.8.0_144 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH
|
接着按 esc 退出写入模式进入一般模式,
使用 :wq 退出
最后:重新加载配置文件【不重新加载环境变量不会执行】
source /etc/profile
验证安装成功
命令:java
或者 java -version
6、新增hadoop用户,并且增加sudo权限
增加hadoop命令:useradd hadoop
passwd hadoop
给hadoop增加sudo权限
1)切换到root用户,su 输入密码
2)给sudoers增加写权限:chmod u+w /etc/sudoers
3)编译sudoers文件:vim /etc/sudoers
在root ALL=(ALL) ALL下方增加 hadoop ALL=(ALL) ALL 如下图:
4)去掉sudoers文件的写权限:chmod u-w /etc/sudoers
7、安装hadoop
解压hadoop到指定的目录(我指定为/usr/local/hadoop)
上传文件到linux,alt+p
tar -zxvf hadoop-2.4.1.tar.gz -C /usr/local/hadoop
修改配置文件:
进入:/usr/local/hadoop/hadoop-2.4.1/etc/hadoop目录
修改其中的配置文件
7.1、hadoop-env.sh
将export JAVA_HOME=${JAVA_HOME}
修改为export JAVA_HOME=/usr/local/java/jdk1.8.0_144(这个就是实际的javahome)
7.2、core-site.xml
在
<configuration></configuration>
添加
其中mini1为主节点的名称
<property>
<name>fs.defaultFS</name>
<value>hdfs://mini1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hdpdata</value>
</property>
注意:hadoop.tmp.dir配置的临时存储的目录(2018\05\18更新)
7.3、hdfs-site.xml
在7.2处同样位置添加
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
7.4 yarn-site.xml
同上处添加
<property>
<name>yarn.resourcemanager.hostname</name>
<value>mini1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
配置hadoop的环境变量
vim /etc/profile
HADOOP_HOME=/usr/local/hadoop/hadoop-2.4.1
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_HOME PATH
--------------------------分界线--------------------------------
将上面的部分全部在其他的两个机器上做一遍,或者scp到其他机器上去
举个栗子:分发hadoop
scp /usr/local/hadoop mini2:/usr/local/
scp /usr/local/hadoop mini2:/usr/local/
前面的java以及其他的配置文件都可以这样操作
------------------------------------准备完毕以后进行以下操作------------------------
格式化主节点
hadoop namenode -format
编辑slaves文件(注意在hadoop3版本是workers文件里面)
清空文件,添加从节点名字
mini2
mini3
即可
配置mini1->mini2,mini1->3上的免密码登陆
ssh-keygen 一路回车
执行
ssh-id-copy-mini1
ssh-id-copy-mini2
ssh-id-copy-mini3
就OK了!
8、查看结果
start-dfs.sh
浏览器进入:192.168.25.130:50070
9、zookeeper集群的安装
http://www.blogjava.net/hello-yun/archive/2012/05/03/377250.html
10、更新(2018、5、16)
当备份之后,重新打开虚拟机的时候,如果ip地址发生了变化,导致启动报错的话需要修改两个地方:
1、修改hosts文件
vim /etc/hosts
修改ip
source /etc/profile
重新绑定的一下ip地址,例如我之前的mini1(也就是主节点的ip是192.168.25.131),现在为192.168.25.136,将现在的ip地址替换掉原来的ip地址。
2、修改hdfs--site.xml 内容,文件在相对目录/hadoop-2.4.1/etc/hadoop下
将这个ip地址也替换过来,或者避免麻烦,可以将这个ip地址直接替换为mini1(主机名称),然后就搞定了。!!