安装环境说明
- 操作系统:CentOS 7
- hadoop版本:hadoop-2.5.0-cdh5.3.6.tar.gz
- jdk版本:jdk 1.7
- 安装用户:root
- 相关软件下载
https://pan.baidu.com/s/1drI1TO
机器与服务规划
- 机器规划
hostname | sparkproject1 | sparkproject2 | sparkproject3 ---|---|---|---| 内存 | 32G | 16G | 16G - 服务规划
hostname | sparkproject1 | sparkproject2 | sparkproject3 ---|---|---|---| HDFS | NameNode、SecondaryNameNode | DataNode | DataNode YARN | ResourceManager | NodeManager | NodeManager
安装hadoop包
-
下载hadoop-2.5.0-cdh5.3.6.tar.gz
安装目录为:/usr/local
将下载的hadoop-2.5.0-cdh5.3.6.tar.gz,上传到/usr/local目录下。 -
将hadoop包进行解压缩
tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz
-
对hadoop目录进行重命名
mv hadoop-2.5.0-cdh5.3.6 hadoop
-
配置hadoop相关环境变量
#配置环境变量 vi ~/.bashrc #添加hadoop环境变量 export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin #使配置的环境变量生效 source ~/.bashrc
-
创建/usr/local/data目录
mkdir /usr/local/data
-
测试是否配置成功
hadoop version yarn version
修改配置文件
以下配置文件在:/usr/local/hadoop/etc/hadoop/目录下
-
修改core-site.xml
<property> <name>fs.default.name</name> <value>hdfs://sparkproject1:9000</value> </property>
属性说明:
fs.default.name:配置hdfs地址 -
修改hdfs-site.xml
<property> <name>dfs.name.dir</name> <value>/usr/local/data/namenode</value> </property> <property> <name>dfs.data.dir</name> <value>/usr/local/data/datanode</value> </property> <property> <name>dfs.tmp.dir</name> <value>/usr/local/data/tmp</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property>
属性说明:
dfs.replication:hdfs副本数。
总共3个节点,1个master,2个slave。所以设置成2个block副本 -
修改mapred-site.xml
重命名mapred-site.xml.template为mapred-site.xml<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
-
修改yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>sparkproject1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
-
修改slaves文件
sparkproject2 sparkproject3
在另外两台机器上搭建hadoop
使用如上sparkproject1上配置hadoop,在另外两台机器上搭建hadoop。可以使用scp命令将sparkproject1上面的hadoop安装包和~/.bashrc配置文件都拷贝到sparkproject2、sparkproject3。
-
将sparkproject1上的hadoop复制到sparkproject2
-
在sparkproject1上执行
cd /usr/local scp -r hadoop root@sparkproject2:/usr/local scp ~/.bashrc root@sparkproject2:~/
复制成功后sparkproject2上的hadoop:
-
在sparkproject2上执行
#对.bashrc文件进行source,以让它生效。 source ~/.bashrc #创建data目录。 mkdir /usr/local/data
-
-
将sparkproject1上的hadoop复制到sparkproject3
按照上面同样的步骤,同样的方式将sparkproject1上面的hadoop安装包和~/.bashrc配置文件都拷贝到sparkproject3。 -
测试sparkproject2、sparkproject3是否配置成功
在sparkproject2、sparkproject3分别执行如下命令:hadoop version yarn version
启动hdfs集群
-
格式化namenode
在sparkproject1上执行以下命令hdfs namenode -format
-
启动hdfs集群
start-dfs.sh
-
验证启动是否成功
sparkproject1:namenode、secondarynamenode
sparkproject2:datanode
sparkproject3:datanode -
hdfs管理界面:
http://sparkproject1:50070 -
测试hdfs
hdfs dfs -put hello.txt /hello.txt
启动yarn集群
-
启动yarn集群
start-yarn.sh
-
验证启动是否成功
sparkproject1:resourcemanager
sparkproject2:nodemanager
sparkproject3:nodemanager -
yarn管理界面
http://sparkproject1:8088/