ubuntu server 12.04 jdk,ssh及hadoop配置
我是在32位的系统下配置的,所以在下载安装文件时候要注意。
第一步:下载并配置JDK
1.下载jdk,这里下载的是jdk1.7.0_65版本的,命令如下
$ wget http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-i586.tar.gz?
2.解压下载好的文件
$ tar zxvf jdk-7u65-linux-i586.tar.gz
3.将解压完的文件复制到/opt/目录下
$ sudo cp -r jdk1.7.0_65 /opt/
4.配置jdk环境变量,打开/etc/profile,并添加如下代码
$ sudo vim /etc/profile
在末端添加的代码:
# set java environment export JAVA_HOME=/opt/jdk1.7.0_65 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
5.重新执行配置文件使之立即生效
$ source /etc/profile
6.验证配置是否成功
$ java –version
出现下列则成功
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b10)
Java HotSpot(TM) Server VM (build 20.10-b01, mixed mode)
第二步:安装SSH并设置无密码登录
2.1 安装openssh-server
$ sudo apt-get install openssh-server
2.2 检查是否安装好
$ ssh -version
出现下面信息说明安装好了:
OpenSSH_5.9p1, Debian-5ubuntu1.4,OpenSSL 1.0.1 29 Mar 2012 Bad escape character 'rsion'.
2.3 启动/关闭服务
$ /etc/init.d/sshd start/stop
或者
$ service sshd start/stop
2.4 配置无密码登录
参考地址:http://www.iteblog.com/archives/781
$ ssh-keygen –t dsa –P ‘’
这样就会下生成id_dsa和id_dsa.pub两个文件
将id_dsa.pub里面的内容加到用于认证的公钥文件中,命令如下(注意:不要复制,一定要用cat去操作,不信你可以去试试。):
$ cat id_dsa.pub >> authorized_keys
接着输入下列命令
$ ssh localhost
可以登录说明配置好了。
第三步:部署Hadoop(2.2.0版本)
注意,一定要在用户目录下安装配置,否则会出现各种permission denied问题。
链接地址:http://www.iteblog.com/archives/790
(32位系统的hadoop直接下载安装就可以了,64位的需要编译。
参考地址:http://blog.csdn.net/john_f_lau/article/details/17690239)
3.1 下载Hadoop并解压到根用户目录下
$ wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz $ tar zxvf hadoop-2.2.0.tar.gz
这里我解压后放在了用户目录下的opt/目录下。
3.2 设置Hadoop环境变量
$ sudo vim /etc/profile
在/etc/profile文件的末尾加上一下设置
# set Hadoop environment export HADOOP_DEV_HOME=${用户目录}/opt/Hadoop export PATH=$PATH:$HADOOP_DEV_HOME/bin export PATH=$PATH:$HADOOP_DEV_HOME/sbin export HADOOP_MAPARED_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
然后运行命令让设置生效:
$ sudo source /etc/profile
验证环境变量是否配置成功
$ Hadoop versio
3.3 编辑JDK所在路径
修改Hadoop的hadoop-env.sh配置文件,设置jdk所在的路径
$ vim etc/hadoop/hadoop-env.sh
在里面找到JAVA_HOME,并将它的值设置为你电脑jdk所在的绝对路径
# The java implementation to use. export JAVA_HOME=/opt/jdk1.7.0_45
设置好后保存退出
3.4 配置几个必须的文件(师兄指导后的精简版)
在hadoop目录下的etc/hadoop目录下
core-site.xml |
<configuration> |
hdfs-site.xml |
<configuration> </configuration> |
mapred-site.xml |
<configuration> |
其中的hdfs-site.xml文件中的${用户目录}/data/Hadoop/tmp必须要先建好。
上述文件中的字段解释:
fs.default.name:这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。
dfs.replication:副本集的个数。
hadoop.tmp.dir:Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。
mapred.job.tracker:连接jobtrack服务器的配置项,指定JobTracker进程运行的位置。