最近打算尝试在服务器上安装hadoop3.0,由于服务器上本来搭建好hadoop2.6,并且是用root用户安装。我不打算删除原来的hadoop2.6,
所以准备新建两个用户,hadoop2.6及hadoop3.0;将位于/usr/local/hadoop/目录下的hadoop2.6移到hadoop2.6用户目录下,并且将原本在/etc/profile
中配置的环境变量删除,然后在hadoop2.6用户目录中的.bashrc文件设置环境变量。使得两个用户各自使用不同的版本。
Preface
此次将用4台服务器搭建,一台为master节点,三台为slave节点。之前的hosts设置如下
master 116.57.56.220
slave1 116.57.86.221
slave2 116.57.86.222
slave3 116.57.86.223
一、创建新用户
<pre name="code" class="plain">sudo useradd -d /home/hadoop3.0 -m hadoop3.0 //-d设置用户目录路径,-m设置登录名
<pre name="code" class="plain">passwd hadoop3.0 //设置密码
然后使用切换至hadoop3.0时,命令行开头只显示$:,并且一些shell语句无法使用。
查询资料后发现此时的shell被设置为sh,故在/etc/passwd将/bin/sh改为/bin/bash后恢复正常。
hadoop3.0:x:1002:1002::/home/hadoop3.0:/bin/bash
关于sh与bash的区别
http://blog.csdn.net/eager7/article/details/14221901
http://blog.chinaunix.net/uid-24709751-id-3575988.html
接着在使用sudo时报错,原因是新创建的用户需要在/etc/sudoers中添加sudo权限
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
hadoop3.0 ALL=(ALL)ALL
将环境变量设置到.bashrc中
export JAVA_HOME=/usr/local/java/jdk1.8.0_101 //hadoop3.0需要java8
export HADOOP_HOME=~/usr/local/hadoop/hadoop-3.0.0-alpha1
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:${HIVE_HOME}/lib
export SCALA_HOME=~/usr/local/scala/scala-2.10.5
export SPARK_HOME=~/usr/local/spark/spark-2.0.1-bin-hadoop2.7
export SQOOP_HOME=~/usr/local/sqoop/sqoop-1.4.6
export HIVE_HOME=~/usr/local/hive/hive-1.2.1
export HBASE_HOME=~/us