第一步:安装jdk
我的linux版本是centos7,使用最简单的安装方式,这里首先说一下,由于系统会预装openjdk版本等其他各种版本,首先要做的是清除这些版本,然后iu安装oracle的jdk版本
1.1 查看所有jdk版本并删除其他jdk版本
rpm -qa | grep java
这里可以看到所有的jdk版本,我建议的做法是将所有的jdk版本都铲除,
rpm -e —nodeps 『jdk版本』
这里有一个小技巧,就是在终端中复制的操作是选中之后摁鼠标中健
删除完所有的jdk版本后去官网下载jdk,保存,然后解压,解压位置我的是在/usr/java。
tar -zxvf jdk1.7.0_79.tar.gz -C /usr/java
解压并且移动到/usr/java下。
配置环境变量
vim /etc/profile,按i进入编辑模式,在最后面添加JAVA_HOME等属性
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
export CLASSPATH=.: J A V A _ H O M E / l i b / d t . j a r : JAVA\_HOME/lib/dt.jar: JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
配置好之后,先按,后按shift+: ,然后按wq,保存退出编辑,终端:source /etc/profile
java -version
显示正确版本:
java version “1.7.0_79”
Java™ SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot™ 64-Bit Server VM (build 24.79-b02, mixed mode)
说明jdk配置成功。
第二步:安装配置ssh
2.1 安装和基本ssh配置
首先要做的是关闭防火墙,防止防火墙对ssh访问拒绝
查看下防火墙状态:
firewall-cmd --state
若显示运行,则关闭,并设置开机不启动。
systemctl stop firewalld.service;
systemctl disable firewalld.service.
检测防火墙状态:
firewall-cmd --state
显示:no running,配置完成。
一般的linux系统都自带ssh,首先你需要查看ssh是否真的存在:
rpm -qa | grep ssh
显示:
openssh-server-6.6.1p1-11.el7.x86_64
openssh-6.6.1p1-11.el7.x86_64
libssh2-1.4.3-8.el7.x86_64
openssh-clients-6.6.1p1-11.el7.x86_64
类似信息说明ssh已安装。
下面查看ssh服务是否自动启动,使用命令行查看所有默认自启动服务:
systemctl list-unit-files|grep enabled
如果发现sshd服务没有启动,则设置sshd服务自启动
systemctl enable sshd.service
这里要说明以下,centos7的指令换成了新的,ssh指令操作指令都有以下:
systemctl enable sshd.service【设置sshd服务开机自启动】
systemctl disable sshd.service【关闭sshd服务开机自启动】
ystemctl start sshd.service【开始sshd服务】
systemctl stop sshd.service【关闭sshd服务】
systemctl restart sshd.service【重启sshd服务】
reboot后,然后查看端口服务情况:
netstat -lntp
显示如下:
1476/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
1476/sshd
tcp6 0 0 ::1:631 ::😗 LISTEN
ok,配置成功。
2.2 配置ssh免登陆
配置ssh免登陆首先需要root权限去修改:
/etc/ssh
下的 sshd_config文件
vim sshd_config;
将文件中三个配置解除注释(删除#号)
AuthorizedKeysFile .ssh/authorized_keys
RSAAuthentication yes
PubkeyAuthentication yes
然后保存,退出,重新启动ssh
systemctl restart sshd.service
接下来的步骤必须是普通用户操作,不然会导致ssh配置失败,无法实现免密码登录
原因是你的.ssh文件被放在了/root目录下,根本没有起到作用.
生成密钥:
ssh-keygen
一直cd ~/.ssh
cat id_rsa.pub >> authorized_keys,
ssh localhost验证,输入root密码,之后会出现一个lastLogin,说明成功
第三步:配置hadoop2.2.0
下载hadoop2.2.0,这里给一个apache的所有开元项目的下载位置:achirive.apache.org
找到hadoop包,下载相应版本,我没有下载stable几个包里的,而是选择下载了2.2.0版本
下载后,解压:
cd /; mkdir hadoop;
tar -zxvf hadoop2.2.0.tar.gz -C /hadoop;
首先配置hadoop的环境变量:
vim /etc/profile;
i
export HADOOP_HOME=/hadoop/hadoop-2.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=“-Djava.library.path=$HADOOP_HOME/lib”
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin: H A D O O P _ H O M E / b i n : HADOOP\_HOME/bin: HADOOP_HOME/bin:HADOOP_HOME/sbin:$HADOOP_HOME/lib
最后的配置完整如下:
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin: H A D O O P _ H O M E / b i n : HADOOP\_HOME/bin: HADOOP_HOME/bin:HADOOP_HOME/sbin:$HADOOP_HOME/lib
export CLASSPATH=.: J A V A _ H O M E / l i b / d t . j a r : JAVA\_HOME/lib/dt.jar: JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/hadoop/hadoop-2.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=“-Djava.library.path=$HADOOP_HOME/lib”
这里的路径是在java的path基础上追加,以:分割。
esc,shift+:;wq;
然后配置hadoop自身配置
cd /hadoop/hadoop-2.2.0/etc/hadoop
ls
显示:
capacity-scheduler.xml hdfs-site.xml mapred-site.xml
configuration.xsl httpfs-env.sh slaves
container-executor.cfg httpfs-log4j.properties ssl-client.xml.example
core-site.xml httpfs-signature.secret ssl-server.xml.example
hadoop-env.cmd httpfs-site.xml yarn-env.cmd
hadoop-env.sh log4j.properties yarn-env.sh
hadoop-metrics2.properties mapred-env.cmd yarn-site.xml
hadoop-metrics.properties mapred-env.sh
hadoop-policy.xml mapred-queues.xml.template
这里要修改:core-site.xml ,hadoop-env.sh ,hdfs-site.xml ,mapred-site.xml,yarn-site.xml五个。
3.1 core-site.xml
haddop.tmp.dir
/hadoop/hadoop-2.2.0/tmp
fs.default.name
hdfs://localhost:9000
true
3.2 hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_79
这里是重新配置JAVA_HOME
3.3 hdfs-site.xml
dfs.namenode.name.dir
/dfs/nameNodeData
dfs.datanode.data.dir
/dfs/dataNodeData
dfs.checkpoint.ir
/dfs/secondaryNamenodeData
dfs.replication
1
3.4 mapred-site.xml
这里的配置文件并不存在,只存在mapred-site.xml.template,需要重命名
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
mapreduce.framework.name
yarn
3.5 yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
3.6 初始化hdfs
cd /hadoop/hadoop-2.2.0/bin
./hdfs namenode -format
信息中有:Storage directory /dfs/nameNodeData has been successfully formatted.
格式化成功。
3.7 开启hdfs服务,开启yarn服务
cd /hadoop/hadoop-2.2.0/sbin
./start-dfs.sh
这里由于没有配置ssh免密码登陆,所以会多次输入密码
./start-yarn.ssh
这里由于没有配置ssh免密码登陆,所以会多次输入密码
验证:
localhost:50070 --[dfs]
localhost:8088–[yarn]
能打开就算配置成功
第四步:配置eclipse与hadoop集成