1.Cento7的安装
2.vitualbox5.23版本(w10环境)
3.java8的安装https://www.cnblogs.com/shihaiming/p/5809553.html
4.hadoop2.6.0的安装
setting如下,使用桥接网络,关于虚拟机网络选择相关https://blog.csdn.net/yxc135/article/details/8458939
在storage可以添加cento7的镜像文件,也可以启动虚拟机后自行选择添加。
启动虚拟机后,优先关闭防火墙,最小化安装防火墙使用firewalld。
关闭防火墙可以提高hadoop的速度,而且端口使用也比较随意,虚拟机也无所谓安不安全-_-!!!
systemctl status firewalld.service//检查防火墙状态
systemctl stop firewalld.service//关闭防火墙
systemctl disable firewalld.service//取消防火墙自启动
配置主机名(同样的,三台datanode也要配置,DN1,DN2,DN3)
vi /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=NN
在多次尝试自定义静态IP地址上网失败后,默认选择cento7动态分配的ip进行联网。
静态IP配置:https://blog.csdn.net/teisite/article/details/81196244
最小化安装的cento7没有ifconfig命令,使用
yum -y install net-tools
安装相关网络工具后可使用。
当前虚拟机NameNode的ip
测试ping通百度,平通宿主机后,进行ssh连接(虚拟机连接xshall),之后终端的命令都可以复制粘贴了。
输入虚拟机的ip地址后,输入预先创建的账号和密码,就可以连接上xshall了,需要注意端口号22没有被占用。
连接成功后用su命令输入之前设置的root密码,进入管理员模式。
参考https://www.cnblogs.com/shihaiming/p/5809553.html
虚拟机连接xftp,用于java8压缩文件的传输
同样的输入之前创好的账号和密码,连接上xftp。
在宿主机上安装好java8的压缩文件
找到压缩文件所在的目录,将其拖进虚拟机下的/usr/java目录中(没有需自行创建)
这里会遇到传输错误的问题,说明当前文件夹的权限不够
使用
chmod 777 java
赋予java文件夹最高权限,传输完成
进入java文件夹,使用
tar -zxvf jdk-8u201-linux-x64.tar.gz
解压java安装包,zxvf后跟的名字为实际的压缩包名字
配置java环境变量,进入环境变量文件
vi /etc/profile
在最后添加,java_home后根据具体的目录填写
JAVA_HOME=/usr/java/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
执行如下命令完成配置
source /etc/profile
下载链接https://pan.baidu.com/s/1-fRFBPhmft6GhSD1VBUjpw
提取码:cwuk
同样的将hadoop压缩包放到/home/m文件夹下
用tar -zxvf 解压hadoop,接下来进行Hadoop环境配置(简单配置)
vi /home/loli/hadoop-2.6.0/etc/hadoop/hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.8.0_201
# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
# protocol. Jsvc is not required if SASL is configured for authentication of
# data transfer protocol using non-privileged ports.
#export JSVC_HOME=${JSVC_HOME}
export HADOOP_CONF_DIR=/home/loli/hadoop-2.6.0/etc/hadoop
配置hadoop本机变量:
vi /etc/profile
在尾部添加
JAVA_HOME=/usr/java/jdk1.8.0_201
HADOOP_HOME=/home/loli/hadoop-2.6.0
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export JAVA_HOME PATH CLASSPATH HADOOP_HOME
保存后使用source /etc/profile使生效
vi /home/loli/hadoop-2.6.0/etc/hadoop/yarn-env.sh
将export JAVA_HOME=/home/y/libexec/jdk1.6.0/修改为
export JAVA_HOME=/usr/java/jdk1.8.0_201
vi /home/loli/hadoop-2.6.0/etc/hadoop/core-site.xml
在和 之间插入
fs.defaultFS
hdfs://NN:9000
hadoop.tmp.dir
/home/loli/hadoop-2.6.0/tmp
vi /home/loli/hadoop-2.6.0/etc/hadoop/hdfs-site.xml
在和 之间插入
dfs.replication
4
dfs.permissions
false
vi /home/loli/hadoop-2.6.0/etc/hadoop/yarn-site.xml
在和 之间插入
yarn.resourcemanager.hostname
NN
yarn.nodemanager.aux-services
mapreduce_shuffle
复制mapred-site.xml.template并改名
cp /home/loli/hadoop-2.6.0/etc/hadoop/mapred-site.xml.temolate /home/loli/hadoop-2.6.0/etc/hadoop/mapred-site.xml
在和 之间插入
`
mapreduce.framework.name
yarn
vi /home/loli/hadoop-2.6.0/etc/hadoop/slaves
里面会有缺省的localhost,可以删掉
将所有slave节点主机名,一行一个写到该文件里
DN1
DN2
DN3
参考http://frainmeng.github.io/2015/11/04/virtualbox%E5%A4%8D%E5%88%B6%E8%99%9A%E6%8B%9F%E6%9C%BA/
成功连接上xshall,xftp
在每个节点的~文件夹下创建.ssh文件(已有可以不用创建)
在NameNode上使用
ssh-keygen -t rsa
创建密钥。产生,第一个是私钥,第二个是公钥。将公钥分别复制到各DataNode节点。datanode节点的.ssh文件要自行创建,.ssh文件下需用touch创建一个id_rsa.pub保存公钥。
id_rsa,id_rsa.pub两个文件
使用,进行复制,每个节点复制记得更换相应的ip地址
scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/id_rsa.pub
scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/id_rsa.pub
scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/id_rsa.pub
全部复制完成。
将datanode里的id_rsa.pub文件复制到(这里namenode的.ssh目录下需创建authorized_keys)每台datanode都要进行的操作
authorized_keys
//生成authorized_keys
>cat id_rsa.pub >> authorized_keys
//然后把authorized_keys scp到master
>scp ~/.ssh/authorized_keys [email protected]:~/.ssh/authorized_keys
//所有机器都要改
//.ssh/ 文件夹权限改为700
//authorized_keys文件权限改为600
>chmod 700 ~/.ssh
>chmod 600 ~/.ssh/authorized_keys
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.4.16 NN
192.168.4.48 DN1
192.168.4.63 DN2
192.168.4.73 DN3
重启reboot(所有节点)。
执行:hadoop namenode -format
如果不好使,可以重启linux
当出现:successfully,证明格式化成功
19/03/25 14:56:26 INFO common.Storage: Storage directory /home/loli/hadoop-2.6.0/tmp/dfs/name has been successfully formatted.
19/03/25 14:56:26 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
19/03/25 14:56:26 INFO util.ExitUtil: Exiting with status 0
19/03/25 14:56:26 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at NN/192.168.4.16
************************************************************/
cd /home/loli/hadoop-2.6.0/sbin
使用start-dfs.sh启动
DN1: datanode running as process 3345. Stop it first.
DN2: starting datanode, logging to /home/loli/hadoop-2.6.0/logs/hadoop-root-datanode-namenode.out
DN3: starting datanode, logging to /home/loli/hadoop-2.6.0/logs/hadoop-root-datanode-namenode.out
Starting secondary namenodes [0.0.0.0]
The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.
ECDSA key fingerprint is SHA256:+80GiOqSsCJkefY9527/CCs/MGqkBYsNpuLPSTCkJ7w.
ECDSA key fingerprint is MD5:cb:7c:80:72:5a:81:02:5f:08:2f:e5:59:a8:59:12:df.
Are you sure you want to continue connecting (yes/no)? yes
0.0.0.0: Warning: Permanently added '0.0.0.0' (ECDSA) to the list of known hosts.
0.0.0.0: starting secondarynamenode, logging to /home/loli/hadoop-2.6.0/logs/hadoop-root-secondarynamenode-namenode.out
即全部启动成功
我这里之前出现了一个问题,已经被我解决,具体看我这篇博客:https://mp.csdn.net/postedit/88795541
7.3接着启动yarn的相关服务
cd /home/loli/hadoop-2.6.0/sbin
使用 start-yarn.sh 启动yarn相关服务
starting yarn daemons
starting resourcemanager, logging to /home/loli/hadoop-2.6.0/logs/yarn-root-resourcemanager-namenode.out
DN2: starting nodemanager, logging to /home/loli/hadoop-2.6.0/logs/yarn-root-nodemanager-namenode.out
DN1: starting nodemanager, logging to /home/loli/hadoop-2.6.0/logs/yarn-root-nodemanager-namenode.out
DN3: starting nodemanager, logging to /home/loli/hadoop-2.6.0/logs/yarn-root-nodemanager-namenode.out
成功。
使用网页输入192.168.4.16:50070
无误