虚拟机搭建及hadoop安装

如果按照我的流程走,是没有问题的,有问题可以讨论,看到会回复。这里使用的使ubuntu18.04,创建三个虚拟机。

一、创建虚拟机

用户名hadoop 虚拟机名 datanode1 datanode2 datanode3

用户名 hadoop 密码 123

二、安装必要软件

获取root权限

sudo passwd root 设置root密码

sudo -s进入root状态

sudo su 给与root权限

安装vmware-tools ,安装后课自动调节虚拟机尺寸,并且可以虚拟机与主机互相传输文件,直接拖动即可。(点击虚拟机然后安装,安装后桌面有个压缩包,解压进入目录)
在这里插入图片描述
sudo ./ vmware-install.pl 输入yes后一直确定即可,安装好后需要重启虚拟机,不然无法桌面与虚拟机相互传输文件!

软件和更新 更换服务器站点
安装JDK、SSH、vim和net-tools
其中只有JDK最大,安装过程中会受网络状况影响,命令如下

apt update
apt install openjdk-8-jdk-headless
apt install ssh
apt install vim
apt install net-tools

三、安装hadoop(本次安装hadoop-2.7.3)

预先准备好hadoop安装包(最好是2.*版本)
百度网盘下载链接:https://pan.baidu.com/s/16_BbxRGz6gJRzHb53BZBOw
提取码:code

解压到主文件夹(/home/hadoop)
tar -zxvf 包名 或者双击解压

四、配置各种文件

1.Ubantu配置环境变量

打开环境变量文件

sudo vim ~/.bashrc

在文件末尾插入以下语句,JDK路径按实际路径修改(注意hadoop的版本)

export HADOOP_HOME=/home/hadoop/hadoop-2.7.3.3
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
#export HADOOP_ROOT_LOGGER=DEBUG,console

#修改完后,保存变量 source ~/.bashrc

#查看环境是否写入 env

2.配置hosts文件

查看datanode1的ip地址 设置->网络(我的是192.168.241.140)

修改/etc/hosts文件 sudo vim /etc/hosts

127.0.0.1   localhost
192.168.241.140 datanode1
192.168.241.141 datanode2
192.168.241.142 datanode3

3.配置hadoop文件

在hadoop目录下批量创建文件夹

mkdir {tmp,hdfs,hdfs/name,hdfs/data,mapred,mapred/system,mapred/local}

以下配置文件在/home/hadoop/hadoop/hadoop-2.7.3/etc/Hadoop

4.配置core-site.xml文件

在hadoop-2.7.3/etc/hadoop目录下的core-site.xml文件中输入以下内容:


  
   io.native.lib.available
   true
  
  
  
   fs.default.name
   hdfs://datanode1:9000
   true
  

  
   hadoop.native.lib
   true
  

  
   hadoop.tmp.dir
   /home/hadoop/hadoop-2.7.3/tmp
  


配置hdfs-site.xml文件

在hadoop-2.7.3/etc/hadoop目录下的hdfs-site.xml文件中输入以下内容:



 
   dfs.namenode.name.dir
   file:/home/hadoop/hadoop-2.7.3/hdfs/name
   true
   
  
  
   dfs.datanode.data.dir
   file:/home/hadoop/hadoop-2.7.3/hdfs/data
   true
  
  
  
   dfs.replication
   3
  

  
   dfs.permissions.enabled
   false
  
  

     dfs.http.address
     0.0.0.0:50070


 

配置mapred-site.xml文件



 
 mapreduce.framework.name
 yarn



 mapreduce.jobtracker.address
 datanode1:9001
 true


 
 mapreduce.jobtracker.system.dir
 file:///home/hadoop/hadoop-2.7.3/mapred/system
 true



 mapreduce.cluster.local.dir
 file:///home/hadoop/hadoop-2.7.3/mapred/local
 true



配置yarn-site.xml

在hadoop-2.7.3/etc/hadoop目录下的yarn-site.xml文件中输入以下内容:




  yarn.resourcemanager.hostname
  datanode1



  yarn.nodemanager.aux-services
  mapreduce_shuffle


 
  yarn.nodemanager.aux-services.mapreduce_shuffle.class
  org.apache.hadoop.mapred.ShuffleHandler     



配置hadoop-env.sh文件

在.etc/hadoop/hadoop-env.sh文件末尾加入(注意hadoop版本)

export HADOOP_IDENT_STRING=$USER
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/home/hadoop/hadoop-2.7.3
export HADOOP_PID_DIR=/home/hadoop/pids
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_SECURE_DN_PID_DIR=${HADOOP_PID_DIR}
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

配置slaves文件

datanode1
datanode2
datanode3

初始化hadoop

执行

hadoop namenode -format

格式化namenode,注意,若多次格式化namenode,则会造成namenode或datanode不能启动,原因是两者的uuid由于重新格式化后,出现了不一致。出现这种情况,删除tmp及hdfs目录后,重新格式化namenode,再次启动hadoop,问题一般可以得到解决。

虚拟机克隆

修改克隆机机名为(点击设置,最后一行设备信息,修改)

datanode2 datanode3

设置ssh无密码登录

使用ssh datanode1 连接本机节点,然后输入exit退出。

在/home/Hadoop/.ssh目录下输入 (ctrl+h打开隐藏文件夹)

ssh-keygen -t rsa 一直确定

cp id_rsa.pub authorized_keys 生成登录用的公钥文件

将公钥、私钥复制到节点中

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@datanode2
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@datanode3

文件拷贝命令(后续安装hbase,spark可能会用到)

scp -r /home/hadoop/hbase-1.7.0 hadoop@datanode2:/home/hadoop/hbase-1.7.0
scp -r /home/hadoop/hbase-1.7.0 hadoop@datanode3/home/hadoop/hbase-1.7.0

scp -r /home/hadoop/.bashrc hadoop@datanode2/home/hadoop/.bashrc
scp -r /home/hadoop/.bashrc hadoop@datanode3:/home/hadoop/.bashrc

scp -r /home/hadoop/hbase-1.7.0/conf/hbase-site.xml hadoop@datanode2:/home/hadoop/hbase-1.7.0/conf/hbase-site.xml
scp -r /home/hadoop/hbase-1.7.0/conf/hbase-site.xml hadoop@datanode3:/home/hadoop/hbase-1.7.0/conf/hbase-site.xml

scp -r /home/hadoop/hbase-1.7.0/conf/hbase-site.xml hadoop@datanode2:/home/hadoop/hbase-1.7.0/conf/hbase-site.xml

scp -r /home/hadoop/hbase-1.7.0/conf/hbase-site.xml hadoop@datanode3:/home/hadoop/hbase-1.7.0/conf/hbase-site.xml

测试hadoop环境

启动hadoop

方法一  start-all.sh

方法二  start-dfs.sh
       start-yarn.sh

停止为(stop-dfs.sh、stop-yarn.sh )或者(stop-all.sh)

在datanode1上输入jps显示:

Jps

DataNode

SecondaryNameNode

ResourceManager

NodeManager

NameNode

在其他节点上输入jps显示:

Jps

DataNode

NodeManager

输入netstat -anpup 检查端口是否都打开

hdfs dfsadmin –report

在同一个网络的PC机上的浏览器中输入

http:// 你的主节点IP地址:8088

http:// 你的主节点IP地址:50070
虚拟机搭建及hadoop安装_第1张图片
虚拟机搭建及hadoop安装_第2张图片

能正确进入页面则成功

8088页面下点击左侧node可看当前节点情况

Mapreduce测试 (先启动hadoop)

进入hadoop目录终端输入

1、 hdfs dfs -mkdir -p /data/input在虚拟分布式文件系统上创建一个测试目录/data/input (hdfs目录下)

2、 hdfs dfs -put README.txt /data/input 将当前目录下的README.txt 文件复制到虚拟分布式文件系统中(hdfs目录下)

3、 hdfs dfs-ls /data/input 查看文件系统中是否存在我们所复制的文件

运行如下命令向hadoop提交单词统计任务

4.进入hadoop文件目录,执行下面的指令。

5.查看结果

hdfs dfs -cat /data/output/result  /part-r-00000

你可能感兴趣的:(大数据,hadoop,ubuntu,大数据,linux)