关于hadoop:hadoop-在-termux-安装配置的问题

在安卓手机装置应用 hadoop 遇到的问题

因为新的 termux 在安卓 10 装置不了 Java ,所以在 termux 里装置了 fedora 零碎。还有问题,更换了 debian 零碎。

筹备

  • 在 debian 中应用 apt 装置 java

    useradd hadoop  # 新建用户并给予明码
    passwd hadoop
    # apt install sudo # 可先项
    # vi /etc/sudoers
    # echo "hadoop ALL=(ALL) ALL" >> /etc/sudoers
    alias pk="apt install -y"
    pk openjdk-11-jdk
    pk ssh pdsh  # ssh 登陆用
    su - hadoop
    # 配置变量
    vi ~/.bashrc  # ~/.zshenv or ~/.zshrc or ~/.profile.d  备选装置 zsh
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64
    export PATH=$JAVA_HOME/bin:$PATH
    :wq
  • 或间接下载 openjdk 版的 java
    JAVA_HOME 是解压后的根目录

配置 ssh

# pk ssh pdsh
export PDSH_RCMD_TYPE=ssh # 配置变量,不配置会呈现问题
pdsh -q -w localhost | grep Rcmd  # 查看是否 ssh 默认的如同是 rsh ,下面一个命令用来批改

# 配置免明码登陆 ssh ,密钥登陆
ssh-keygen
echo ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# ssh-copy-id
# sed -i 's/^Port/Port 8222/' /etc/ssh/sshd_config
vi /etc/ssh/sshd_config  # 批改 sshd 端口 因为手机里不能用 22 端口,也防止与 termux 的 8022 抵触
Port 8222
PubkeyAuthentication yes
:wq

# root 用户启动 sshd
/usr/sbin/sshd  # ***容易出问题的中央

# 测试免明码登陆
ssh localhost -p 8222
# pkill sshd 

配置 /root/.bashrc 主动启动 sshd

[[ -n $SSH_CONNECTION ]] && /usr/sbin/sshd

下载 hadoop 源码并解压

hadoop download

想要平安的话最好校验一下安装包

一些命令问题

which  jps  # in java home bin
jps  # 查看启动了哪些服务,是 namenode 等等
cd $HADOOP_HOME
find . -name "*.cmd" | xargs rm  # 删除 window 版的 cmd 防止敲命令的麻烦
bin/hdfs namenode -format  # 容易出错点,必须格式化 hadoop 文件系统

git 治理,防止批改谬误

pk git  # 装置 git 版本治理 HADOOP_HOME/etc 文件夹的内容
cd etc
git init && git add . && git commit -m "init"  # 须要配置 email name
git commit -m "init"  # 再次提交首次批改
cd -

如果要装置多个版本的 hadoop ,须要批改 core-site.xml 的缓存地位

vi etc/hadoop/core-site.xml # 9000 端口容易出问题,能够把端口设置为 9001

...
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9001</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/tmp/hadoop-3.3.0</value>
    </property>

批改 hadoop 中的 sshd 端口

vi etc/hadoop/hadoop-env.sh 
export HADOOP_SSH_OPTS="-p 8222"

上面这些命令可能会在 /tmp 产生文件 *_hadoop jetty- *.pid 当产生谬误删除掉这些

# 启动后 能够用浏览器拜访 http://localhost:9870 
sbin/start_dfs.sh  # 启动 hdfs hadoop distu file system 分布式文件系统
jps  # 查看状态
sbin/stop_dfs.sh  # stop

# 浏览器 http://localhost:8088
sbin/start_yarn.sh
sbin/stop_yarn.sh

hdfs 命令

bin/hdfs dfs -ls  # - 前面的仿佛与 linux 系统命令一样

分布式部署,集群

copy HADOOP_HOME 到其它机器
copy 配置文件
ssh-copy-id

批改 /etc/hosts 对应机器名

参考

w3cschool
hadoop

原文地址:https://toyourheart163.github… 思否镜像

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理