Hadoop 2.6.1安装及设置

版权声明:希望我的文章对您的工作有所帮助,转载请随意。 https://blog.csdn.net/just4you/article/details/79952167

环境及软件版本

  1. CentOs 7
  2. hadoop-2.6.1.tar.gz

Hadoop的安装

解压文件

将hadoop-2.6.1.tar.gz保存在/usr/local/src目录下,解压:

tar -zxvf hadoop-2.6.1.tar.gz

执行后,Hadoop会被解压到当前目录:如:/usr/local/src/hadoop-2.6.1

设置Hadoop环境变量

  1. 打开 ~/.bashrc文件:
vim ~./bashrc
  1. 文档最后追加如下内容,保存退出。
export HADOOP_HOME=/usr/local/src/hadoop-2.6.1
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  1. 使Hadoop设置生效:
source ~/.bashrc
  1. 查看Hadoop版本信息:
hadoop version

注意:version 之前没有“-”

Hadoop参数设置

进入/usr/local/src/hadoop-2.6.1/etc/hadoop目录对以下文件进行编辑

  1. slaves
  2. hdfs-site.xml
  3. core-site.xml
  4. mapered.site.xml.template
  5. yarn-site.xml

修改slaves文件

删除原有内容,修改为:

slave1
slave2

修改hdfs-site.xml

  1. 在hadoop-2.6.1下创建临时目录:
mkdir tmp
  1. 在configuration标签中添加内容:
<configuration>
	<property>
		<name>dfs.namenode.secondary.http-address</name>
         	<value>master:50090</value>
        </property>
        <property>
        	<name>dfs.replication</name>
            <value>2</value>
	    </property>
        <property>
	    	<name>dfs.namenode.name.dir</name>
            <value>file:/usr/local/src/hadoop-2.6.1/tmp/dfs/name</value>
	    </property>
        <property>
		    <name>dfs.datanode.data.dir</name>
            <value>file:/usr/local/src/hadoop-2.6.1/tmp/dfs/data</value>
      	</property>
</configuration>

修改core-site.xml

添加内容:

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://192.168.253.100:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/usr/local/src/hadoop-2.6.1/tmp</value>
	</property>
</configuration>

fs.defaultFs的value值以master主机的IP为准

将mapred-site.xml.templates改名为mapred-site.xml并修改

<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
	<property>
		<name>mapreduce.jobhistory.address</name>
		<value>master:10020</value>
	</property>
	<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>master:19888</value>
	</property>
</configuration>

修改yarn-site.xml

<configuration>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>master</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>

Hadoop在子节点上的设置

将修改完成的hadoop-2.6.1目录打包并复制到各个slave节点

tar -zcf ./hadoop-master.tar.gz ./hadoop-2.6.1
scp -rp hadoop-master.tar.gz slave1:/usr/local/src
scp -rp hadoop-master.tar.gz slave2:/usr/local/src

在各个slave节点上解压hadoop-master.tar.gz

tar -zxvf hadoop-master.tar.gz

初始化及测试

  1. 在master节点上执行namenode格式化
#hdfs namenode -format
  1. 如果提示命令找不到就是PATH中设置的Hadoop相关环境变量不正确
  2. 此命令在hadoop-2.6.1/bin下
  1. 启动进程
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
  1. 使用jps查看所有守护进程启动情况
jps -l

显示结果如下:

4900 org.apache.hadoop.hdfs.server.namenode.NameNode
5064 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode
5518 org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer
5202 org.apache.hadoop.yarn.server.resourcemanager.ResourceManager
8508 sun.tools.jps.Jps

jps命令在JAVA_HOME/bin下

  1. 测试
hadoop fs -ls /

首次使用时,目录为空。

  1. 复制文件到dfs并验证是否复制成功
//创建test.txt文件并复制到dfs的根目录
hadoop fs -put ~/test.txt /

//验证是否成功
hadoop fs -ls /

//打开test.txt文件
hadoop fs -cat /test.txt

复制出错,有可能是防火墙的问题,在三台主机上关闭防火墙再试(systemctl stop firewalld)。

  1. 关闭进程
stop-yarn.sh
stop-dfs.sh
mr-jobhistory-deamon.sh stop historyserver

其他

  1. 查看DataNode节点是否正常
hdfs dfsadmin -report

常见问题:

运行时提示:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
  1. 修改~/.bashrc,添加:
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
  1. 将/usr/local/src/hadoop-2.6.1/lib/native目录下的文件复制到/usr/local/src/hadoop-2.6.1/lib目录

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭