ubantu1804安装hadoop2.8.5全教程

mac2024-12-06  23

之前每个虚拟机需要配好JDK和有hadoop 下面只有关于hadoop2.8.5的配置

前提

将一个虚拟机作为主节点,其他虚拟机作为从节点

#设置root的密码

sudo passwd root

#切换为root用户

su root

在root用户下运行此命令 #这里是给hadoop文件夹授予权限,如果没有这个权限后面格式化操作,就无法创建存储文件的目录,导致logs上写着文件夹不存在,导致namenode或者其他的进程无法启动,这个问题比较难找出来

chmod a+w /var/opt/hadoop-2.8.5 chmod a+x /var/opt/hadoop-2.8.5

这使用hadoop用户,而不是root,后面出什么问题大多数都是权限的问题。

sudo useradd -m hadoop -s /bin/bash #创建hadoop用户

设置hadoop用户密码

sudo passwd hadoop

为hadoop用户增加管理员权限

sudo adduser hadoop sudo

命令重启

sudo -s hadoop shutdown -r now

由于ubantu没有安装vim和ssh 这里为ubantu安装

sudo apt-get update

更改主机名

sudo vim /etc/hosts

添加节点信息 192.168.140.204 master 192.168.140.205 slave1 192.168.140.206 slave2

选一个作为主节点,几个从节点,节点名字自己定义,重启生效


**

ssh免密码操作

**

获取密钥

ssh-keygen -t rsa ssh-copy-id 加上节点的IP

更改为静态IP

sudo vim /etc/network/interfaces

信息自己填好就是了,每个虚拟机都要配置好 netmask可以保留,其他的随便改就是了


修改hosts文件

sudo vim /etc/hosts

把节点的信息加上去


配置HADOOP环境变量

sudo vim /etc/profile JAVA_HOME=/var/opt/jdk1.8.0_221 HADOOP_HOME=/var/opt/hadoop-2.8.5 PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export JAVA_HOME PATH CLASSPATH HADOOP_HOME

将上面信息也拷贝进去

gedit ~/.bashrc scp /etc/profile slave1:/etc/

scp /etc/profile slave2:/etc/ #通过scp命令将profile文件分发到其他节点

进入hadoop的目录的etc目录 sudo vim core-site.xml

<property> <name>fs.defaultFS</name> <value>hdfs://master:9820</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/cjc/hadoop/full</value> <description>A base for other temporary directories.</description> </property>

sudo vim hdfs-site.xml

<property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/var/opt/hadoop-2.8.5/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/var/opt/hadoop-2.8.5/hdfs/data</value> </property> <property> <name>dfs.http.address</name> <value>master:50070</value> </property> <property> <name>dfs.secondary.http.address</name> <value>master:50090</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>

vim hadoop-env.sh

export HADOOP_IDENT_STRING=$USER export JAVA_HOME=/var/opt/jdk1.8.0_221 export HDFS_NAMENODE_USER=hadoop export HDFS_DATANODE_USER=hadoop export HDFS_SECONDARYNAMENODE_USER=hadoop

通过scp命令分发到其他节点

scp hadoop-env.sh hdfs-site.xml core-site.xml slave1:/var/opt/hadoop-2.8.5/etc/hadoop/ scp hadoop-env.sh hdfs-site.xml core-site.xml slave2:/var/opt/hadoop-2.8.5/etc/hadoop/

填写从节点信息

在hadoop的etc的hadoop目录下运行此命令

sudo vim slaves

这里添加的是从节点的信息

格式化namenode操作

hdfs namenode -format

启动

start-dfs.sh

jps一下查看进程 看到有如下进程即为配置成功

在浏览器输入master:50070 即可访问WEB服务

但是需要在电脑配置好

进入目录

C:\Windows\System32\drivers\etc 修改hosts文件

在下面添加

如果发现有进程没有启动,进入hadoop目录的logs目录下,查看日志,将上面的错误复制,百度一下

最新回复(0)