Hadoop2.5.0单节点以及多节点安装教程
1、安装jdk
可通过whereis java命令,查看java的安装路径;或者通过which java查看java的执行路径;更新/etc/profile文件,在文件的末尾加入以下命令:
export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_20
export JRE_HOME=/usr/lib/jdk/jdk1.8.0_20/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
使用source /etc/profile命令,更新系统的环境变量
最后,将系统默认jdk修改过来
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk/jdk1.8.0_20/bin/java 300
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/jdk1.8.0_20/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
--------------------------------------分割线 --------------------------------------
--------------------------------------分割线 --------------------------------------
2、安装SSH(集群已安装配置好SSH免密码服务;若是搭建多台节点,需要节点户县之间均能免密码SSH登录)
注意:
Linux系统中$HOME目录下的.ssh目录为用户所有,权限必须为700(只有用户自己可以全权访问)
.ssh目录下的授权文件“authorized_keys”为用户所有,权限必须为644(只有权限为644,才可以实现免密码,否则ssh连接时,仍需要输入密码)
配置两台计算节点之间免密码登录(假设为master免密码登录slave):
1、先生成公钥和私钥:ssh-keygen -t rsa -P ""
2、将master的公钥拷贝至slave的authorized_keys文件中:hduser@master:ssh-copy-id -i $HOME/.ssh/id_rsa.pub hduser@slave
3、将Hdoop安装目录解压至opt目录
tar -zxvf archive_name.tar.gz
4、更改Hadoop目录权限和所有者
sudo chown -R hu:hu hadoop-2.5.0
sudo chmod -R 755 hadoop-2.5.0
5、配置Hadoop(以下为单节点配置,多节点中,也只需要配置主节点的环境变量即可)
在${HADOOP_HOME}/etc/hadoop/hadoop-env.sh中,添加JAVA安装目录:
export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_20/bin/java
设置用户环境变量,以方便使用shell操作hadoop,将以下设置添加至~/.bashrc文件中
export JAVA_HOME=$HOME/java
export HADOOP_DEV_HOME=$HOME/hadoop-0.23.1
export HADOOP_MAPRED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export HADOOP_LOG_DIR=${HADOOP_DEV_HOME}/logs
export PATH=${HADOOP_DEV_HOME}/bin
修改mapred-site.xml
在${HADOOP_HOME}/etc/hadoop/下,将mapred-site.xml.templat重命名成mapred-site.xml,并添加以下内容
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改core-site.xml
在${HADOOP_HOME}/etc/hadoop/中,修改core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000/</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-data/tmp/hadoop-${user.name}</value>
<description>A base for other temporary directories.</description>
</property>
</configuration>
修改yarn-site.xml
在${HADOOP_HOME}/etc/hadoop/中,修改yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
修改hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
修改slaves
在slaves文件中添加你的节点ip或者host;如:master
如果有多个NodeManager,可一次添加到该文件中,每个占一行。