Hadoop集群搭建一:Single node cluster

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_34613450/article/details/83478100

Hadoop集群搭建一:Single node cluster

本文主要介绍在单个ubantu机器上搭建hadoop集群。

1.ubuntu虚拟机安装

采用Vmware workstation10工具来安装ubuntu系统,ubuntu使用的是64位的18.04-desktop版本,具体安装过程可自行Google,此处不再详细说明。

给出资源下载链接:

ubuntu-18.04-desktop-amd64.iso(密码:qpkx)

2.使用XShell连接ubuntu虚拟机

(1) 在连接之前需要查看虚拟机的ip地址,使用命令:ifconfig -a,但系统刚安装好会提示系统没有该命令,需要通过sudo apt install net-tools来安装,于是执行命令:sudo apt install net-tools,但之后系统会提示“无法定位到net-tools软件包”,这是因为没有更新软件源,此时更新软件源:sudo apt-get update,更新完成之后,再次执行:sudo apt install net-tools,即可正常执行,此时查看ip:ifconfig -a。(红框所示即为本机ip地址)

(2) 此时我们需要继续设置sshd服务,因为XShell软件是基于这个sshd服务的22端口进行连接的。

首先需要安装该服务:sudo apt-get install openssh-server,安装完成之后,查看该服务是否安装:ps -e|grep ssh,,若显示的信息中有ssh而没有sshd,则需要开启该服务:sudo service ssh start。

设置完之后,既可以通过XShell连接ubuntu虚拟机了,Happy!(以下执行的操作即可在windows环境运行,不用在切换系统)

3.在ubuntu机器中安装Java

因为整个hadoop环境是基于Java开发的,所以必须安装Java基础环境。

执行命令:sudo apt-get install default-jdk,网速给力的话几分钟就可以执行完毕!

安装完查看Java版本:java -version

查看Java存放的文件夹:update-alternatives --display java

4.建立ssh无密码登录本机

使用“stephen”账户登录系统,安装SSH:sudo apt-get install ssh

安装rsync:sudo apt-get install rsync

生成SSH密钥,执行命令:ssh-keygen -t dsa -P ' ' -f ~/.ssh/id_dsa

查看密钥:ll ~/.ssh

将生成的密钥文件追加到验证文件:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

此时登录本机:ssh localhost

5.hadoop环境文件配置

(1) 下载hadoop-2.6.0包

hadoop-2.6.0-tar.gz

通过xftp工具将这个hadoop包传送到ubuntu虚拟机中。,使用:sudo tar -zxvf hadoop-2.6.0.tar.gz解压,然后移动:sudo mv hadoop-2.6.0 /usr/local/hadoop

然后进入配置文件的路径:cd /usr/local/hadoop/etc/hadoop(再次强调,使用自己的路径)

(2)配置环境配置文件(红框所示):

各文件配置内容:

1.修改~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
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_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-DJava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
保存,
执行 source ~/.bashrc

2.hadoop-env.sh文件
将JAVA_HOME文件配置为本机JAVA_HOME路径


3.修改core-site.xml:
<configuration>
<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>
</configuration>

4.修改yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->

<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>

5.修改mapred-site.xml
<configuration>

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

</configuration>

6.修改hdfs-site.xml
<configuration>

<property>
   <name>dfs.replication</name>
   <value>3</value>
</property>
<property>
   <name>dfs.namenode.name.dir</name>
   <value> file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>
<property>
   <name>dfs.datanode.data.dir</name>
   <value> file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>

</configuration>

6.初始化环境

(1) 在配置完文件后,创建namenode和datanode两个文件夹:

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode

修改所有权:sudo chown -R  stephen:stephen /usr/local/hadoop

(2) hadoop格式化

hdfs namenode -format

7.启动hdfs

有两种启动方式:

方式1: 执行:start-dfs.sh ; 然后执行:start-yarn.sh

方式2:start-all.sh

中间过程中会要求输入yes/no,以及用户密码

启动成功后,可以通过jps命令各个工作的节点。

8.查看ResourceManager和datanode相关信息

打开ubuntu系统中的火狐浏览器,在地址栏输入:http://localhost:8088,即可进入ResourceManager界面,查看namenode节点信息。

在地址栏输入:http://localhost:50070,即可查看当前HDFS与datanode节点信息。

PS:问题记录

      1.Linux文件夹权限

         

          第一列共有十位
          第一位,d:表示是一个目录,-:表示一个普通的文件
          第2-4位:rwx:分别表示读,写,执行,这里显示为rwx表示文件所有者对该文件拥有读写执行的权利(补充一点,rwx用数字表示为4,2,1)
          第5-7位:r-x:表示与该文件所有者的同组用户拥有该文件的读和执行的权限
          第8-10位:r-x:表示其他组的用户对该文件拥有读和执行的权利

    2:linux基本命令
         查看用户所属用户组   id hostname / groups hostname

         vim命令: 查找:/xxxx

                          清空: gg  dG
 

猜你喜欢

转载自blog.csdn.net/weixin_34613450/article/details/83478100
今日推荐