代码改变世界

安装hadoop

2019-05-12 21:51  loserQiu  阅读(163)  评论(0编辑  收藏  举报

hadooop安装依赖java环境

安装java

tar -zxvf jdk-9.0.1_linux-x64_bin.tar.gz
mv jdk-9.0.1 /usr/local/java
vim /etc/profile
//在文本的末尾添加如下内容:
JAVA_HOME=/usr/local/java
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

source /etc/profile

java -version

 

安装Hadoop

tar -zxvf hadoop-2.7.7.tar.gz

mv hadoop-2.7.7 /usr/local/hadoop

配置hadoop伪分布式 ,修改5个文件 hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/local/java //修改

vim /usr/local/hadoop/etc/hadoop/core-site.xml

#添加

<configuration>

  <!--用来指定hdfs的老大(NameNode)的地址-->

  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:8020/value>
  </property>

  <!--用来指定Hadoop运行时产生文件的存放目录-->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/tmp</value>
  </property>
</configuration>

vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

#添加

<configuration>
  <!-- 指定HDFS保存数据副本数量 -->
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template  /usr/local/hadoop/etc/hadoop/mapred-site.xml

vim /usr/local/hadoop/etc/hadoop/mapred-site.xml 

#添加

<configuration>

  <--告诉hadoop以后MR运行在yarn上-->

  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>

</configuration>

vim /usr/local/hadoop/etc/hadoop/yarn-site.xml 

<configuration>

  <!-- NodeManager获取数据的方式是shuffle -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>

</configuration>

#将Hadoop添加到环境变量中
vim /etc/profile

export HADOOP_HOME=/usr/local/hadoop

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

source /etc/profile

初始化

/usr/local/hadoop/bin/hadoop namenode -format

/usr/local/hadoop/bin/hdfs namenode -format

#启动  需要多次输入密码(登录ssh的密码),输入密码的原因和ssh生成秘钥有关,

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

#启动顺序:NameNode,DateNode,SecondaryNameNode,JobTracker,TaskTracker

关闭命令:/usr/local/hadoop/sbin/stop-all.sh

关闭顺序性:JobTracker,TaskTracker,NameNode,DateNode,SecondaryNameNode[it]

使用jps查看进程情况

jps(jps 在Linux/unix平台上简单察看当前java进程的一些简单情况),如果有以下进程则表示测试通过
3887 Jps (java进程)
3449 SecondaryNameNode (相当于NameNode的助理)
3263 DataNode (hdfs部门的小弟,负责存放数据)
3138 NameNode (hdfs部门的老大)
3579 ResourceManager (yarn部门的老大,yarn负责资源管理)
3856 NodeManager (yarn部门的小弟,可以一个,集群的话会有很多)

使用浏览器进行查看,是否搭建成功
http://192.168.100.61:50070 ( hdfs管理界面)

 


http://192.168.100.61:8088 (yarn管理界面)

 

#解决启动和关闭需要输入密码问题

cd ~/.ssh

ssh-keygen -t rsa //生成了id_rsa  id_rsa.pub

touch authorized_keys

cat id_rsa.pub >> authorized_keys

如果是集群 比如有一个linux机器ip为192.168.100.62

ssh-copy-id 192.168.100.62 //实际是复制authorized_keys 到 192.168.100.62