命令:sudo adduser hadoopUser sudo。如果用户已经在此组内会提示。
添加组Hadoop,并将hadoopUser添加至组hadoop(groups命令可以查看用户所在的组):
su
addgroup hadoop
usermod -a -G hadoop hadoopUser
安装ssh server:sudo apt-get install openssh-server
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys # 加入授权
使用ssh localhost试试能否直接登录
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JRE_HOME=${JAVA_HOME}/jre
下载文件,http://hadoop.apache.org/releases.html,选择2.8.0的binary格式下载。文件名为:hadoop2.8.0..tar.gz。
我们选择将 Hadoop 安装至/usr/local/
sudo tar -zxvf /home/hadoopUser/桌面/hadoop-2.8.0.tar.gz -C /usr/local
cd /usr/local/
sudo mv ./hadoop-2.8.0/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoopUser ./hadoop # 修改文件权限
测试安装是否成功,如果出现命令帮助表示成功:/usr/local/hadoop/bin/hadoop
vim ~/.bashrc(如果事其他的终端,写到相应的配纸文件中去例如我的事zsh 我就要改为~/.zshrc 不然会报错)
打开界面后,在之前配置的JAVA_HOME后面输入:
export HADOOP_INSTALL=/usr/local/hadoop
export PATH= PATH: HADOOP_INSTALL/bin
export PATH= PATH: HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME= HADOOPINSTALLexportHADOOPCOMMONHOME= HADOOP_INSTALL
export HADOOP_HDFS_HOME= HADOOPINSTALLexportYARNHOME= HADOOP_INSTALL
使设置立即生效:source ~/.bashrc
检查是否安装成功,执行命令,如果出现命令帮助表示成功:hdfs
切换至配置文件目录: cd /usr/local/hadoop/etc/hadoop
配置 core-site.xml,执行命令:nano core-site.xml。将文件中的替换为:
<configuration>
<property>
<name>hadoop.tmp.dirname>
<value>file:/usr/local/hadoop/tmpvalue>
<description>Abase for other temporary directories.description>
property>
<property>
<name>fs.defaultFSname>
<value>hdfs://localhost:9000value>
property>
configuration>
配置 hdfs-site.xml,执行命令:nano hdfs-site.xml,修改为:
<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>file:/usr/local/hadoop/tmp/dfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>file:/usr/local/hadoop/tmp/dfs/datavalue>
property>
configuration>
关于Hadoop配置项的一点说明:
虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。
配置yarn-site.xml,执行命令:nano yarn-site.xml,修改为:
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
<value>org.apache.hadoop.mapred.ShuffleHandlervalue>
property>
configuration>
配置mapred-site.xml
从模板文件复制一个xml,执行命令:mv mapred-site.xml.template mapred-site.xml
执行命令:nano mapred-site.xml
将文件修改为
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapred.job.trackername>
<value>localhost:9001value>
property>
configuration>
配置完成后,执行格式化:hdfs namenode -format。倒数第五行出现Exitting with status 0 表示成功,若为 Exitting with status 1 则是出错。
启动hadoop所有的进程:
start-all.sh
stophadoop所有的进程 stop-all.sh
查看各个进程是否正常启动,执行:jps。如果一切正常,将看到下列结果:
9632 SecondaryNameNode
9426 DataNode
10116 NodeManager
14216 Jps
9256 NameNode
9800 ResourceManager
【注意】若执行jps后提示:
程序 ‘jps’ 已包含在下列软件包中:
* default-jdk
* ecj
* gcj-4.6-jdk
* openjdk-6-jdk
* gcj-4.5-jdk
* openjdk-7-jdk
请尝试:sudo apt-get install <选定的软件包>
那么请执行下面命令,手动设置系统默认JDK:
sudo update-alternatives --install /usr/bin/jps jps /usr/lib/jvm/jdk1.7.0_79/bin/jps 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_79/bin/javac 300
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_79/bin/java 300