Kali Linux 安装搭建 hadoop 平台 详细教程

1)前期环境准备:(虚拟机、jdk、ssh)

2)SSH相关配置

安装SSH Server服务器:apt-get install openssh-server

更改默认的SSH密钥
cd /etc/ssh
mkdir ssh_key_backup
mv ssh_host_* ssh_key_backup

创建新密钥:dpkg-reconfigure openssh-server

允许 SSH Root 访问,修改SSH 配置文件 /etc/ssh/sshd_configvim /etc/ssh/sshd_config

重启SSH:service ssh restart

查看是否安装成功:ssh -V

SSH登录本机:ssh localhost

若是登陆失败提示权限不足:
sudo passwd root #注意此处的root为当前登录本机所在的用户名,不一定是root
sudo service ssh restart
ssh localhost

SSH无密登录:

退出刚才的ssh localhost:exit
cd ~/.ssh/
ssh-keygen -t rsa #这里一直回车就行
cat ~/.ssh/id_rsa.pub >> ./authorized_keys

最后,SSH授权完成,再次ssh localhost 则不再需要密码了,也不再影响伪分布hadoop启动。

3)安装Hadoop

首先在官网上下载压缩包(版本3.2.2)。然后将压缩包拖进自己喜欢的目录(个人是/home/jay17)。

1、之后创建一个空的文件夹,用来解压hadoop
mkdir /home/Hadoop

2、解压,-C 指定解压路径到创建的文件夹路径。
tar zxvf hadoop-3.2.2.tar.gz -C /home/jay17/Hadoop/

3、授权,使文件夹具有读写文件的权利,否则直接影响其他相关操作,必须要执行!!
chown -R root /home/jay17/Hadoop/hadoop-3.2.2/

4、检测Hadoop是否解压安装正确:
cd /home/jay17/Hadoop/hadoop-3.2.2/
./bin/hadoop version

遇到报错说java环境变量不存在。

5、解决方法如下:

切换目录: cd etc/hadoop

执行:vim hadoop-env.sh

修改java_home路径和hadoop_conf_dir路径为具体的安装路径,例如:
export JAVA_HOME=/usr/local/jdk1.8.0_212
export HADOOP_CONF_DIR=/home/jay17/Hadoop/hadoop-3.2.2/etc/hadoop

重新加载使修改生效:source hadoop-env.sh

6、回去检测Hadoop,已经解压安装!
cd /home/jay17/Hadoop/hadoop-3.2.2/
./bin/hadoop version

4)配置Hadoop环境变量

与java环境变量的配置类似,用编辑器打开.bashrc文件(vim /root/.bashrc),保存修改后,执行source /root/.bashrc命令使其生效:
export HADOOP_HOME=/home/jay17/Hadoop/hadoop-3.2.2
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

如果source /root/.bashrc命令如果遇到报错如下:同时也没有达到预期效果。

我们就把刚刚步骤中的.bashrc换成.zshrc

保存并生效后,便可在任何路径下使用hadoop命令了,使用hadoop version命令验证。出现此前执行./bin/hadoop version命令时所出现的信息,则证明环境变量修改无误。

一定要确定写对后再执行生效,避免不必要的麻烦,如果操作不当,导致命令几乎失效的话,请执行该命令恢复:
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

相关推荐
zfxwasaboy15 小时前
Linux宏clamp(val, lo, hi)的作用
linux·运维·服务器
疯狂成瘾者16 小时前
上传到 GitHub 的步骤总结
大数据·elasticsearch·github
apl35916 小时前
论DevOps、平台工程的核心:配置管理与依赖管理
运维·devops
我爱学习好爱好爱17 小时前
Ansible 常用模块详解:lineinfile、replace、get_url实战
linux·python·ansible
kida_yuan17 小时前
【以太来袭】6. Besu 的 API 与调试体系
运维·区块链
吴声子夜歌18 小时前
TypeScript——基础类型(三)
java·linux·typescript
DA022118 小时前
系统移植-STM32MP1启动详解(BootROM)
linux·bsp·系统移植
春日见18 小时前
自驾算法的日常工作?如何提升模型性能?
linux·人工智能·机器学习·计算机视觉·自动驾驶
李彦亮老师(本人)18 小时前
【Linux系统】Rocky Linux 9.7操作系统简介
linux·运维·服务器·docker·kubernetes
minji...19 小时前
Linux 进程信号(二)信号的保存,sigset_t,sigprocmask,sigpending
linux·运维·服务器·网络·数据结构·c++·算法