linux下单机hadoop的安装与配置

1.首先创建好一个CentOS虚拟机,我这里起名为master,名称随意,不固定要求。
2.VMware或Xshell 打开虚拟机,安装配置JDK。不要使用系统自带的openJDK版本。
3.检查防火墙,若防火墙处于running状态,则执行第4和第5步,否则直接进入第6步。

systemctl status firewalld.service

4.关闭防火墙,命令行:

systemctl stop firewalld.service

5.禁用防火墙,命令行:

systemctl disable firewalld.service

6.将下载好的hadoop的tar包上传到根目录下(xshell可以使用rz命令上传)
hadoop下载地址:https://archive.apache.org/dist/hadoop/common/
hadoop下载地址链接
7.将tar包解压到/usr

tar -zxvf hadoop-2.7.3.tar.gz -C /usr

8.将/usr/hadoop-2.7.3重命名为hadoop

mv /usr/hadoop-2.7.3 /usr/hadoop

9.配置hadoop环境变量,命令行:

vim /etc/profile

输入以下内容,保存并退出。

export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

10.将刚才设置的环境变量生效,命令行:

source /etc/profile

11.hadoop安装测试

hadoop

12.开始配置运行环境,在 /usr/hadoop/ 目录下创建3个文件夹,命令行:

mkdir /usr/hadoop/tmp
mkdir -p /usr/hadoop/hdfs/name
mkdir /usr/hadoop/hdfs/data

13.进入 /usr/hadoop/etc/hadoop 目录,里面存放的是hadoop的配置文件,接下来要修改这里面一些配置文件,命令行:

cd /usr/hadoop/etc/hadoop

14.其中hadoop-env.sh和yarn-env.sh两个文件需要指定JAVA目录。(按照自己的位置来设定)(先vim进去,然后添加下面设定)

vim hadoop-env.sh  / vim yarn-env.sh  #(分别进行)
export JAVA_HOME=/usr/java

15.修改core-site.xml配置文件,命令行:

vim core-site.xml

在configuration标签中,添加如下内容,保存并退出,注意这里配置的hdfs:master:9000是不能在浏览器访问的。

    <property>
		<name> fs.default.name </name>
		<value>hdfs://master:9000</value>
		<description>指定HDFS的默认名称</description>
	</property>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master:9000</value>
		<description>HDFS的URI</description>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/usr/hadoop/tmp</value>
		<description>节点上本地的hadoop临时文件夹</description>
	</property>

16.修改hdfs-site.xml配置文件,命令行:

vim hdfs-site.xml

在configuration标签中,添加如下内容,保存并退出。

<property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/hadoop/hdfs/name</value>
		<description>namenode上存储hdfs名字空间元数据 </description>
</property>
<property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/hadoop/hdfs/data</value>
		<description>datanode上数据块的物理存储位置</description>
</property>
<property>
        <name>dfs.replication</name>
        <value>1</value>
		<description>副本个数,默认是3,应小于datanode机器数量</description>
</property>

17.将mapred-site.xml.template文件复制到当前目录,并重命名为mapred-site.xml,命令行:

cp mapred-site.xml.template mapred-site.xml

18.修改 mapred-site.xml 文件

vim mapred-site.xml

在configuration标签中,添加如下内容,保存并退出。

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
		<description>指定mapreduce使用yarn框架</description>
</property>

19.修改 yarn-site.xml 配置文件,命令行:

vim yarn-site.xml

在configuration标签中,添加如下内容,保存并退出。(注:其中的master可根据实际替换)

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
		<description>指定resourcemanager所在的hostname</description>
</property>
<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
		<description>NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序</description>
</property>

20.修改hostname。
在master机器上,将localhost改为master,保存并退出。
注意,修改hostname后重启虚拟机。

vim /etc/hostname

21.修改hosts文件,其作用是将一些常用的网址域名与其对应的IP地址建立一个关联,当用户在访问网址时,系统会首先自动从Hosts文件中寻找对应的IP地址。

vim /etc/hosts

host文件添加以下内容

[自己的ip地址]   master

22.在master机器上创建一个无密码公钥,-t是类型的意思,dsa是生成的密钥类型,-P是密码,’’表示无密码,-f后是秘钥生成后保存的位置。

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

在master机器上将公钥id_dsa.pub添加进keys,这样就可以实现无密登陆ssh。

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

在master机器上测试免密码登陆。

ssh master

如果有询问,则输入 yes ,回车

23.赋予密钥文件权限

chmod 600 ~/.ssh/authorized_keys

24.在master机器上,格式化namenode,第一次使用需格式化一次,之后就不用再格式化,如果改一些配置文件了,可能还需要再次格式化。

hdfs namenode -format

25.在master机器上,进入hadoop的sbin目录,启动hadoop,命令行:

cd /usr/hadoop/sbin
./start-all.sh

遇到确认操作,输入yes,回车。

26.输入 jps 查看当前java的进程,该命令是JDK1.5开始有的,作用是列出当前java进程的PID和Java主类名,nameNode节点除了JPS,还有5个进程,启动成功。
分别有:

  • NameNode 名称节点
  • DataNode 数据节点
  • ResourceManager 资源管理器
  • NodeManager 节点管理器
  • SecondaryNameNode 次要名称节点

27.在浏览器访问nameNode节点的8088端口和50070端口可以查看hadoop的运行状况。
28.在master机器上,进入hadoop的sbin目录,输入 ./stop-all.sh 即可关闭hadoop

./stop-all.sh

测试文件上传
1.在根目录下创建一个hello.txt测试文本,命令行:

vim hello.txt

2.使用hadoop命令

hadoop fs -put hello.txt /

3.访问【http://[自己的虚拟机IP地址]:50070】,选择【Utilities】下的【Browse the file system】。


版权声明:本文为m0_49705298原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。