参考: https://blog.csdn.net/qq_38924171/article/details/100186327
https://blog.csdn.net/qq_38924171/article/details/99995856
1 集群环境准备
环境版本及介质版本:
Centos7+Hadoop2.8.5+Mysql8+Hive2.3.7
注意Hadoop版本必须要和Hive版本兼容,具体匹配信息可以去Hive官网查询
http://hive.apache.org/downloads.html
1.1 修改hostname
克隆出三台Centos7虚拟机,修改主机名称hostname,分别为:
namenode: master
datanode: slave1 slave2
vi /etc/hostname
将localhost改为master
然后reboot重启
另外两台分别改为slave1和slave2
1.2 关闭防火墙
装有iptables的情况下:
service iptables stop--关闭防火墙 chkconfig iptables off--重启服务器不启动防火墙 service iptables status--查看防火墙状态 |
未安装iptables情况下:
systemctl stop firewalld.service--关闭防火墙 systemctl disable firewalld.service--重启服务器不启动防火墙 Firewall-cmd --state--查看防火墙状态 |
1.3 配置域名映射
vi /etc/hosts:
10.211.55.15 master 10.211.55.16 slave1 10.211.55.17 slave2 |
并将hosts文件拷贝到其他两台服务器上ysqld
检查是否可以ping通
1.4所有服务器安装jdk
上传jdk安装包master,使用scp命令将jdk安装包发送到其他两台服务器
scp /root/jdk-8u60-linux-x64.gz slave1:/root/ scp /root/jdk-8u60-linux-x64.gz slave2:/root/ |
对三台服务器上的jdk压缩包解压
tar -zxvf jdk-8u60-linux-x64.gz
修改master的环境变量/etc/profile
vi /etc/profile
export JAVA_HOME=/root/apps/jdk1.8.0_60/
export PATH=$PATH:$JAVA_HOME/bin
将修改后的profile文件scp到其他两台服务器,分别编译,执行java -version确认环境变量修改成功
- Hadoop环境部署
上传hadoop的安装包
解压hadoop安装包
tar -zxvf hadoop-2.8.5.tar.gz
2.1 修改配置文件
- 修改hadoop-env.sh
export JAVA_HOME=/root/jdk1.8.0_60/ |
- 修改core-site.xml
<configuration>
<property><!-- hdfs dfs命令默认访问文件系统 --> <name>fs.defaultFS</name> <value>hdfs://master:9000/</value> </property>
<property> <name>hadoop.tmp.dir</name> <value>/root/hdptmp/</value> </property>
</configuration> |
- 修改hdfs-site.xml
<configuration> <property><!-- namenode存储路径 -->
<name>dfs.namenode.name.dir</name> <value>/root/hdp-data/name/</value> </property>
<property><!-- datanode存储路径 --> <name>dfs.datanode.data.dir</name> <value>/root/hdp-data/data/</value> </property>
</configuration> |
补充参数:
dfs.replication 默认值3 ## 副本数量,该参数其实用于客户端软件
dfs.blocksize 默认值134217728 ##块大小,该参数其实用于客户端软件
2.2 启动hdfs集群
- 第一次启动需要初始化namenode的元数据存储目录进行格式化(重要!!!)
hadoop namenod |