在安卓手机安装使用 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 源码并解压
想要安全的话最好校验一下安装包
一些命令问题
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 对应机器名
参考
原文地址:https://toyourheart163.github... 思否镜像
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。