1.首先安装VMware10和CentOS6.8。
其中 CentOS6.8,我下载的是CentOS-6.8-x86_64-bin-DVD1to2。
http://centos.ustc.edu.cn/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-bin-DVD1to2.torrent
2.安装vmtools,参考http://jingyan.baidu.com/article/6dad5075ca4d6da123e36e34.html
3.下载JDK包,拖到CentOS6.8桌面上,解压到soft下面
第一步:配置环境变量
sudo gedit /etc/profile
export JAVA_HOME=/home/xutong/soft/jdk1.8.0_60
export JRE_HOME=/home/xutong/soft/jdk1.8.0_60/jre
export CLASSPATH=.:
JAVAHOME/lib/dt.jar:
JAVA_HOME/lib/tools.jar
export PATH=
JAVAHOME/bin:
JRE_HOME/bin:$PATH
第二步:执行如下命令
//选择我们的JAVA作为系统默认的JAVA
sudo update-alternatives –install /usr/bin/java java /home/xutong/soft/jdk1.8.0_60/bin/java 300
sudo update-alternatives –install /usr/bin/javac javac /home/xutong/soft/jdk1.8.0_60/bin/javac 300
//更新设定
sudo update-alternatives –config java
//更新系统配置文件
source /etc/profile
//测试JAVA是否配置成功
java -version
4.下载hadoop-2.7.1.tar安装包,拖到CentOS6.8桌面上,
第一步:解压
tar -zxvf hadoop-2.7.1.tar.gz -C /home/Hadoop/
(说明:也可以手动拷贝过去,通过鼠标右键解压缩到soft文件夹下)
第二步:设置环境变量
sudo gedit /etc/profile
第三步:添加如下内容
export HADOOP_HOME=/home/Hadoop/hadoop-2.7.1
export PATH=
PATH:
HADOOP_HOME/bin:$HADOOP_HOME/sbin
第四步:进入Hadoop路径
cd hadoop-2.7.1
sudo gedit etc/hadoop/hadoop-env.sh
第五步:添加如下内容
export JAVA_HOME=/home/xutong/soft/jdk1.8.0_60
对hadoop进行设置
core-site.xml的内容:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>Hadoop.tmp.dir</name>
<value>/tmp/hadoop-root</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
slaves
slave1
slave2
以上JDK和Hadoop已经安装成功
接下来
1.
关掉SELINUX:vi /etc/selinux/config ,设置SELINUX=disabled,保存退出。
关闭防火墙:/sbin/service iptables stop;chkconfig –level 35 iptables off
右击右上角电脑图标,之后点击连接信息,可以看到这个CentOS的网络连接状况
修改IP地址为静态地址:gedit /etc/sysconfig/network-scripts/ifcfg-eth0,
把连接信息里的内容按照上图所示,都填上去
修改主机名称: gedit /etc/sysconfig/network,将其内容改为如下图所示:
修改hosts映射:gedit /etc/hosts,将其内容改为如下图所示。我们在这里就加入了slave1和slave2的映射项,以简化后面的步骤。
执行:service network restart 以重启网络。
2.
使用VMWare中clone功能,复制出另外两台虚拟机,分别命名为slave1和slave2。因为克隆出的虚拟机网卡地址已经改变,所以要分别在复制出的两台虚拟机中执行以下操作:
•执行:rm -f /etc/udev/rules.d/70-persistent-net.rules
•执行:reboot 重启虚拟机
•执行:gedit /etc/sysconfig/networking/devices/ifcfg-eth0
按照连接信息里的内容,重新修改里面的内容
3.
做SSH免密码登录
分别在三个系统中(普通用户)的终端执行:ssh-keygen -t rsa,一路回车会在当前用户下.ssh目录中生成两个文件一个是私钥文件,一个是公钥文件,我们复制公钥文件到当前目录并重命名为authorized_keys,分别把其他两个系统的公钥文件内容复制到authorized_keys文件中,其他两个系统也做此操作,最后每个系统的authorized_keys文件包含本系统的公钥内容以及其他两个系统公钥的内容,使用SSH命令进行测试,如下图:
如果不成功,
1.
给hadoop用户增加sudo权限以及修改host
1)切换到root用户,su 输入密码
2)给sudoers增加写权限:chmod u+w /etc/sudoers
3)编译sudoers文件:vi /etc/sudoers
在root ALL=(ALL) ALL下方增加hadoop ALL=(ALL)NOPASSWD:ALL
4)去掉sudoers文件的写权限:chmod u-w /etc/sudoers
2.还是不行的话,试下下面的
服务器配置
输入命令:gedit /etc/ssh/sshd_config
#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin yes
#是否让 sshd 去检查用户家目录或相关档案的权限数据,
#这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
#例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no
#是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
#至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no
重启ssh服务,输入命令:
/bin/systemctl start sshd.service
注意:修改sshd后,别忘了要覆盖掉别的机器上的sshd
最后
1.在master节点格式化hdfs文件,进入 hadoop/bin文件夹中,开启终端,输入命令:
hdfs namenode -format
2.开启Hadoop:进入hadoop/sbin文件夹,开启终端,输入命令:start-all.sh
3.输入http://master:50070,查看节点信息
参考博客:
http://www.2cto.com/kf/201607/531568.html
http://coolwyh.iteye.com/blog/2059258
http://blog.csdn.net/dyllove98/article/details/9228673