我使用了4台虚拟机来搭建相对应的节点,具体情况如下:
master | slave1 | slave2 | slave3 | |
---|---|---|---|---|
NameNode | √ | |||
SecondaryNameNode | √ | |||
DataNode | √ | √ | √ | |
ResourceManage | √ | |||
NodeManage | √ | √ | √ |
软件版本:
另注:我的所有软件都安装在 /usr/wang/ 目录下。
1.解压
tar -zxvf jdk-8u191-linux-x64.tar.gz
2.重命名并建立软链
mv jdk-8u191-linux-x64 jdk-8u191
ln -s jdk-8u191 jdk
3.配置环境变量
sudo vim /etc/profile
# JAVA ENVIROMENT
export JAVA_HOME=/usr/wang/jdk
export PATH=$JAVA_HOME/bin:$PATH
4.验证JDK是否安装成功
source /etc/profile
java -version
如果出现相对应的java版本,则安装成功。
1.生成公钥和私钥
ssh-keygen -t rsa
2.分发密钥
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
ssh-copy-id slave3
1.解压
tar -zxvf hadoop-2.7.2.tar.gz
2.建立软链
ln -s hadoop-2.7.2 hadoop
3.将 Hadoop 添加到环境变量
sudo vim /etc/profile
# HADOOP ENVIROMENT
export HADOOP_HOME=/usr/wang/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
4.验证 Hadoop 是否安装成功
source /etc/profile
hadoop version
如果出现相对应的 Hadoop 版本,则安装成功。
需要修改的配置文件主要包括:core-site.xml、hadoop-env.sh、hdfs-site.xml、yarn-env.sh、yarn-site.xml、mapred-env.sh、mapred-site.xml 和 slaves。
这些相关的配置文件都在 hadoop/etc/hadoop/ 下
1.配置 core-site.xml
vim core-site.xml
添加相应的属性:
fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
/usr/wang/hadoop/data/tmp
2.配置 hadoop-env.sh
vim hadoop-env.sh
配置 JDK 所在目录
# The java implementation to use.
export JAVA_HOME=/usr/wang/jdk
3.配置 hdfs-site.xml
vim hdfs-site.xml
添加相应的属性:
dfs.replication
2
dfs.namenode.secondary.http-address
slave3:50090
4.配置 yarn-env.sh
vim yarn-env.sh
配置JDK所在目录
# The java implementation to use.
export JAVA_HOME=/usr/wang/jdk
5.配置 yarn-site.xml
vim yarn-site.xml
添加相应的属性:
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
master
6.配置 mapred-env.sh
vim mapred-env.sh
配置 JDK 所在目录
# The java implementation to use.
export JAVA_HOME=/usr/wang/jdk
7.配置 mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
添加相应的属性:
mapreduce.framework.name
yarn
8.修改 slaves
添加相对应的 DataNode 主机名:
slave1
slave2
slave3
rsync -rvl hadoop-2.7.2 spark@slave1:/usr/wang/
rsync -rvl hadoop-2.7.2 spark@slave2:/usr/wang/
rsync -rvl hadoop-2.7.2 spark@slave3:/usr/wang/
进入你设置的 NameNode 节点中 hadoop 的 bin/ 目录,格式化 NameNode:
./hadoop namenode -format
最终如果在打印的消息中提示 successfully 的话,就表示格式化成功,接下来就可以启动 HDFS 和 YARN 了。
sbin/start-hdfs.sh
sbin/start-yarn.sh
该命令位于 hadoop 文件中的 sbin/ 目录下。
sbin/stop-hdfs.sh
sbin/stop-yarn.sh
该命令同样位于 hadoop 文件中的 sbin/ 目录下。