Hadoop-3.3.5伪分布式安装

Posted 归海十八刀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop-3.3.5伪分布式安装相关的知识,希望对你有一定的参考价值。

文章目录

一、Prerequisites

  • 一台机器:这里使用Centos7.8,机器ip是:192.168.0.20
  • JAVA8:必须使用JAVA8,其他java版本不支持
  • SSH:需要免密登录自身

Java8配置示例如下:

mkdir /usr/local/java8
tar zxvf jdk-8u351-linux-x64.tar.gz -C /usr/local/java8/
cd /usr/local/java8/jdk1.8.0_351/
cat >> /etc/profile << 'eof'
## JDK8
export JAVA_HOME=/usr/local/java8/jdk1.8.0_351
export JRE_HOME=$JAVA_HOEM/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=$JAVA_HOME/bin:$JRE_HOME/bin
export PATH=$PATH:$JAVA_PATH
eof
source /etc/profile

二、Hadoop-3.3.5安装

1.1 配置hdfs

tar zxvf hadoop-3.3.5.tar.gz -C /usr/local/
cd /usr/local/hadoop-3.3.5/
cat >> /etc/profile << 'eoe'
## Hadoop3.3.5
export HADOOP_HOME=/usr/local/hadoop-3.3.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
eoe
source /etc/profile
echo "export JAVA_HOME=/usr/local/java8/jdk1.8.0_351" >> etc/hadoop/hadoop-env.sh
echo "export HADOOP_PID_DIR=$HADOOP_HOME/pids" >> /etc/hadoop/hadoop-env.sh
cat > etc/hadoop/core-site.xml << 'eof'
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.0.20:9000</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
</configuration>
eof

cat > etc/hadoop/hdfs-site.xml << 'eog'
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/mnt/data01/hadoop</value>
    </property>
    <property>
        <name>dfs.blocksize</name>
        <value>268435456</value>
    </property>
    <property>
        <name>dfs.namenode.handler.count</name>
        <value>100</value>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/mnt/data01/hdfs_dndata</value>
    </property>
</configuration>
eog

1.2 配置hosts

hostnamectl set-hostname bigdata001.local
bash
echo "192.168.0.20  bigdata001.local" >> /etc/hosts

1.3 创建免密

useradd xwp
su - xwp -c "ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa"
su - xwp -c "cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys"
su - xwp -c "chmod 0600 ~/.ssh/authorized_keys"
chown -R xwp:xwp /usr/local/hadoop-3.3.5
mkdir /usr/local/hadoop-3.3.5/pids
chown -R xwp:xwp /usr/local/hadoop-3.3.5/pids
mkdir -p /mnt/data01/hadoop
mkdir -p /mnt/data01/hdfs_dndata
mkdir -p /mnt/data01/yarn_nmdata
chown -R xwp:xwp /mnt/data01/hadoop
chown -R xwp:xwp /mnt/data01/hdfs_dndata
chown -R xwp:xwp /mnt/data01/yarn_nmdata

1.4 启动HDFS

这里启动了一个Namenode,SecondaryNamenode,Datanode

su - xwp

cd /usr/local/hadoop-3.3.5
bin/hdfs namenode -format
sbin/start-dfs.sh

Namenode的web页面:http://192.168.0.20:9870

1.4.1 创建执行mapreduce任务所需的HDFS目录

hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/xwp

1.4.2 执行mapreduce任务

hdfs dfs -mkdir input
hdfs dfs -put etc/hadoop/*.xml input
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar grep input output 'dfs[a-z.]+'
hdfs dfs -get output output
cat output/*

1.5 启动YARN

配置mapred和yarn

cat > etc/hadoop/mapred-site.xml << 'eof'
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.map.memory.mb</name>
        <value>1536</value>
    </property>
    <property>
        <name>mapreduce.map.java.opts</name>
        <value>-Xmx1024M</value>
    </property>
    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>3072</value>
    </property>
    <property>
        <name>mapreduce.reduce.java.opts</name>
        <value>-Xmx2560M</value>
    </property>
    <property>
        <name>mapreduce.task.io.sort.mb</name>
        <value>512</value>
    </property>
    <property>
        <name>mapreduce.task.io.sort.factor</name>
        <value>100</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>

    <!--property>
        <name>mapreduce.jobhistory.address</name>
        <value>hdfs://192.168.0.20:10020</value>
    </property-->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>http://192.168.0.20:19888</value>
    </property>
</configuration>
eof

cat > etc/hadoop/yarn-site.xml << 'eog'
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value>
    </property>
    <property>
        <name>yarn.nodemanager.local-dirs</name>
        <value>/mnt/data01/yarn_nmdata</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
eog

sbin/start-yarn.sh

sbin/start-yarn.sh只启动了ResourceManger和NodeManager。如果需要启动JobhistoryServer,则bin/mapred --daemon start historyserver即可。这里我没有启动它。

Yarn的web页面:http://192.168.0.20:8088

OK!环境已经搭建好了,可以开始愉快的学习hadoop了。

ubuntu 下安装伪分布式 hadoop

安装准备:

(1)hadoop安装包:hadoop-1.2.1.tar.gz
(2)jdk安装包:jdk-7u60-linux-i586.gz
(3)要是须要eclipse开发的话 还须要eclipse安装包 和eclipse和hadoop相关连的jar包。

安装:

(1)能够选择一个新建用户安装 也能够使用眼下账户。
技术分享
(2)规定 所属用户组:
技术分享
(3) 给予用户hadoop权限:
sudo vim /etc/sudoers 改动加入:技术分享
 说到vim ubuntu本身自带的是vim tiny 不可用 须要使用的是vim full版本号 须要下载安装:
sudo apt-get  remove vim-common
sudo apt-get install vim
vim 本身的一些配置可依据自己的喜好进行设置。
(4) 安装 jdk:
依据自己须要选择安装路径、
sudo mkdir /usr/java
tar -zxvf jdk-7u60-linux-i586.gz
mv jdk-1.7.0 jdk(改动名字 能够不设置(最好))
技术分享
删除安装包:
技术分享
(5)  配置jdk环境:
sudo vim /etc/profile 加入
技术分享
更新一下(必须):source /etc/profile
測试一下:
技术分享
jdk 完毕。
(6) ssh 免password:
一般ssh-client 包括在ubuntu系统中,可是ssh-server并没有 安装,能够通过 ssh ip 測试下;
安装ssh-server: sudo apt-get install ssh
安装之后进行操作:
技术分享
生成:
技术分享

技术分享

技术分享

ssh 能够登录。

(7) 安装hadoop
能够先创建一个hadoop到目录:
sudo mkdir /usr/hadoop
cd /usr/hadoop/
sudo tar -zxvf hadoop-1.2.1.tar.gz
sudo mv hadoop-1.2.1 hadoop
sudo chown -R hadoop:hadoop hadoop 将目录hadoop 读权限赋予hadoop用户
sudo rm -rf hadoop-1.2.1.tar.gz
安装之后须要进行配置:
配置 /etc/profile 加入:
sudo vim /etc/profile
技术分享
配置hadoop-env.sh文件:
sudo vim /usr/hadoop/conf/hadoop-env.sh:
技术分享

建立一个目录:用于配置hadoop.tmp.dir參数:
sudo mkdir /usr/hadoop/tmp

配置核心文件:
core-site.xml:
技术分享

hdfs-site.xml:
技术分享

mapred-site.xml:
技术分享

启动:因为前面配置 输入:
格式化节点:
hadoop namenode -format
启动:start-all.sh
jps 查看
技术分享
停止:stop-all.sh 

(8)安装eclipse
同上 先创建一个目录 解压安装....
技术分享
进去启动eclipse 遇到个小问题:
      eclipse找不到jdk 或是jre
解决:
cd /home/hadoop/eclipse (安装eclipse)
sudo ln -sf $JRE_HOME jre
就是这个:
技术分享
进行eclipse 配置hadoop 将相关连的插件 拷贝到 eclipse下到plugins目录里面:
技术分享

启动 eclipse:
 window->perferences:
技术分享
hadoop的安装文件夹。

设置:
右键以下的空白区域:
技术分享
出现:并配置
技术分享

技术分享
技术分享

点开左側小象:
技术分享
eclipse配置完毕。


以后能够在eclipse书写作业  然后到终端进行运行。

配置遇到的问题:
namenode datanode 没有起来:
解决例如以下:
(1)删除 /usr/hadoop/tmp
(2)在创建 : sudo mkdir /usr/hadoop/tmp
(3)删除 /tmp目录下 全部以hadoop开头的文件:
sudo rm -rf /tmp/hadoop*
(4)又一次格式化:
hadoop namenode -format
(5)启动 
start-all.sh







































以上是关于Hadoop-3.3.5伪分布式安装的主要内容,如果未能解决你的问题,请参考以下文章

hadoop2.7.3伪分布式环境搭建详细安装过程

Hadoop安装最后一步~Hadoop伪分布式配置

0.1_hadoop安装(伪分布式)

ubuntu 下安装伪分布式 hadoop

Hadoop伪分布安装详解+MapReduce运行原理+基于MapReduce的KNN算法实现

Ubuntu下伪分布式安装Hadoop详细教程