Linux中hadoop安装及配置详解

安装前提:
1.ssh软件安装
2.ssh免密设置成功
3.Jdk1.7以上版本安装
4.Path设置,将jdk的bin目录设置到path中
5.Hadoop软件下载并解压。
6.对Hadoop文件解压文件夹下的hadoop-2.7.3/etc/hadoop目录下的hadoop-env.sh 、core-site.xml、hadfs-site.xml、mapred-site.xml、yarn-site.xml文件进行修改。
7.配置Hadoop环境变量
8.运行Hadoop
9.运行Hadoop实例
SSH免密设置
(一)先确定当前系统ssh指令是否可执行,具体过程为:
在控制台中敲击出ssh,然后连续按两次tab键,如果安装ssh软件,即可以在控制台中观察到如下提示:
这里写图片描述
如果未安装ssh软件,自行百度安装教程,此处不赘述。
(二)继续在控制台中敲击ssh-keygen -t rsa (注意空格)
这里写图片描述
连续enter键,直到出现以#号出现的控制行。
(三)通过命令ls -al ~/.ssh查看ssh文件夹下的内容:
这里写图片描述
可发现文件id_rsa以及id_rsa.pub。如果未发现,请重试上述操作,或者自行百度原因。
(四)使用命令 cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys 将id_rsa.pub文件的内容写入authorized_keys中,此时ssh免密设置已完成。
SSH免密设置验证
使用ssh localhost登入
这里写图片描述
此时免密设置已成功。
Jdk1.8安装及PATH配置
(一)从网址http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html中下载jdk1.8,将压缩包通过winscp上传到本机。或者用wget 指令在该网址中下载jdk1.8 至当前目录。(前提是已经配置好并能网络连接)
(二)使用tar xvzf [压缩文件所在路径] -C [解压文件路径] 解压下载好的jdk。
(三)配置系统path :使用指令vi /etc/profile打开编辑界面
这里写图片描述
在如图处添加JAVA_HOME=‘jdk解压路径’
(四)source /etc/profile更新profile文件的修改
(五)echo $JAVA_HOME 查看配置以后的值
这里写图片描述
(六)使用指令export PATH=$PATH:$JAVA_HOME/bin,将PATH设置
(七)查看修改以后的path值
这里写图片描述
这个只是临时设置PATH,如果想永久设置PATH,请继续看步骤八
(八)在/etc/profile 继续加入export PATH=$PATH:$JAVA_HOME,然后保存修改,并在命令行中输入source /etc/profile。当文件路径更改时,只用修改JAVA_HOME的值即可。
(九)在命令行中输入java,回车,可观察到,java指令信息如下:这里写图片描述
即代表配置成功
HADOOP安装配置及运行测试
(一)去官网https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/ 下载hadoop-2.7.3.tar.gz ,大小204M。
(二)和jdk安装一样,将其解压到指定目录下即可。
(三)在/etc/profile中添加HADOOP_HOME=’解压hadoop的目录路径’,如下图所示。
这里写图片描述
保存并退出后,source /etc/profile系统重新加载配置
(四)echo $PATH 查看path值
这里写图片描述
可发现hadoop及jdk的bin路径已配置完毕。同样键入指令hadoop 或者hdfs,如下:
这里写图片描述这里写图片描述
即表明,配置成功。
(五)进入hadoop解压目录(cd $HADOOP_HOME)输入 vi etc/hadoop/hadoop-env.sh
进入编辑模式
查找并修改 export JAVA_HOME=’此处为安装(解压)jdk的路径’,如下图所示。
这里写图片描述
保存并退出。
(六)修改核心文件vi etc/hadoop/core-site.xml ,进入并按照下图添加相应属性。
这里写图片描述
保存并退出。其中注释地方可自行修改主机名和端口以及目录。
代码如下:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>

(七)修改文件vi etc/hadoop/hdfs-site.xml,加入如下代码:
这里写图片描述
其中dfs.namecode.name.dir 所对应的value值可以指定存放目录,如果为多个目录请用逗号隔开。同理于dfs.namecode.data.dir。
代码如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/tmp/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/tmp/hdfs/data</value>
</property>
</configuration>

(八)修改文件vi etc/hadoop/mapred-site.xml.template ,如下加入代码,并使用指令cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
这里写图片描述
代码如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

(九)修改文件vi etc/hadoop/yarn-site.xml,如下加入代码
这里写图片描述
代码如下:
<configuration>
<!-- Site specific YARN configuration properties -->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</configuration>

配置基本完成。
(十)运行HADOOP :
A.键入命令 hdfs namenode -format 初始化namecode
B.运行sbin目录下的start-all.sh
其中会分别需要键入yes与Y。
(十一)启动完毕,可以通过浏览器访问http://localhost:8088以及50070两个端口,并会分别在浏览器中看到
这里写图片描述
这里写图片描述
如果,用远程访问该hadoop服务器,请先确认服务器是否联网,然后关闭服务器的防火墙(暂时关闭防火墙指令:service firewalld stop,永久关闭:systemctl disable firewalld.service),
然后远程端通过服务器ip访问,即将localhost改为网段中服务器的ip。
(十二)HADOOP实例运行
A.进入hadoop安装目录。
B.通过指令 hdfs dfs -mkdir -p /user/本机用户名/iput
C.通过指令查看是否创建成功,如下图所示:
这里写图片描述
警告可忽略。(上述的output目录不予考虑,之后会解释。)
D.通过指令 hdfs -put $HADOOP_HOME/etc/hadoop/*.xml /user/root/input 将需要统计的文件上传到之前创建的input文件夹中。可查看到如下的文件:
警告可忽略。
E.运行测试jar 。键入代码hadoop jar share/hadoop/mapreduce/
hadoop-mapreduce-examples-2.7.3.jar grep input output ‘[a-z.]+’ 注意空格,此处的output就是上述图片中看到的/user/root/output文件夹。
F.查看output文件夹下信息。
这里写图片描述
结语:
如果结果和上图类似,hadoop的demo在linux上搭建已完成。Ps:如果过程中出现错误信息,请查看hadoop安装目录中的logs文件夹里面的cat logs/hadoop-root-datanode-localhost.localdomain.log ,搜寻error来处理异常。最后,祝你更上一层楼!

引用块内容http://www.cnblogs.com/landed/p/6831758.html