一、虚拟机的安装
二、CentOS的安装
记得选择镜像文件
如果报虚拟化错误,记得在BIOS操作系统界面开启一下。
安装的时候可以不用选择分区的设置。
中间的一些设置:
如果你的虚拟机安装过程中老黑屏,试试如下设置。
安装成功后,不会出现图形化界面的。
三、讲解远程连接工具的使用
1、通过finalShell 远程连接Linux
FinalShell 可以远程输入Linux的命令操作,类似于Linux的黑窗口还可以远程将本地的文件上传给Linux,Linux下的文件也可以下载到本地电脑。
2、通过NodePad++ 远程连接Linux
它只用于操作Linux中的文本文件。
当我需要修改Linux中的任何文本内容的时候,只需要双击就可以修改,修改完之后一定要报错才能上传至Linux.
四、虚拟机进行一些设置
1、设置网络为静态网络
先检查网络是否正常
ip addr 查看网络地址
ping www.baidu.com 如果ping的通,说明外网访问也没有问题
设置IP地址为固定IP:
通过修改Linux中的某个配置文件,达到固定IP的作用。
找到 /etc/sysconfig/network-scripts/ifcfg-ens33 这个文件,双击
一定记得不要写错单词,IPADDR 和 GATEWAY 修改成自己的,自己的IP在虚拟网络编辑器中。
修改完成后,记得重启网卡 : systemctl restart network
2、设置hostname
- 查看当前的主机名 hostname
- 临时修改主机名 hostname bigdata01
3) 修改主机名 通过修改文件的形式修改主机名
vi /etc/hostname
进行编辑即可。
3、关闭防火墙
关闭防火墙
查看防火墙状态: systemctl status firewalld
关闭: systemctl stop firewalld
为了防止下一次重启的时候防火漆再次开启,我们要设置开机不启动: systemctl disable firewalld
4、同步linux的时间
1) date
查看当前时间
2) 如果时间跟网络上的时间不一致,我们需要进行时间的同步
yum install -y ntpdate
安装软件
ntpdate -u ntp.api.bz
通过该软件进行时间的同步
五、在Linux上安装jdk
1) /root 下创建一个文件夹 software ,便于将来我把需要安装的安装包都先放在此文件夹下。
mkdir software
2)进入到software文件夹下,通过finalshell 将本地的jdk安装包拖拽到 software文件夹下
3)解压jdk
tar -xvf jdk-8u221-linux-x64.tar.gz -C /usr/local
4) 进入到 /usr/local 下查看一下
cd /usr/local/
5) 修改文件名
mv jdk1.8.0_221 jdk
6)进行环境变量的配置
修改 /etc/profile
在profile文件的最后,追加以下配置
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
7、刷新一下配置文件 source /etc/profile
8、验证jdk是否安装成功 java -version
六、Linux安装Hadoop
1、将Hadoop 的安装包,上传到 /root/software
下
2、解压该安装包到 /usr/local/
tar -xvf hadoop-2.7.6.tar.gz -C /usr/local
3、修改hadoop 的文件夹名字 mv hadoop-2.7.6 hadoop
4、配置环境变量 修改 /etc/profile
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
5、刷新一下配置文件 source /etc/profile
6、验证配置是否生效
hadoop version
七、跑一个wordcount 案例
1、hadoop 环境安装好之后,创建三个文本文件 a.txt b.txt c.txt 存放在 /home/input
下
2、运行hadoop 自带的wordcount案例jar包
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount /home/input/ /home/output/
3、查看执行结果 ,进入/home/output 下 ,查看 cat /home/output/part-r-00000 这样一个统计的结果
八、搭建大数据平台
1、伪分布式搭建
伪分布式搭建 --> 伪分布式搭建,步骤完全按照分布式进行搭建,但是电脑只有一台,所有叫伪分布式搭建
准备工作:
1) 修改 /etc/hosts
文件
192.168.32.137 bigdata01
192.168.32.138 bigdata02
192.168.32.139 bigdata03
2)免密登录需要做好(为了将来搭建全分布式环境,电脑之间传递数据时方便)
ssh-keygen -t rsa
生成公钥和私钥,生成的公钥和私钥存放在 .ssh 文件夹下
ssh-copy-id root@localhost
通过该命令将产生的公钥拷贝到指定电脑上。
ssh 需要连接的IP(hostname) 就可以连接上。
开始进行伪分布平台的搭建: /usr/local/hadoop/etc/hadoop/
此文件夹下是hadoop的配置文件
1、修改core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020/</value>
</property>
</configuration>
2、修改hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3、修改hadoop-env.sh
4、namenode 的格式化
hdfs namenode -format
中间不能有任何的错误,格式化不成功,需要仔细看日志
5、启动hdfs start-dfs.sh
6、通过 jps 查看进程,如果出现三个,说明正确
7、通过浏览器可以查看图形化界面 http://192.168.32.137:50070
2、全分布式项目搭建
如果我们是从伪分布式环境过渡多来的话,需要先进行一些处理。
1) 停止hdfs stop-dfs.sh
2) 删除namenode datanode
的临时文件夹
/tmp/hadoop-root
删除里面的全部内容 rm -rf /tmp/hadoop-root/*
操作完成后,将虚拟机停止,进行快照,并且克隆两份
先进行快照,选中虚拟机,右键,选择快照即可。
克隆出来的系统跟原来的系统是一模一样的。
我们需要修改如下内容:
1、需要修改IP地址
需要将两台服务器,启动起来,通过vi 编辑器修改IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改里面的ipaddr 保存即可。
2、hostname 也一模一样
vi /etc/hostname
或者使用hostnamectl set-hostname
名称
3、搞几个脚本文件
jps-cluster.sh
用于查看多台电脑上的jps进程,省去了切换电脑的麻烦。
1、将以上脚本复制到 /usr/local/bin
下
2、给两个脚本文件赋可以执行的权限
chmod u+x xcall.sh
chmod u+x xsync.sh
chmod u+x jps-cluster.sh
3、三台电脑安装rsync
yum install -y rsync
4、测试一下
给每台电脑都创建一个文件夹 xcall.sh mkdir jiaoben
查看每一个电脑上是否有该文件夹 xcall.sh ls
测试一下文件同步脚本 xsync.sh /etc/profile
4、搭建完全分布式的集群环境
进入到hadoop的安装路径 /usr/local/hadoop/etc/hadoop
中进行修改
1、修改core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata01:8020</value>
</property>
<!-- hdfs的基础路径,被其他属性所依赖的一个基础路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
2、修改hdfs-site.xml
<!-- namenode守护进程管理的元数据文件fsimage存储的位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/name</value>
</property>
<!-- 确定DFS数据节点应该将其块存储在本地文件系统的何处-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/data</value>
</property>
<!-- 块的副本数-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 块的大小(128M),下面的单位是字节-->
<property>
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
<!-- secondarynamenode守护进程的http地址:主机名和端口号。参考守护进程布局-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata02:50090</value>
</property>
<!-- namenode守护进程的http地址:主机名和端口号。参考守护进程布局-->
<property>
<name>dfs.namenode.http-address</name>
<value>bigdata01:50070</value>
</property>
3、mapred-site.xml (从一个模板拷贝过来的文件 cp mapred-site.xml.template mapred-site.xml)
<!-- 指定mapreduce使用yarn资源管理器-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 配置作业历史服务器的地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata01:10020</value>
</property>
<!-- 配置作业历史服务器的http地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata01:19888</value>
</property>
4、yarn-site.xml
<!-- 指定yarn的shuffle技术-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定resourcemanager的主机名-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata01</value>
</property>
<!--下面的可选-->
<!--指定shuffle对应的类 -->
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<!--配置resourcemanager的内部通讯地址-->
<property>
<name>yarn.resourcemanager.address</name>
<value>bigdata01:8032</value>
</property>
<!--配置resourcemanager的scheduler的内部通讯地址-->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>bigdata01:8030</value>
</property>
<!--配置resoucemanager的资源调度的内部通讯地址-->
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>bigdata01:8031</value>
</property>
<!--配置resourcemanager的管理员的内部通讯地址-->
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>bigdata01:8033</value>
</property>
<!--配置resourcemanager的web ui 的监控页面-->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>bigdata01:8088</value>
</property>
5、修改hadoop-env.sh 中的jdk路径
6、修改yarn-env.sh
7、修改slaves:
bigdata01
bigdata02
bigdata03
修改大概7个文件,然后每一台电脑上都需要修改。可以使用同步的脚本文件命令
xsync.sh /usr/local/hadoop/etc/hadoop/
同步以上文件夹。
8、测试免密登录没问题
9、格式化namenode
hdfs namenode -format
10、启动hdfs平台
start-dfs.sh
启动过程中的日志,都存储在截图位置上
运行脚本文件 jps-cluster.sh
查看所有电脑的进程,如图所示,表示成功了
11、启动yarn平台 start-yarn.sh
12、可以通过图形化的界面访问我们的hdfs以及yarn平台
hdfs平台的访问地址: 192.168.32.137:50070
访问yarn平台: 192.168.32.137:8088