首先使用虚拟机开启三个服务器 hadoop1 :192.168.184.128 
hadoop2 :192.168.184.129 
hadoop3 :192.168.184.130 
使用hadoop1登录 
安装jdk 查看java版本 
java -version  
rpm -qa |grep java 
 
卸载linux自带的java 
yum -y remove java 
 
安装jdk  
1:解压  
tar -zxvf jdk-8u31-linux-x64.tar.gz 
2:移动  
mv jdk1.8.0_31 /usr/local/jdk/ 
 
配置jdk环境变量  
1:vi /etc/profile 
2:最后面加上  
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_31 
export CLASSPATH=. JAVA_HOME/lib/dt.jar JAVA_HOME/lib/tools.jar 
export PATH=$PATH JAVA_HOME/bin 
export JAVA_HOME CLASSPATH PATH 
3:重启配置文件  
source /etc/profile 
 
 
配置/etc/hosts文件加入(三台机子分别加入) 
 
192.168.184.128 hadoop1 
192.168.184.129 hadoop2 
192.168.184.130 hadoop3 
 
 
创建hadoop用户 创建hadoop用户 
1:groupadd  -g 1000 hadoop 
2:useradd  -u 1000 -g 1000 hadoop 
3:passwd hadoop 
 
添加hadoop权限修改/etc/sudoers文件,进入超级用户,因为没有写权限,所以要先把写权限加上chmod u+w /etc/sudoers 
 
vi /etc/sudoers 找到 
## Allow root to run any commands anywhere 
root    ALL=(ALL)     ALL 
添加  
hadoop    ALL=(ALL)     ALL 
最后输入:wq保持并退出  
 
最后切换用户  
su - hadoop  
 
配置密匙  
生成密匙执行下面命令一直按确定 
ssh-keygen -t dsa 
 
查看生成的密匙  
ll ~/.ssh  
-rw-------. 1 hadoop hadoop 668 5月  19 11:21 id_dsa 
-rw-r--r--. 1 hadoop hadoop 604 5月  19 11:21 id_dsa.pub 
 
 
切换到cd .ssh  
然后执行cat id_dsa.pub  >> authorized_keys 
修改authorized_keys权限,chmod 755 authorized_keys要不然不会生效 
 
使用ssh hadoop1  
 
成功无密码登陆本机  
 
将本机的authorized_keys分别发送到另外两台机子,要想无密码登陆到哪台机器,就把自己的 公钥 追加到对应机器的 authorized_keys文件中。记住这个方向,不要搞反了。 
cat ~/.ssh/id_dsa.pub | ssh hadoop@hadoop3 'cat - >> ~/.ssh/authorized_keys' 
 
 
安装hadoop 切换root用户,su root 
下载wget http://mirrors.hust.edu.cn/apach ... hadoop-2.6.0.tar.gz 
解压tar -zxvf hadoop-2.6.0.tar.gz 
 
剪切到/usr/local/下 
配置环境变量 vi /etc/profile 
添加export HADOOP_HOME=/usr/local/hadoop-2.6.0 
重启配置文件生效 source /etc/profile 
 
 
修改hadoop配置文件  
core-site.xml  
cd /usr/local/hadoop-2.6.0/etc/hadoop/ 
vi core-site.xml 
添加如下代码  
<configuration> 
<property>  
 <name>fs.default.name</name> 
 <value>hdfs://hadoop1:9000</value> 
</property>  
<property>  
 <name>hadoop.tmp.dir</name> 
 <value>/usr/local/hadoopdata</value>hadoop数据文件存放 
</property>  
<property>  
  <name>io.file.buffer.size</name> 
  <value>4096</value> 
</property>  
<property>  
  <name>hadoop.native.lib</name> 
  <value>true</value> 
</property>  
</configuration> 
 
 
hadoop-env.sh  
vi hadoop-env.sh修改jdk地址 
 
hdfs-site.xml  
 
vi hdfs-site.xml 
 
添加如下代码  
<configuration> 
<property>  
 <name>dfs.nameservices</name> 
 <value>hadoop-cluster1</value> 
</property>  
<property>  
 <name>dfs.namenode.secondary.http-address</name> 
 <value>hadoop1:50090</value> 
</property>  
<property>  
 <name>dfs.namenode.name.dir</name> 
 <value>file:///usr/local/hadoopdata/dfs/name</value> 
</property>  
<property>  
 <name>dfs.datanode.data.dir</name> 
 <value>file:///usr/local/hadoopdata/dfs/data</value> 
</property>  
<property>  
 <name>dfs.replication</name> 
 <value>2</value> 
</property>  
<property>  
 <name>dfs.webhdfs.enabled</name> 
 <value>true</value> 
</property>  
</configuration> 
 
 
mapred-site.xml 
先复制  
cp mapred-site.xml.template mapred-site.xml 
vi mapred-site.xml 
 
<configuration> 
<property>  
    <name>mapreduce.framework.name</name> 
    <value>yarn</value> 
</property>  
<property>  
     <name>mapreduce.jobtracker.http.address</name> 
     <value>hadoop1:50030</value> 
</property>  
<property>  
     <name>mapreduce.jobhistory.address</name> 
     <value>hadoop1:10020</value> 
</property>  
<property>  
     <name>mapreduce.jobhistory.webapp.address</name> 
     <value>hadoop1:19888</value> 
</property>  
</configuration> 
 
 
复制到其他节点  
scp -r hadoop-2.6.0 root@hadoop2:/usr/local 
scp -r hadoop-2.6.0 root@hadoop3:/usr/local 
 
7.修改主从关系和管理节点,数据节点 
tong1节点(管理节点): 
[root@hadoop1 local]# cd hadoop-2.6.0/etc/hadoop/ 
[root@hadoop1 hadoop]# vim masters 
hadoop1  
[root@hadoop1 hadoop]# vim slaves 
hadoop2 
hadoop3 
[root@hadoop1 hadoop]#  
 
tong2节点,tong3节点(数据节点): 
[root@hadoop2 ~]# cd /usr/local/hadoop-2.6.0/etc/hadoop/ 
[root@hadoop2 hadoop]# vim masters  
hadoop1 
[root@hadoop2 hadoop]# vim slaves 
hadoop2 
hadoop3 
 
格式化NameNode cd  /usr/local/hadoop-2.6.0/  hadoop namenode -format  
最后启动hadoop  
在hadoop1上  
/usr/local/hadoop-2.6.0/sbin/start-all.sh 
  
 
 
 
看到如上的情况就代表集群安装成功了  
                     
                                                                                                                                                                                                                                                 
 |