Linux安装配置Hadoop
1.新建hadoop用户
新建hadoop用户。以下的所有操作,都用hadoop用户进行。
生成密钥:ssh-keygen -t rsa
2.下载hadoop
下载hadoop-2.7.3.tar.gz,解压到/usr/local/,进入该目录。
修改./etc/hadoop/hadoop-env.sh,将export JAVA_HOME=${JAVA_HOME}
等式右边替换为实际的Java根目录。
3.非分布式配置
Hadoop 默认模式为非分布式模式,无需进行其他配置即可运行。可以用./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
进行测试。
4.伪分布式配置
在本机上配置hadoop免密码ssh登录:ssh-copy-id hadoop@localhost
./etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop-2.7.3/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
./etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.7.3/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.7.3/tmp/dfs/data</value>
</property>
</configuration>
5.分布式配置
假如有99.1.36.164,99.1.36.165,99.1.36.166想要配置一个集群。3台机器都要先完成步骤1、2,然后进行以下配置。
5.1 配置hosts
修改3台机器的/etc/hosts,添加:
99.1.36.164 bigdata-SZTS-Master
99.1.36.165 bigdata-SZTS-Slave01
99.1.36.166 bigdata-SZTS-Slave02
5.2配置主节点免密码登录子节点
99.1.36.164上执行:
ssh-copy-id hadoop@bigdata-SZTS-Slave01
ssh-copy-id hadoop@bigdata-SZTS-Slave02
5.3修改配置文件
修改3台机器./etc/hadoop下的配置文件。
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata-SZTS-Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop-2.7.3/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata-SZTS-Master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.7.3/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.7.3/tmp/dfs/data</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata-SZTS-Master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata-SZTS-Master:19888</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata-SZTS-Master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
slaves
bigdata-SZTS-Slave01
bigdata-SZTS-Slave02
6.启动集群
以下所有命令都在主节点上执行。
首次启动需格式化hdfs:./bin/hdfs namenode -format
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
启动集群:./sbin/start-dfs.sh
分布式集群还需执行:
./sbin/start-yarn.sh
./sbin/mr-jobhistory-daemon.sh start historyserver
成功的话,执行jps,主节点会看到NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer ,子节点会看到DataNode 、NodeManager。伪分布式主节点和子节点都在一起。
主节点登录http://localhost:50070/,可以看到集群状态。
7.停止集群
主节点上执行:
./sbin/stop-yarn.sh
./sbin/stop-dfs.sh
./sbin/mr-jobhistory-daemon.sh stop historyserver