安装Linux 系统 ( 参考网址
https://www.osyunwei.com/archives/7829.html )
ps : 安装时,选择的语言选择英文
使用Linux镜像文件 CentOS-7-x86_64-DVD-1611.iso
ps : CentOS-7 默认的时图形界面 , 用不习惯的可以切换成指令界面 ( 参考网址
https://www.cnblogs.com/vaelailai/p/8037374.html )
-
centos7默认安装后, 跟其他版本一样,启动默认进入图形界面
-
在图形化桌面,右击鼠标,选择[在终端中打开] , 以 root用户进入 , 即centos的命令行模式
-
在终端命令行中输入 vi /etc/inittab , 查看系统的2种启动模式
-
退出( 冒号 : q! )vi模式后 , 输入命令 systemctl get-default 查看当前系统启动模式
-
将图形化界面切换成命令行 , 输入命令 systemctl set -default multi-user.target 之后再输入reboot重启即可
-
将命令行切换成图形化界面的命令 systemctl set-default graphical.target 之后再输入reboot重启即可
Linux 虚拟机 ifconfig
ip : 192.168.7.248
本地 ip : xxx.xxx.xxx.xxx
关闭Linux虚拟机防火墙 (参考网址
https://blog.csdn.net/zhezhebie/article/details/72881393)
firewall-cmd --state #查看默认防火墙状态 (关闭后显示notrunning , 开启后显示running)
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld . service # 机制firewall 开机启动
init 6 #重启虚拟机, 然后输入第一条命令查看防火墙状态
安装jdk之前,先进行卸载jdk ( 安装版本 java-1.7.0-openjdk.x86_64 )
-
查询jdk版本 java -version
-
检测jdk安装包 rpm -qa | grep java
-
卸载openjdk rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
-
或者是 yum remove *openjdk*
-
再次输入 rpm -qa | grep java
-
下载jdk1.8 linux版本 , 移动至linux==>root下
-
解压缩 tar -xzvf jdk-7u25-linux-x64.tar.gz
-
移动解压包到指定目录 mv /root/jdk1.8.0_171/ /usr/java
-
编辑环境变量 vim /etc/profile
-
export JAVA_HOME=/usr/java/jdk1.8.0_171
-
export JRE_HOME=${JAVA_HOME}/jre
-
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
-
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
-
export PATH=$PATH:${JAVA_PATH}
-
esc [进入命令模式] 输入 : (冒号) [ wq表示退出保存 q! 退出不保存 ]
-
-
重启服务 source /etc/profile
-
测试是否安装成功
-
javac
-
java -version
-
配置免密SSH ( 参考网址 :
https://blog.csdn.net/universe_hao/article/details/52296811 )
-
M - IP : 192.168.7.248
-
S1 - IP : 192.168.5.173
-
S2 - IP : 192.168.5.83
-
创建公钥 / 密钥 ssh-keygen -t rsa
-
查看两个刚生成的文件 ll ~/.ssh
-
也可以 ,同样可以看到
-
cd .ssh
-
ls
-
-
在每一个虚拟机中都执行创建密钥.公钥之后
-
拷贝公钥到需要免密的虚拟机上
-
M虚拟机命令
-
ssh-copy-id root@192.168.5.173
-
ssh-copy-id root@192.168.5.83
-
S1虚拟机命令
-
ssh-copy-id root@192.168.7.248
-
ssh-copy-id root@192.168.5.83
-
S2虚拟机命令
-
ssh-copy-id root@192.168.7.248
-
ssh-copy-id root@192.168.5.173
-
-
-
ssh root@192.168.7.248 进行连接测试
无关重要得一步 ( 纯看个人喜好 )
起别名
-
vi /etc/sysconfig/network
-
NETWORKING=YES
-
HOSTNAME=M ( 别名 )
-
-
vi /etc/hosts
-
127.0.0.1 localhost M ( 别名 ) localhost4 localhost4.localdomain4
-
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
-
-
重启 reboot
安装Hadoop (参考网站 :
https://blog.csdn.net/qq_41782295/article/details/79594243 )
-
在linux系统中下载Hadoop , 指令 wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.9.1/hadoop-2.9.1.tar.gz
-
进行Hadoop解压 , 指令 tar -xzvf hadoop-2.9.1.tar.gz
-
解压包中相关文件
-
sbin: 启动活停止hadoop相关服务的脚本
-
bin: 对hadoop相关服务(HDFS,YARN)进行操作的脚本
-
etc:hadoop的配置文件目录
-
share:hadoop的依赖jar包和文档,文档可以被删除
-
lib:hadoop的本地库(对数据库进行压缩解压缩功能的)
-
-
修改这3台机器的/etc/hosts文件,在文件中添加以下内容:
-
192.168.8.203 hserver1
-
-
192.168.8.206 hserver2
-
192.168.8.207 hserver3
-
-
创建文件加
mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data
-
配置Hadopp配置有关文件
-
vim hadoop-env.sh
-
export JAVA_HOME=/usr/java/jdk1.8.0_171
-
-
-
vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/core-site.xml
修改为
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
</property>
</configuration>
-
vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/root/hadoop/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hadoop/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>need not permissions</description>
</property>
</configuration>
-
复制这个文件并改名有一个名为mapred-site.xml.template的文件,复制该文件,然后改名为mapred-site.xml
-
cp /opt/hadoop/hadoop-2.9.1/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop-2.9.1/etc/hadoop/mapred-site.xml
-
修改这个文件
<property>
<name>mapred.job.tracker</name>
<value>hserver1:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/root/hadoop/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
-
修改/opt/hadoop/hadoop-2.9.0/etc/hadoop/slaves文件,将里面的localhost删除,添加如下内容
-
vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/slaves
-
hserver2
-
hserver3
-
-
-
vim /opt/hadoop/hadoop-2.9.1/etc/hadoop/yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hserver1</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<description>The http address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<description>The https adddress of the RM web application.</description>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<description>The address of the RM admin interface.</description>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
<discription>每个节点可用内存,单位MB,默认8182MB</discription>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
进行测试阶段 :
对HDFS进行格式化
-
cd /opt/hadoop/hadoop-2.9.1/bin
-
./hadoop namenode -format
-
格式化成功后,可以在看到在/root/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件
在namenode上执行启动命令
-
因为hserver1是namenode,hserver2和hserver3都是datanode,所以只需要再hserver1上执行启动命令即可。
-
进入到hserver1这台机器的/opt/hadoop/ hadoop-2.9.1/sbin目录,也就是执行命令:
-
cd /opt/hadoop/ hadoop-2.9.1/sbin
-
执行初始化脚本,也就是执行命令
-
./start-all.sh
http://192.168.7.248/50070
http://192.168.7.248/8088
如果没什么错误的情况下,到这里就完事大吉了 >_<