准備五台虛擬機分別如下:
ip 主機名
第一台 192.168.199.100 NameNode
第二台 192.168.199.101 StandbyNameNode
第三台 192.168.199.111 DataNode1
第四台 192.168.199.112 DataNode2
第五台 192.168.199.113 DataNode3
2.修改靜態ip
3.hosts解析編輯 vi /etc/hosts
4.主機名對應(每台電腦主機名修改為對應的值)
vi /etc/hostname
修改為對應的值后重啟輸入hostname查看是否生效
5.關閉防火牆和安全策略
vi /etc/selinux/config
6.下載Hadoop3.1和Java1.8到根目錄下
7.分別解壓
8.解壓后刪除壓縮包並重命名(分別重命名為hadoop和jdk方便后期配置)
9.配置java和hadoop的環境變量
vi /etc/profile
在文本最后添加如圖代碼
source /etc/profile
使環境變量生效
10.配置ssh免密登陸
http://www.cnblogs.com/dxdxh/p/8989907.html
在~/.ssh目錄下輸入 ssh-keygen -t rsa然后一直回車后目錄下會生成兩個文件
把五台電腦的id_rsa.pub里的數據復制到同一個文本里改名為authorized_keys然后給每台電腦拷貝一個到~/.ssh目錄下就可以了
11.Hadoop配置文件的修改(重要)
需要修改的文件在/hadoop/etc/hadoop目錄下
第一個core-site.xml 里添加如下 紅色的部分為主機的ip或者主機名之前設置過hosts解析
<name>fs.defaultFS</name>
<value>hdfs:// NameNode:9000</value>
</property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
</property>
第二個hadoop-env.sh在里面加入如下代碼
export JAVA_HOME=/jdk
export HADOOP_HOME=/hadoop
第三個hdfs-site.xml 第一個紅色和第二個紅色部分為主機名和備份主機名或者ip都行第三個紅色部分為默認備份幾份
<configuration>
<name>dfs.namenode.http-address</name>
<value> NameNode:50070</value>
</property>
<name>dfs.namenode.secondary.http-address</name>
<value> StandbyNameNode:50090</value>
</property>
<name>dfs.namenode.name.dir</name>
<value>/hadoop/name</value>
</property>
<name>dfs.replication</name>
<value> 2</value>
</property>
<name>dfs.datanode.data.dir</name>
<value>/hadoop/data</value>
</property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<name>mapreduce.application.classpath</name>
<value>
/hadoop/etc/hadoop,
/hadoop/share/hadoop/common/*,
/hadoop/share/hadoop/common/lib/*,
/hadoop/share/hadoop/hdfs/*,
/hadoop/share/hadoop/hdfs/lib/*,
/hadoop/share/hadoop/mapreduce/*,
/hadoop/share/hadoop/mapreduce/lib/*,
/hadoop/share/hadoop/yarn/*,
/hadoop/share/hadoop/yarn/lib/*
</value>
</property>
<name>yarn.resourcemanager.hostname</name>
<value> NameNode</value>
</property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root


<name>mapreduce.map.memory.mb</name>
<value>4096</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>8192</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx3072m</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx6144m </value>
</property>
<name>mapreduce.application.classpath</name>
<value>
/hadoop/etc/hadoop,
/hadoop/share/hadoop/common/*,
/hadoop/share/hadoop/common/lib/*,
/hadoop/share/hadoop/hdfs/*,
/hadoop/share/hadoop/hdfs/lib/*,
/hadoop/share/hadoop/mapreduce/*,
/hadoop/share/hadoop/mapreduce/lib/*,
/hadoop/share/hadoop/yarn/*,
/hadoop/share/hadoop/yarn/lib/*
</value>
</property>