hadoop单机配置

1.配置互信,否则在每次启动时,会要求输入密码,且这也是设置随机启动的必要条件。
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

2.检验互信是否配置成功
$ ssh localhost
$ exit

3.解压haddop,以hadoop2.7.3版本为例,使其解压至/hadoop-2.7.3

4.编辑系统环境变量(vi /etc/profile),添加以下定义。
export HADOOP_HOME=/hadoop-2.7.3
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

5.编辑hadoop-env.sh启动环境文件(vim /hadoop-2.7.3/etc/hadoop/hadoop-env.sh),添加JAVA_HOME,如下。
export JAVA_HOME=/jdk1.8.0_101/

6.编辑core-site.xml文件( vim /hadoop-2.7.3/etc/hadoop/core-site.xml ),添加如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

<!– fs.default.name – 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。–>

7.编辑hdfs-sizte.xml文件(vim /hadoop-2.7.3/etc/hadoop/hdfs-site.xml ),添加如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.name.dir</name>
<value>file:///root/hdfs/namenode</value> #等价于<value>/root/hdfs/namenode</value>
</property>

<property>
<name>dfs.data.dir</name>
<value>file:///root/hdfs/datanode</value>
</property>
</configuration>

<!– dfs.replication -它决定着 系统里面的文件块的数据备份个数。对于一个实际的应用,它 应该被设为3(这个数字并没有上限,但更多的备份可能并没有作用,而且会占用更多的空间)。少于三个的备份,可能会影响到数据的可靠性(系统故障时,也许会造成数据丢失)–>
<!– dfs.data.dir – 这是DataNode结点被指定要存储数据的本地文件系统路径。DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值hadoop.tmp.dir, 这个路径只能用于测试的目的,因为,它很可能会丢失掉一些数据。所以,这个值最好还是被覆盖。
dfs.name.dir – 这是NameNode结点存储hadoop文件系统信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用到它。上面对于/temp类型的警告,同样也适用于这里。在实际应用中,它最好被覆盖掉。–>

8.编辑mapred-site.xml(vim /hadoop-2.7.3/etc/hadoop/mapred-site.xml),添加如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
9.编辑yarn-site.xml(vim /hadoop-2.7.3/etc/hadoop/yarn-site.xml),添加如下:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

10.初始化HDFS
$ hdfs namenode -format

11.启动和停止
$ $HADOOP_HOME/sbin/start-all.sh
$ $HADOOP_HOME/sbin/stop-all.sh

12.检查相关节点启动。
http://localhost:8088
http://localhost:50070
http://localhost:50090
http://localhost:50075

● port 8088: cluster and all applications
● port 50070: Hadoop NameNode
● port 50090: Secondary NameNode
● port 50075: DataNode