hadoop 在 termux 安装配置的问题

Mikele

在安卓手机安装使用 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... 思否镜像
阅读 119
4 声望
1 粉丝
0 条评论
你知道吗?

4 声望
1 粉丝
宣传栏