美文网首页
Hadoop安装部署过程

Hadoop安装部署过程

作者: janeeyer111 | 来源:发表于2018-11-17 17:12 被阅读0次

Hadoop安装部署过程

------------

1、配置hosts

------------

#在文件末添加

vim /etc/hosts

...

192.169.1.1 hadoop1

...

192.168.43.128 hadoop1

---------------

2、实现本地免密

---------------

#生成秘钥对(根据提示回车)

ssh-keygen

#将公钥拷贝到免密节点

ssh-copy-id hadoop1

#验证(ssh连接如果没提示输入密码,则免密成功)

ssh hadoop1

如果提示22;则需要安装ssh客户端

apt install openssh-server

如果提示登陆被拒绝,则需要修改配置文件为yes

vim /etc/ssh/sshd_config

重启ssh服务

service ssh restart

-----------------

3、解压相关软件包

-----------------

cd /opt

tar -zxvf jdk1.8.0_111.tar.gz

tar -zxvf hadoop-2.7.3.tar.gz

---------------

4、增加环境变量

---------------

#在文件末尾添加

vim /etc/profile

...

export JAVA_HOME=/opt/jdk1.8.0_111

export HADOOP_HOME=/opt/hadoop-2.7.3

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#使添加环境变量生效

source /etc/profile

#验证

java -version

hadoop version

-------------

5、配置hadoop

-------------

cd hadoop-2.7.3/etc/hadoop

vim hadoop-env.sh

export JAVA_HOME=/opt/jdk1.8.0_111

将 slave 的主机名写入到该文件(这里是单节点伪分布式所以只需要加入本机host)

vim slaves

hadoop1

vim core-site.xml

...

<configuration>

  <property>

    <name>fs.defaultFS</name>

    <value>hdfs://hadoop1:9000</value>

  </property>

 <!-- 指定hadoop运行时产生文件的存储目录 -->

  <property>

    <name>hadoop.tmp.dir</name>

    <value>file:/usr/local/hadoop/tmp</value>

    <description>Abase for other temporary directories.</description>

  </property>

</configuration>

vim hdfs-site.xml

...

<configuration>

  <property>

    <name>dfs.namenode.http-address</name>

      <value>hadoop1:50070</value>

  </property>

  <property>

    <name>dfs.namenode.secondary.http-address</name>

      <value>hadoop1:50090</value>

  </property>

  <!-- 指定HDFS副本的数量 -->

  <property>

    <name>dfs.replication</name>

      <value>1</value>

  </property>

  <property>

    <name>dfs.namenode.name.dir</name>

      <value>file:/usr/local/hadoop/tmp/dfs/name</value>

  </property>

  <property>

    <name>dfs.datanode.data.dir</name>

      <value>file:/usr/local/hadoop/tmp/dfs/data</value>

  </property>

</configuration>

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

vim mapred-site.xml

...

<!-- 指定mr运行在yarn上 -->

<configuration>

  <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

  </property>

  <property>

    <name>mapreduce.jobhistory.address</name>

    <value>hadoop1:10020</value>

  </property>

  <property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>hadoop1:19888</value>

  </property>

</configuration>

vim yarn-site.xml

...

<configuration>

  <property>

    <name>yarn.resoursemanager.hostname</name>

    <value>hadoop1</value>

  </property>

<!-- reducer获取数据的方式 -->

  <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

  </property>

</configuration>

-------------

6、启动hadoop

-------------

#注意:

如果以前启动过hadoop,再次格式化,需要将

/usr/local/hadoop/tmp

/usr/local/hadoop/tmp/dfs/name

删除掉,也可以直接删除

/usr/local/hadoop 这个目录,删除命令为:

rm -rf /usr/local/hadoop/

#首次启动需要先在master节点(这里的hadoop1)上执行namenode的格式化操作,成功的话,会看到 "successfully formatted"和"Exitting with status 0"的提示,若为"Exitting with status 1"则是出错。

hdfs namenode -format

#完成 Hadoop 格式化后,在namenode节点上启动Hadoop各个服务,使用jps命令验证相关服务是否运行起来。

start-dfs.sh

jps

**************

58993 NameNode

59601 Jps

59459 SecondaryNameNode

59304 DataNode

**************

start-yarn.sh

jps

**************

58993 NameNode

59649 ResourceManager

59459 SecondaryNameNode

60070 Jps

59767 NodeManager

59304 DataNode

**************

mr-jobhistory-daemon.sh start historyserver

jps

**************

58993 NameNode

59649 ResourceManager

60147 Jps

59459 SecondaryNameNode

59767 NodeManager

59304 DataNode

60108 JobHistoryServer

**************

-------------

7、验证hadoop

-------------

#另外还需要在Master节点(hadoop1)上通过命令

#查看DataNode是否正常启动,如果Live datanode不为0,则说明集群启动成功

HDFS管理界面(NameNode结点) http://hadoop1:50070

(SecondaryNameNode)        htpp://hadoop1:50090

MapReduce管理界面          http://hadoop1:8088

/opt/hadoop-2.7.3/logs/mapred-root-historyserver-hadoop3.out

------------------

hadoop平台性能调优

------------------

vim yarn-site.xml

...

  <property>

    <name>yarn.scheduler.maximum-allocation-mb</name>

    <value>1024</value>

  </property>

...

vim mapred-site.xml

...

  <property>

    <name>mapreduce.map.memory.mb</name>

    <value>2048</value>

  </property>

  <property>

    <name>mapreduce.map.java.opts</name>

    <value>-Xmx768m</value>

  </property>

  <property>

    <name>mapreduce.reduce.memory.mb</name>

    <value>2048</value>

  </property>

  <property>

    <name>mapreduce.reduce.java.opts</name>

    <value>–Xmx1536m</value>

  </property>

...

-------

8、实例

-------

#查看帮助命令

hdfs dfs -help

#创建一个数据导入文件夹

hdfs dfs -mkdir -p /data/input

-p:可以创建多级目录

#在本地创建两个文本,并加入有规律内容

echo "hello world">test1.txt

echo "hello hadoop">test2.txt

#将文件上传至hdfs上

hdfs dfs -put ./*.txt /data/input

#查看hdfs上的文件

hdfs dfs -ls /data/input/

#运行wordcunt(grep)方法进行计算

hadoop jar /opt/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /data/input/ output

#hadoop jar /opt/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep /data/input/ output 'hello'

#查看运行结果

hdfs dfs  -cat output/*

#将结果取回本地

hdfs dfs -get output ./output

#删除hdfs上的文件或文件夹

hdfs dfs -rm -r output

相关文章

网友评论

      本文标题:Hadoop安装部署过程

      本文链接:https://www.haomeiwen.com/subject/wylifqtx.html