一、安装JDK
1 去oracle官网下载,地址:
2. 解压 tar -zxvf jdk-8u111-linux-x64.tar.gz
3. 移动到自己想放的位置:
mkdir /usr/lib/jdk
mv jdk1.8.0_111 /usr/lib/jdk/jdk1.8
4.设置环境变量:
方案一: 修改全局配置文件,作用于所有用户:sudo gedit /etc/profile
export JAVA_HOME=/usr/lib/jdk/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:$PATH
方案二:修改当前用户配置文件,只作用于当前用户:sudo gedit ~/.bashrc 设置与上一样(我只在~、。bashrc中起作用,原因不详)
5.使修改的配置立刻生效:source /etc/profile 或者 source ~/.bashrc
6.检查是否安装成功:java -version
二、安装并配置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,再输入密码,就应该可以登录了。但是每次输入比较繁琐,如果是集群那就是灾难了,所以要配置成免密码登陆的方式。
- 生成公钥私钥,将在~/.ssh文件夹下生成文件id_rsa:私钥,id_rsa.pub:公钥
$ ssh -keygen -t rsa
一直回车即可
- 导入公钥到认证文件,更改权限:
(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和密码,之后就不需要了。
下载hadoop2.x版本的安装包
1.我选择的是版本是Hadoop 2.7.7,这是下载安装报的地址:http://mirror.bit.edu.cn/apache/hadoop/common/
2.解压、移动到我想要放置的文件夹
mv ./hadoop-2.7.7.tar.gz /bin/local
tar -zxvf hadoop-2.7.7.tar.gz
mv hadoop-2.7.7. hadoop
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 /usr/local/hadoop
sudo chown -R rongt:hadoop /usr/local/hadoop //否则ssh会拒绝访问
4.修改配置文件,和JDK的安装一样,可以选择修改哪个文件。这里修改 sudo gedit /etc/profile 或者 sudo gedit ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop/
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
#使配置文件生效
source /etc/profile 或者 source ~/.bashrc
5.测试是否配置成功
hadoop version
hadoop@welin:/usr/local/hadoop$ hadoop version
Hadoop 2.7.7
Subversion Unknown -r c1aad84bd27cd79c3d1a7dd58202a8c3ee1ed3ac
Compiled by stevel on 2018-07-18T22:47Z
Compiled with protoc 2.5.0
From source with checksum 792e15d20b12c74bd6f19a1fb886490
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.7.jar
6.hadoop单机配置(非分布式模式)
hadoop默认是非分布式模式,不需要进行其它配置。可以测试demo来观察是否配置正确。下面这个例子用来统计README.txt 文件的单词数
#进入hadoop主目录
cd /home/rongt/Software/hadoop/hadoop-3.1.2
mkdir input
#里面有个README.txt
cp README.txt input
#注意改成自己的Hadoop版本
bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-3.1.2-sources.jar org.apache.hadoop.examples.WordCount input output
(终于成功了,可成功访问localhost:8088或,但只是单机配置,以后有需要可配置伪分布模式)
localhost:8088localhost:50070