系统:Ubuntu16.04
JDK:jdk-8u201
Hadoop:
一、安装JDK
https://www.cnblogs.com/tanrong/p/10641803.html
二、安装并配置ssh免密登录
hadoop需要使用SSH的方式登陆,linux下需要安装SSH。客户端已经安装好了,一般只需要安装服务端就可以了:
在安装之前,还是先查看系统是否已经安装并且启动了ssh。
# 查看ssh安装包情况 dpkg -l | grep ssh # 查看是否启动ssh服务 ps -e | grep ssh
如果没有ssh服务,则安装ssh:
$ sudo apt-get install openssh-server
安装完成,开启服务(一般都是自动开启的,所以如果一切正常的话下面这条可以不用执行)
$ sudo /etc/init.d/ssh start
测试登陆本机 ssh localhost 输入yes,再输入密码,就应该可以登录了。但是每次输入比较繁琐,如果是集群那就是灾难了,所以要配置成免密码登陆的方式。
1. 生成公钥私钥,将在~/.ssh文件夹下生成文件id_rsa:私钥,id_rsa.pub:公钥
$ ssh -keygen -t rsa
一直回车即可
2. 导入公钥到认证文件,更改权限:
(1)导入本机:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(2)导入服务器:(我只是在本机配置的,所以这一步我没做)
首先将公钥复制到服务器:
scp ~/.ssh/id_rsa.pub xxx@host:/home/xxx/id_rsa.pub
然后,将公钥导入到认证文件,这一步的操作在服务器上进行:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
最后在服务器上更改权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
3)测试:ssh localhost 第一次需要输入yes和密码,之后就不需要了。
三、hadoop的安装与配置
1. 官网下载:https://hadoop.apache.org/releases.html Binary download
也可以使用wget命名下载(下载目录是当前目录):
例如:version3.1.2 http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
wget http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
2. 解压、移动到你想要放置的文件夹
mv ./hadoop-3.1.2.tar.gz ~/Software/hadoop
tar -zvxf hadoop-3.1.2.tar.gz
3. 创建hadoop用户和组,并授予执行权限
sudo addgroup hadoop sudo usermod -a -G hadoop xxx #将当前用户加入到hadoop组 sudo gedit etc/sudoers #将hadoop组加入到sudoer
在root ALL=(ALL) ALL后 hadoop ALL=(ALL) ALL ( 我加的是:)
sudo chmod -R 755 /home/rongt/Software/hadoop
sudo chown -R rongt:hadoop /home/rongt/Software/hadoop //否则ssh会拒绝访问
这些都是一般需要的操作,这篇文章还进行了其它的配置,如果遇到问题可以看看,是不是由于这些配置导致的:点这里。
4. 修改配置文件,和JDK的安装一样,可以选择修改哪个文件。这里修改/etc/profile
export HADOOP_HOME=/home/rongt/Software/hadoop/hadoop-3.1.2
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
这篇配置文章还配了很多其它配置,我暂时没有配置,遇到问题,可以做为参考。点这里。
做到这里我运行hadoop version显示无hadoop这条命令,于是我将Java的环境变量和上面Hadoop的环境变量复制到了~/.bashrc
sudo gedit ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre/bin export HADOOP_HOME=/home/rongt/Software/hadoop/hadoop-3.1.2 export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
运行hadoop version 报错 ERROR: /usr/lib/jvm/java-8-oracle/jre/bin/bin/java is not executable.
5. 测试是否配置成功
hadoop version
参考: