0


Hadoop在vm的配置

Hadoop集群配置

一、前期准备

  1. 需要设置虚拟机三台名称如下:

master

worker1

worker2

注:

1.前期只用创建master虚拟机,并在其上进行java及hadoop的配置,配置完成后再进行克隆。

2.需要的所有安装包都放在master节点的/opt目录下,安装包统一解压到/usr/local/src目录下

3.以下所有操作均在root环境下进行。

二、创建虚拟机

在安装系统时需要注意root这里选允许SSH登录,其他默认即可。

  1. 在虚拟机中安装 lrzsz

yum -y install lrzsz

  1. cd至/opt

cd /opt

通过lrzsz拷贝本地hadoop与java进 /opt

  1. 使用命令ls或ll确认是否拷贝成功

或者

服务器下载至本地

**scp -r 远程服务器用户名@远程IP:**需要下载的文件路径(含文件名)本地存放文件路径

例如:scp –r aiot@192.168.100.206:~/Desktop/datasets ~/Desktop

本地上传至服务器

**scp -r 本地需上传文件路径(含文件名)远程服务器用户名@远程IP:**需要存放文件路径

例如:scp –r jdk-8u202-linux-x64.tar.gz user@192.168.110.133: /opt

#重启ssh服务

systemctl restart ssh

二、安装及环境变量配置

  1. 安装java

cd /opt

tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/src

  1. 配置java环境变量

vim /etc/profile

#tip:在配置文件末尾追加

export JAVA_HOME=/usr/local/src/jdk1.8.0_202

export PATH=$PATH:$JAVA_HOME/bin

按 esc键 输入:wq!保存并退出

退出编辑之后在终端输入

source /etc/profile # 刷新环境变量

  1. 验证是否安装成功

java -version

  1. 安装hadoop

tar -zxvf hadoop-3.4.0.tar.gz -C /usr/local/src

cd /usr/local/src/hadoop-3.4.0/etc/hadoop

  1. 配置hadoop环境变量

vim /etc/profile

#tip:在文件末尾追加

export HADOOP_HOME=/usr/local/src/hadoop-3.4.0

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

  1. 验证是否安装成功

hadoop version

三、Hadoop五个文件的配置

Cd至配置目录

cd /usr/local/src/hadoop-3.4.0/etc/hadoop

  1. hadoop-env.sh

vim hadoop-env.sh

Go跳转到最后一行编辑

添加以下内容

export JAVA_HOME=/usr/local/src/jdk1.8.0_202

export HDFS_NAMENODE_USER=root

export HDFS_DATANODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

  1. core-site.xml

vim core-site.xml

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property> <property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/src/hadoop-3.4.0/tmp</value>

</property>
  1. hdfs-site.xml配置

首先创建data目录

mkdir -p /usr/local/src/hadoop-3.4.0/data

mkdir -p /usr/local/src/hadoop-3.4.0/logs

vim hdfs-site.xml

<property>

<name>dfs.replication</name>

<value>2</value>

</property> <property>

<name>dfs.namenode.name.dir</name>

<value>/usr/local/src/hadoop-3.4.0/name</value>

</property> <property>

<name>dfs.datanode.data.dir</name>

<value>/usr/local/src/hadoop-3.4.0/data</value>

</property> <property>

<name>dfs.permissions.enalbed</name>

<value>false</value>

</property> <property>

<name>dfs.namenode.http-address</name>

<value>master:9870</value>

</property> <property>

<name>dfs.namenode.secondary.http-address</name>

<value>master:9868</value>

</property>
  1. yarn-site.xml配置

vim yarn-site.xml

<property>

<name>yarn.resourcemanager.hostname</name>

<value>master</value>

</property> <property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property> <property>

<name>yarn.nodemanager.vmem-check-enabled</name>

<value>false</value>

</property>
  1. mapred-site.xml配置

vim mapred-site.xml

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property> <property>

<name>mapreduce.application.classpath</name>

<value>/usr/local/src/hadoop-3.4.0/share/hadoop/mapreduce/:/usr/local/src/hadoop-3.4.0/share/hadoop/mapreduce/lib/</value>

</property>
  1. workers配置

vim workers

#后面追加如下内容

master

worker1

worker2

  1. 关闭防火墙

systemctl stop firewalld.service #关闭防火墙命令

firewall-cmd --state #关闭防火墙后,看看防火墙状态是否关闭成功

出现:not running 即代表关闭

四、克隆master与附属机器配置

克隆master为worker1和worker2

  1. 更改节点名称 每一台机器运行各自的节点名称

hostnamectl set-hostname master

hostnamectl set-hostname worker1

hostnamectl set-hostname worker2

更新

hostname

  1. Hosts修改

查看本机ip地址

ifconfig

master主机

vim /etc/hosts

删除其他在/etc/hosts的末尾添加

192.168.56.2 master

192.168.181.2 worker1

192.168.237.2 worker2

发送

scp /etc/hosts root@worker1:/etc/hosts

scp /etc/hosts root@worker2:/etc/hosts

  1. 配置免密登录

ssh-keygen -t rsa

  1. 公钥复制到各个节点,第一次登陆会让你输入密码

ssh-keygen

ssh-copy-id master

ssh-copy-id worker1

ssh-copy-id worker2

exit # 回到master节点

  1. 同步时间(可选)

yum install -y chrony

vim /etc/chrony.conf

注释第三行原有的时间服务器地址,添加阿里云的时间服务器地址

阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址

server ntp1.aliyun.com

4)重启网络时间服务chrony,并设置服务后台运行

#重启时间服务
systemctl restart chronyd.service
#设置时间同步服务开机启动
systemctl enable chronyd.service

通过以上工作基本配置完成。

#在namenode主机上进行(一般是在master上)

格式化(只能进行单次)

hdfs namenode -format

  1. 启动集群

cd /usr/local/src/hadoop-3.4.0/sbin

#全部发送

start-dfs.sh

start-yarn.sh

或者一次全开

#在master主机上执行

start-all.sh

  1. 关闭集群

stop-dfs.sh

stop-yarn.sh

或者一次全开

stop-all.sh

  1. Web UI页面

HDFS集群:master:9870/

YARN集群: master:8088/

五、测试

cd /home/master/桌面

vim words.txt

添加以下内容,随意添加

hadoop hdfs hdfs hadoop

mapreduce mapreduce hadoop

hdfs hadoop yarn yarn

在hdfs上创建文件夹

hdfs dfs -mkdir /input /output

把words.txt上传到hdfs的input文件夹中

hdfs dfs -put words.txt /input

运行wordcount

hadoop jar /usr/local/src/hadoop-3.4.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.4.0.jar wordcount /input/ /output1

查看结果

#hadoop dfs -ls /output

hdfs dfs -ls /output1

#hadoop dfs -cat /output/part-r-00000

hdfs dfs -cat /output1/part-r-00000

#jps查看集群启动情况

hadoop fs -rm /output

#慎用

重新格式化

1、停止集群

stop-all.sh

2、删除所有节点在hdfs中配置的data目录(即在core-site.xml中配置的hadoop.tmp.dir对应文件件)下面的所有数据;

rm -rf hadoop/cloud

3、重新格式化namenode(切换到hadoop目录下的bin目录下)

hdfs namenode -format

4、重新启动hadoop集群(切换到hadoop目录下的sbin目录下)

start-all.sh

使用hdfs dfsadmin -report命令查看磁盘使用情况

文件权限修改sudo chmod 777 文件名

上传至桌面

cd /home/master/桌面/hadoop

cp -r hadoop-env.sh core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml workers /usr/local/src/hadoop-3.4.0/etc/hadoop

标签: eclipse java ide

本文转载自: https://blog.csdn.net/2301_79841965/article/details/143450606
版权归原作者 一只特立独行的大蜗牛 所有, 如有侵权,请联系我们删除。

“Hadoop在vm的配置”的评论:

还没有评论