大数据研发工程师课前环境搭建
在Windows的合适的目录来进行安装,如下图
已经准备好安装,点击安装
注意,需要注册的时候,自己解决。
选择自定义安装
根据自己的电脑的设置配置即可,后期可更改。
根据自己的机器配置设置即可
选择NAT即可
默认即可
默认即可
尽量设置大一些,50gb往上。
默认即可
然后等待漫长的安装过程即可。
根据机器性能差异,安装时间在10-30分钟之间。
设置界面
选择GUI,对初学者比较友好。
首先准备软件
选择自己的合适的目录即可
注意连接之前需要给虚拟机防火墙关闭
CentOS7查看防火墙状态 systemctl status firewalld.service 关闭防火墙 systemctl stop firewalld.service 永久关闭(重启也没有用) systemctl enable firewalld.service |
关闭selinux参考(其实不关闭也不影响):
临时关闭 [root@localhost ~]# setenforce 0 查看selinux状态 [root@localhost ~]# sestatus 永久关闭 可以修改配置文件/etc/selinux/config,将其中SELINUX设置为disabled。 [root@localhost ~]# vim /etc/selinux/config |
注意,子网掩码的设置!!!
网络配置修改成Manual手动的,并填写相应的ip地址
CentOS6.x: vi /etc/sysconfig/network
CentOS7.4: vi /etc/hostname
修改主机名,修改之后要重启才能生效。
修改hosts文件
vi /etc/hosts
192.168.22.136 hadoop10
192.168.22.137 hadoop11
192.168.22.138 hadoop12
示例如下:
在虚拟机测试,关闭即可,阿里云主机上面需要配置策略
systemctl status firewalld.service
systemctl stop firewalld.service
只使用前面两行重启之后防火墙就开启了。
systemctl disable firewalld.service 永久关闭(重启也不行)
先在hadoop0上面执行。
cd ~ 也就是进入/root目录
ssh-keygen -t dsa
cd /root/.ssh/
cat id_dsa.pub >> authorized_keys
上面四步骤需要在三台虚机上做同样的操作
cat authorized_keys查看秘钥
若是有原来有秘钥先删除
rm -rf *
ssh-copy-id -i /root/.ssh/id_dsa.pub hadoop2
在hadoop0上执行上面一句将hadoop0上面的秘钥拷贝到hadoop2上
然后再hadoop1上面再次执行上面一句将hadoop1上面的秘钥拷贝到hadoop2上
scp /root/.ssh/authorized_keys hadoop0:/root/.ssh/
在hadoop2上面执行上面一句将hadoop2上面的秘钥拷贝到hadoop0 上
scp /root/.ssh/authorized_keys hadoop1:/root/.ssh/
在hadoop2上面执行上面一句将hadoop2上面的秘钥拷贝到hadoop1 上
1、安装之前先查看一下有无系统自带jdk
rpm -qa |grep java
rpm -e --nodeps 软件名字
[root@hadoop0 /]# rpm -qa |grep java tzdata-java-2020a-1.el7.noarch java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 javapackages-tools-3.4.1-11.el7.noarch java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64 python-javapackages-3.4.1-11.el7.noarch [root@hadoop0 /]# rpm -e --nodeps tzdata-java-2020a-1.el7.noarch [root@hadoop0 /]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 [root@hadoop0 /]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 [root@hadoop0 /]# rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch [root@hadoop0 /]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 [root@hadoop0 /]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64 [root@hadoop0 /]# rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch [root@hadoop0 /]# rpm -qa |grep java |
使用下面的语句可以快捷删除完
rpm -qa |grep java rpm -e --nodeps tzdata-java-2020a-1.el7.noarch rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64 rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch rpm -qa |grep java |
实际配置的内容:
[root@hadoop10 ~]# rpm -qa |grep java tzdata-java-2020a-1.el7.noarch python-javapackages-3.4.1-11.el7.noarch java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 javapackages-tools-3.4.1-11.el7.noarch [root@hadoop10 ~]# rpm -e --nodeps tzdata-java-2020a-1.el7.noarch [root@hadoop10 ~]# rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch [root@hadoop10 ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 [root@hadoop10 ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 [root@hadoop10 ~]# rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch [root@hadoop10 ~]# rpm -qa |grep java [root@hadoop10 ~]# |
为了方便,整理一下:
rpm -qa |grep java rpm -e --nodeps tzdata-java-2020a-1.el7.noarch rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch rpm -qa |grep java |
2、在根目录下面创建software文件夹,然后将文件上传到此文件夹下面,将所有的文件的安装都放到这个文件夹下面,方便统一管理。
上传到software文件夹下面
tar -zxvf jdk-8u202-linux-x64.tar.gz
mv jdk1.8.0_202/ jdk
重命名
修改之前最好先备份一下配置文件
vi /etc/profile
export JAVA_HOME=/software/jdk
export PATH=.:$PATH:$JAVA_HOME/bin
source /etc/profile
java
java -version
javac
同理在其他节点上一样安装即可。
先在一台机器上面安装,然后复制到其他的机器上面即可。
tar -zxvf hadoop-3.3.1.tar.gz
mv hadoop-3.3.1 hadoop
vi /etc/profile
export JAVA_HOME=/software/jdk
export HADOOP_HOME=/software/hadoop
export PATH=.:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
线上实际配置
export JAVA_HOME=/software/jdk export PATH=.:$PATH:$JAVA_HOME/bin export HADOOP_HOME=/software/hadoop export PATH=.:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin |
在hadoop0上修改Hadoop的配置文件
cd hadoop/etc/hadoop
(1)配置hadoop-env.sh
vi hadoop-env.sh
export JAVA_HOME=/software/jdk
(2)配置hdfs-site.xml
|
(3)配置yarn-site.xml
先使用默认的即可
(4)配置core-site.xml
|
注意:端口可以不指定,默认是8020,也可以指定
(5)配置workers
hadoop1
hadoop2
拷贝hadoop0上的配置到hadoop1和hadoop2上面
(1)拷背hadoop配置
scp -r /software/hadoop hadoop1:/software/ scp -r /software/hadoop hadoop2:/software/ |
(2)拷贝
scp /etc/profile hadoop11:/etc/
scp /etc/profile hadoop12:/etc/
source /etc/profile
(3)或者手动配置
export HADOOP_HOME=/software/hadoop
export PATH=.:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
hdfs namenode -format
执行上面的命令后,在后面的提示中如果看到successfully formatted的字样,说明hdfs格式化成功!
start-all.sh或者start-dfs.sh 和 start-yarn.sh来启动
出现问题如下:
解决方案:
cd /software/hadoop/etc/hadoop
修改hadoop-env.sh。(只需要在主节点上面配置一些即可,因为只在主节点上启动)
在最上面添加如下内容:
export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root |
配置结果如下:
查看进程
[root@hadoop0 hadoop]# jps 5538 Jps 5196 ResourceManager 4733 NameNode |
[root@hadoop1 hadoop]# jps 3681 SecondaryNameNode 3860 Jps 3770 NodeManager 3567 DataNode |
[root@hadoop2 software]# jps 51234 DataNode 51362 NodeManager 51452 Jps |
问题如下:
Permission denied: user=dr.who, access=WRITE, inode="/":root:supergroup:drwxr-xr-x |
解决方案:
配置权限:
[root@hadoop0 hadoop]# hadoop fs -chmod -R 777 / |
修改之后创建文件夹以及上传文件都正常了