首先使用虚拟机开启三个服务器 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.jarJAVA_HOME/lib/tools.jar
export PATH=$PATHJAVA_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
看到如上的情况就代表集群安装成功了
|