IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 虚拟机搭建及hadoop安装 -> 正文阅读

[大数据]虚拟机搭建及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文件中输入以下内容:

<configuration>
  <property>
   <name>io.native.lib.available</name>
   <value>true</value>
  </property>
  
  <property>
   <name>fs.default.name</name>
   <value>hdfs://datanode1:9000</value>
   <final>true</final>
  </property>

  <property>
   <name>hadoop.native.lib</name>
   <value>true</value>
  </property>

  <property>
   <name>hadoop.tmp.dir</name>
   <value>/home/hadoop/hadoop-2.7.3/tmp</value>
  </property>

</configuration>

配置hdfs-site.xml文件

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

<configuration>

 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/hadoop/hadoop-2.7.3/hdfs/name</value>
   <final>true</final>
  </property> 
  
  <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/hadoop/hadoop-2.7.3/hdfs/data</value>
   <final>true</final>
  </property>
  
  <property>
   <name>dfs.replication</name>
   <value>3</value>
  </property>

  <property>
   <name>dfs.permissions.enabled</name>
   <value>false</value>
  </property>
  
<property>
     <name>dfs.http.address</name>
     <value>0.0.0.0:50070</value>
</property>

 </configuration>

配置mapred-site.xml文件

<configuration>

 <property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
</property>

<property>
 <name>mapreduce.jobtracker.address</name>
 <value>datanode1:9001</value>
 <final>true</final>
</property>

 <property>
 <name>mapreduce.jobtracker.system.dir</name>
 <value>file:///home/hadoop/hadoop-2.7.3/mapred/system</value>
 <final>true</final>
</property>

<property>
 <name>mapreduce.cluster.local.dir</name>
 <value>file:///home/hadoop/hadoop-2.7.3/mapred/local</value>
 <final>true</final>
</property>

</configuration>

配置yarn-site.xml

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

<configuration>

<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>datanode1</value>
</property>

<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>

<property> 
  <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>     
</property>

</configuration>

配置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
在这里插入图片描述
在这里插入图片描述

能正确进入页面则成功

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
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:51:49  更:2021-07-23 10:54:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 8:55:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码