本文搭建的是三台虚拟机的集群环境,第一台master,另外两台是克隆过来的,分别是node1和node2.
1.查看主机名
hostname
修改主机名(保持和虚拟机名字一致)
vi /etc/sysconfig/network (三台都要修改)
改HOSTNAME=master(第一台为例)
改完重启
reboot
在配置文件里面更改克隆的两个虚拟机的IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
使用命令 重启网卡:service network restart
修改主机名的一定成功的另一种方法
vi /etc/hostname
#进入之后删除里面的一行,然后加入想要改的主机名,保存退出,重启
2.查看JDK(三台机子都要)
java -version
没装的需要装
在主节点master里上传hadoop的jar包到目录/user/local/soft/里面(这个目录需要自己建)
3.关闭防火墙(三台都要操作)(下面的两个命令是专对于centos7而言的)
systemctl status firewalld #查看状态
systemctl disable firewalld #永久关闭防火墙
#上面两个如果不成功就下面的两句
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
4.设置主机名与ip的映射,修改配置文件命令(三台都要操作):
vi /etc/hosts
#添加三台的ip地址及主机名一一对应
#本来想上传截图的,然后上传图片失败QAQ
将hosts文件拷贝到node1和node2节点
命令:
scp /etc/hosts node1:/etc/hosts
scp /etc/hosts node2:/etc/hosts
5.设置ssh免密码登录(只在Master 这台主机操作)
ssh-keygen -t rsa #产生密钥 一直回车
将密钥拷贝到其他两个子节点,命令如下:
ssh-copy-id -i node1
ssh-copy-id -i node2
实现免密码登录到子节点。
6.实现主节点master本地免密码登录
首先进入到/root 命令
cd /root
再进入进入到 ./.ssh目录下
cd ./.ssh/
然后将公钥写入本地执行命令:
cat ./id_rsa.pub >> ./authorized_keys
7.安装JDK(三台机子都要,可以利用复制)
cd /user/local/
ll
tar -zxvf jdk.....gz #解压JDK
mv jdk1.8.0_181/ jdk #重命名JDK
#配置环境
vi /etc/profile
#加入下面两句
export JAVA_HOME=/user/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
#保存退出执行
source /etc/profile
#检查一下
java -version
#复制JDK给子节点
scp -rv jdk node1:/user/local/
scp -rv jdk node2:/user/local/
上面的两句JDK环境配置也要粘贴到子节点
以下操作都在master 这台主机操作
8.将hadoop的jar包先上传到虚拟机/user/local/soft主节点的目录下。
解压
tar -zxvf hadoop-2.6.0.tar.gz
#重命名
mv hadoop-2.6.0 hadoop
解压完后会出现 hadoop-2.6.0的目录
9.修改master中hadoop的一个配置文件/user/local/soft/etc/hadoop/slaves
删除原来的所有内容,修改为如下
vi /user/local/soft/etc/hadoop/slaves
删除里面本来的内容,写上
node1
node2
10.进入/user/local/soft/hadoop-2.6.0/etc/hadoop 目录下,
修改hadoop-env.sh文件
vi hadoop-env.sh
#加上一句
export JAVA_HOME=/user/local/soft/jdk
11.修改 core-site.xml
vi core-site.xml
将下面的配置参数加入进去修改成对应自己的
12.修改 hdfs-site.xml
vi hdfs-site.xml
将dfs.replication设置为1
13.文件yarn-site.xml
vi yarn-site.xml
#加入下面的
14.修改 mapred-site.xml
将mapred-site.xml.template 复制一份为 mapred-site.xml命令:
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
#加入下面的
14.将hadoop的安装目录分别拷贝到其他子节点(必须保证子节点的目录已经存在)
#先把目录返回到存放hadoop的地方/user/local/soft/
cd ..
cd ..
scp -r /user/local/soft/hadoop node1:/user/local/soft/
scp -r /user/local/soft/hadoop node2:/user/local/soft/
15.看下hadoop目录下有没有tmp文件夹。
如果没有 执行一次格式化命令:
cd /user/local/soft/hadoop目录下
执行命令:
./bin/hdfs namenode -format
会生成tmp文件。
然后
/uesr/local/soft/hadoop目录下
启动执行:./sbin/start-all.sh
#执行JPS查看是否成功了
jps
启动完成后验证进程
主节点进程:namenode/ secondarnamenode/resourcemanager
子节点进程 datanode /nodenodemanager
验证hdfs:
可以登录浏览器地址:192.168.1.80:50070 (ip地址是master的地址)