环境准备
- 打开虚拟机网卡
vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 关闭防火墙
systemctl stop firewalld
- 阻止防火墙自动启动
systemctl disable firewalld
- 查看SELinux状态并关闭
sestatus -v
vi /etc/selinux/config(将编辑模式修改参数SELINUX=DISABLED)
- 虚拟机内安装jdk1.8
tar -zxvf jdk-8u144-linux-x64.tar.gz
- 配置全局变量
vim /etc/profile
- 安装SSH
- 查看是否已安装SSH
rpm -qa | grep ssh
- 如果没有安装则下载安装
yum install openssh-server
- 安装完成后可以在~目录下生成一个.ssh文件夹,如果没有,则可以自己创建:
mkdir .ssh
- 在/etc/hosts文件中添加域名映射
- 设置SSH免密登录:进入.SSH文件夹
ssh-keygen -t rsa
- 把生成的id_rsa.pub追加到授权的key里面
cat id_rsa.pub >> authorized_keys
- 重启SSH服务使其生效
systemctl restart sshd.service
- 将秘钥拷贝到其它节点
scp authorized_keys root@slave1:/root/.ssh/authorized_keys_from_master
- 将slave1节点中的秘钥内容追加到各自的秘钥中
cat authorized_keys_from_master >> authorized_keys
- 验证是否安装成功
ssh slave1/ ssh slave2
安装Hadoop
- 解压Hadoop文件
tar -zxvf hadoop-2.5.2.tar.gz
- 配置环境变量
vim /etc/profile
export HADOOP_HOME=/root/hadoop/hadoop-2.5.2
export PATH=$PATH:$HADOOP_HOME/bin
- 验证是否安装成功
- 配置Hadoop配置文件
vim /root/hadoop/hadoop-2.5.2/etc/hadoop/hadoop-env.sh
- 配置/root/hadoop/hadoop-2.5.2/etc/hadoop/目录下的core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/u01/hadoop/hadoop-2.5.2/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/u01/hadoop/hadoop-2.5.2/name</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
</configuration>
注:fs.default.name是NameNode的URI
- 配置/root/hadoop/hadoop-2.5.2/etc/hadoop/目录下的hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/u01/hadoop/hadoop-2.5.2/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/u01/hadoop/hadoop-2.5.2/hdfs/data</value>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
- 配置/root/hadoop/hadoop-2.5.2/etc/hadoop/目录下的mapred-site.xml.template
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/u01/hadoop/hadoop-2.5.2/mapred_system</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/u01/hadoop/hadoop-2.5.2/mapred_local</value>
</property>
</configuration>
- 配置masters及slaves文件
vi masters
vi slaves
-将/root/hadoop/hadoop-2.5.2/etc/hadoop/目录下的配置文件拷贝到其他服务器节点
scp -r /root/hadoop/hadoop-2.5.2 slave1:/root/hadoop
启动Hadoop
- 进入Hadoop的sbin目录下
cd /root/hadoop/hadoop-2.5.2/sbin
- 格式化分布式文件系统
hadoop namenode -format
- 格式化成功后可以在master服务器上看到/root/hadoop/hadoop-2.5.2/hdfs/name目录,在主节点master上启动hadoop,主节点会启动所有从节点的hadoop
./start-all.sh
测试Hadoop是否启动成功
- 使用jps检测:jps
- 登录http://master:9000或者 http://192.168.3.128:50070/dfshealth.jsp可以查看分布式文件系统的状态