Win10上利用子系统搭建hadoop本地开发环境及常见问

2019-12-04 22:07 来源:未知

Win10上利用子系统搭建hadoop当地开荒景况及广大难点一蹴而就

说明

满心激励的预备攻读hadoop,没悟出寸步难行,具体多坑?
Hadoop对微软如此不本人,
原先希图安装在docker上行吗,大器晚成搜寻,二个学科都未有,笔者???,
这装个虚构机吧,配置范围了小编的想像,
那搞个双系统吧,linux上又无法设置qq等必需软件,
即使也可编译Hadoop源码为windows版本,不过hadoop那么多生态情形,难道自身要每贰个都编写翻译?
您恐怕会将代码打包为jar包再发送到服务器上运转,但是那扩大了大量的调理专业,何况浪费了大气光阴。
本身拿那windows能怎么办?以至大器晚成度想换个黑苹果(忍住了)。

推断小编大微软团结也开采那样下来不可能毛利,只可以赶紧叫上兄弟Ubuntu来填坑。
本课程利用win10自带的Ubuntu子系统来配置Hadoop运营意况。

要求

系统:win10(唯有win10得以安装子系统卡塔尔国

步骤

第一步:安装Ubuntu子系统

开荒windows商店,寻觅Ubuntu,找到后点击安装,等待安装收尾就能够。
设置完结后,为了以往能加快布局速度,安装包源为Ali源。

第二步:配置Ubuntu子系统

  • 设置主机名(不是必得的)

子系统主机名暗中认可使用windows宿主机的名字,如若您从来没改革呈现的相应是风华正茂串字符,为了便于开拓,你应该改革主机名。通过设置->系统->关于->重命名这台电脑修改主机名。

  • 设置root密码
sudo passwd root
  • 设置暗中同意登入用户

为了能方便人民群众开垦,能够安装Ubuntu的暗中认可登陆客商为方今登陆win10的顾客名,因为您付出时是以近日报到客商实行顺序的,所感觉了防止权限难点,推荐您这么做。
比如当前本人win10的顾客为manlier,那就安装暗许客户为manlier,假如当前ubuntu中未有该顾客,会让你成立。

在Power shell 中执行

ubuntu config --default-user <username>
  • 安装ssh服务

Ubuntu 暗中同意安装了ssh服务,若无安装,实施

sudo apt-get install openssh-client
sudo apt-get install openssh-server
  • 启动ssh服务
sudo service ssh start

如若遭遇难点,重新安装ssh服务

sudo apt-get purge openssh-server
sudo apt-get install openssh-server

再度运行suddo service ssh --full-restart查阅是不是已运维成功

  • 配置ssh端口

ssh端口暗许是22号端口,该端口在win10中已经被sshProxy服务占了,你能够关闭该服务。也足以因而上面包车型大巴授命在Ubuntu中改动ssh端口。

修改/etc/ssh/sshd_configPort 22银河国际点击登录,为其它端口

vi /etc/ssh/sshd_config

重启ssh服务

sudo service ssh --full-restart

正文选拔第后生可畏种,即直接关门sshProxy服务。若你筛选第二种,之后必要布署Hadoop集群的ssh端口。

  • 布局免密登陆

刚毅,Hadoop供给建构在ssh的免密服务之上,由此须要展开ssh的公钥登录配置。

修改sshd_config文件,首要改革上边几行

UsePrivilegeSeparation no
PermitRootLogin no         #如果你确实要用root方式登录的话设为yes
PasswordAuthentication yes

在Ubuntu中重启ssh服务

sudo service ssh --full-restart

执行ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa浮动密钥,注意不要采用dsa加密,它不安全也不再被扶持。

执行ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@localhost将公钥发送至Ubuntu,时期要求输入二遍(之后就不须要了)客商的密码。

时至明天免密服务黄金时代度铺排完成。运营ssh localhost翻开是或不是没有必要密码登陆,若现身难题,请查看输出到显示屏的日志。

第三步:安装Hadoop

在配置完ssh后,你能够直接根据官方文档中的表明,在linux情形下安装Hadoop了,这里列出重大步骤。

  • 安装JDK

Hadoop 信任JDK,首先须要安装Java,这里安装Oracle Java 8

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
  • 配置JAVA_HOME

翻开JAVA安装路线

sudo update-alternatives --config java

  Selection    Path                                     Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-8-oracle/jre/bin/java   1081      auto mode
* 1            /usr/lib/jvm/java-8-oracle/jre/bin/java   1081      manual mode

看到JDK路径为/usr/lib/jvm/java-8-oracle

/etc/environment中第生机勃勃行加多如下内容:

JAVA_HOME="/usr/lib/jvm/java-8-oracle"

改过情状变量

source /etc/enviroment
  • 下载Hadoop并解压
cd /opt
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.9.0/hadoop-2.9.0.tar.gz
tar xzvf hadoop-2.9.0.tar.gz
  • 设置HADOOP_HOME路径

/etc/environment文本中首先行增添HADOOP_HOME变量,为了输入指令时的平价着想,你能够参预到PATH情形变量中。

HADOOP_HOME="/opt/hadoop-2.9.0"
PATH="$HADOOP_HOME/bin:..."

source /etc/environment
  • 设置JAVA_HOME路径

修改etc/hadoop/hadoop-env.sh文件中的JAVA_HOME变量

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
  • 以伪布满形式配置Hadoop

修改etc/hadoop/core-site.xml文本内容如下:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

修改etc/hadoop/hdfs-site.xml文本内容如下:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
  • 配置YA凯雷德N(若你使用YA昂科威N作为能源微机)

修改etc/hadoop/mapred-site.xml如下:

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

修改etc/hadoop/yarn-site.xml如下:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
  • 格式化文件系统
bin/hdfs namenode -format
  • 张开 NameNode 和 DataNode 守护进度
sbin/start-dfs.sh
  • 开启YARN
sbin/start-yarn.sh
  • 翻开是或不是运转成功

输入jps命令,若以下进度都运营了,表达运营成功

1984 SecondaryNameNode
2212 ResourceManager
2376 Jps
1738 DataNode
1612 NameNode
2334 NodeManager
  • 开创客户目录
hadoop fs -mkdir /user
hadoop fs -mkdir /user/<username>

由来windows上的hadoop情形就搭建达成了,你能够张开localhost:50070翻开是不是运行成功。

好了,今后您能够利用idea或此外开荒工具进行付出和调节和测量试验了,而不用每回都打包到服务器上运维了(击掌)

大规模错误

  • 顾客权限难题

若你在Ubuntu中以root身份运行了hadoop,何况创建了文件,那么这一个文件就归于root。而在开荒条件中,你是用作其余顾客运路程序的,未有权力访谈该公文,要拜会文件,可经过以下指令改良文件全部者:

sudo hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

OWNER:GROUP就是用户:所属组,举例校勘为manlier:supergroup将文件的全体者改为了supergroup组下的manlier顾客

  • datanode进度未运行

查看logs/hadoop-<username>-datanode-<hostname>.log文件检查错误。

若现身java.io.IOException: Incompatible clusterIDs,则表达您的data进度的集群id与name进度的集群id不相通,清除办法如下:

找到你的hdfs的文件寄存路径,若您未有钦赐,默以为/tmp/hadoop-<username>,深透删除它,重新格式化文件系统,重启hadoop就能够,查看具体原因。

  • 出现 Unable to load native-hadoop library for your platform...

查阅当前是或不是布署好了HADOOP_HOME情状变量

echo $HADOOP_HOME

借使出口为空,你供给在/etc/enviroment文本中设置Hadoop目录:

HADOOP_HOME=your_hadoop_path

并再次更新情状变量

source /etc/enviroment
TAG标签:
版权声明:本文由银河国际点击登录发布于银河国际点击登录,转载请注明出处:Win10上利用子系统搭建hadoop本地开发环境及常见问