本文档在最小化安装centos7后的操作。
首先,对于大数据集群提前进行主机名、IP地址、主次服务的规划:
node01 :192.168.3.80 NN DN
node02 :192.168.3.81 DN
node03 :192.168.3.82 DN SN
其中安装第一台机器时,建议在安装时就指定主机名,IP地址根据自己的局域网情况填写
sudo yum install net-tools
sudo yum install vim
sudo vim /etc/vimrc
添加 set ts=4
2、系统准备:
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
sudo vim /etc/selinux/config
修改为 SELINUX=disabled
2.3、源码环境准备
在家目录下,创建soft目录,拷贝jdk的rpm包和hadoop的tar包
sudo rpm -ivh jdk-8u281-linux-x64.rpm
sudo tar -zxvf hadoop-2.7.1.tar.gz -C /opt/
sudo vim /etc/profile.d/hadoop.sh
export HADOOP_HOME=/opt/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
cd /opt
sudo chown -R huser:huser /opt/hadoop-2.7.1
sudo mkdir /var/big_data
sudo chown -R huser:huser /var/big_data
3、hadoop系统配置
本内容主要针对Hadoop的配置文件进行修改,修改原则和最开始的服务搭建要一致
进入/opt/hadoop-2.7.1/etc/hadoop目录
vim hadoop-env.sh
export JAVA_HOME=/usr/java/default
主要目的是解决远程访问hadoop时候JAVA_HOME无法继承的问题
vim yarn-env.sh
export JAVA_HOME=/usr/java/default
vim core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/big_data</value>
</property>
vim hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node03:50090</value>
</property>
vim mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
vim yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node01</value>
</property>
vim slaves
node01
node02
node03
4、提前准备主机名解析文件,为后面的克隆机器做好准备(可选,若不做,克隆后为每台机器重新添加亦可)
sudo vim /etc/hosts
192.168.3.80 node01
192.168.3.81 node02
192.168.3.82 node03
注意屏蔽或删除上面的127.0.0.1的信息
5、克隆其他集群信息
关闭机器,准备克隆
克隆后,修改node02、node03的IP和主机名
sudo vim /etc/sysconfig/networ-scripts/ifcfg-ens33
sudo vim /etc/hostname
6、下面开始配置集群的ssh免密
在3台机器上执行产生自己的公钥:
ssh-keygen -t rsa
按照默认值回车确定
将每台机器的公钥拷贝给每台机器,注意下面的指令要求3台机器都要执行:
ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03
7、格式化hdfs
hdfs namenode -format