Ubuntu14.10中安装hadoop2.7.1单机模式

环境:
ubuntu 14.10
jdk 1.8.51
hadoop 2.7.1(是ubuntu终端下载,下面将详细解析)


安装:
  
1.在ubuntu中创建hadoop用户
1.1. ctrl+Alt+T打开终端窗口,然后输入如下命令创建新用户。
$ sudo useradd -m hadoop -s -/bin/bash
1.2. 使用下面命令修改密码
$ sudo passwd ****(自己设置的密码)
1.3. 接着为hadoop增加管理员的权限,以免之后出现权限问题。
$ sudo adduser hadoop sudo
也可以打开sudoers文件,给hadoop用户赋予和root一样的权限:
$sudo gedit /etc/sudoers
然后编辑增添如下那句hadoop   ALL(ALL:ALL)  ALL

点击回车后,打开sudoers文件,在

  root    ALL=(ALL:ALL) ALL

  后添加:

  hadoop   ALL=(ALL:ALL) ALL

  注意:“hadoop” 后为' ',而不是一个空格,一旦sudoers修改错误会引起很严重的后果(比如导致sudo命令无法正常使用,这时候只能通过root权限进行复原)。修改后的sudoers文件如下图所示:

\

(PS:此处小白的我果断以身试法,改sudoers改错了,出现了以下的情况 )改错后会出现:

 sudo: >>> /etc/sudoers:syntax error 在行 9 附近<<<
> sudo: >>> /etc/sudoers:syntax error 在行 9 附近<<<
> sudo: /etc/sudoers 中第 9 行附近有解析错误
> sudo: 没有找到有效的 sudoers 资源,退出
> sudo: 无法初始化策略插件、

此时关机,开机后长按shift,在引导选项中选择recovery,进入recovery mode来进行引导。但进入recovery模式后文件权限默认为只读,所以如果想要把修改的东西删除就需要如下操作:

    ①先在recovery menu页面选择frub,进入后就会将文件权限改为read/write;

    ②再进去root选项,修改要使用vim,把改错的删除就行。

    ③修改后保存,退出。然后再正常启动进入系统就可以了。

1.4. 注销当前的账户,然后登陆刚刚创建的hadoop用户。


2.
2.1. 安装ssh
$sudo apt-get installl openssh-server
然后continue YES

2.2. 安装好ssh服务后,那就打开这个服务吧
$sudo /etc/init.d/ssh start

2.3. 顺便查看下服务是否正确启动:
$ ps -e | grep ssh

2.4. 设置免密码登录,生成私钥和公钥

$ ssh-keygen -t rsa -P ""

在输入路径那儿笔者直接回车,这样在/home/hadoop/.ssh里面生成两个文件 id_rsa、id_rsa.pub,前者是私钥,后者是公钥。

2.5. 接着将公钥追加到authorized_keys里面,它保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

2.6. 登陆ssh
$ssh hadoop@localhost
接着输入yes

2.7. 退出
$exit

//关于开启ssh服务这点,楼主也是花费了将近一晚上的时间。系统的14.10原来的软件园各种镜像文件都链接不上,无数次显示404NOT FOUND,各种百度镜像源,各种添加之后并没有卵用。如小强般顽强的我开启了手动配置ssh服务的过程;

 手动安装过程如下:

1、下载相关软件包:
        zlib-1.2.5.tar.gz
       openssh-5.6p1.tar.gz
       openssl-1.0.1c.tar.gz
 
2、安装zlib-1.2.5.tar.gz:
      tar -zxvf zlib-1.2.5.tar.gz
      cd zlib-1.2.5
      ./ configure
      make
      make install
 
3、安装openssl:
      tar -zxvf  openssl-1.0.1c.tar.gz
      ./config  --prefix=/usr/local --openssldir=/usr/local/ssl
     make && make install
     ./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
     make clean
     make && make
 
4、安装openssh:
     tar -zxvf openssh-5.6p1.tar.gz
     ./configure--with-ssl-dir=/usr/local/openssl
     这里输入的目录为安装openssl配置的目录
     make
     gedit /etc/passwd
     在文件最后一行加入:
     sshd:x:74:74:Provilege-separatedSSH:/var/empty/sshd:/sbin/nologin
     保存后退出
     make install
 
5、启动ssh:
     /usr/sbin/sshd,/usr/local/sbin/sshd(如果用root用户安装,则用后面的命令)
    查看监听端口是否22
    netstat –tnlp|grep :22
    尝试从本机通过ssh登录
    ssh localhost
    如果能登录成功说明安装完成
 
6、设置开机自启动:
     vi /etc/rc.local
    在exit 0 上面写入(这里要注意的是 经过上面几步,发现gedit打不开 rc.local 注销一下 在进入就行了)
    sudo /usr/sbin/sshd 或sudo /usr/local/sbin/sshd(如果是用root安装 ,就用后面的命令)
//
友情提示,我当天安装一直在openssh的make阶段失败。。。。果断弃之睡觉,第二天回来的时候莫名的软件园可以直接更新了。。。。

3. 安装java环境
3.1 下载jdk二进制编译包
下载用wget软件,wget软件在ubuntu下的安装命令如下:
sudo apt-get install wget

用wget下载jdk包的命令格式为:
wget url链接 -o 输出文件名
例如:
wget http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-x64.tar.gz?AuthParam=1437810421_1d235bda6e9428e1caa05d0fd7951c6d -o jdk-x64.tar.gz

下载jdk用wget的方法之后,解压的时候一直提示错误。如果你在这个过程中也出现了这个问题,请尝试通过apt-get来下载软件。

3.2 解压安装
3.2.1 复制解压
先是把压缩包复制到欲安装目录下:
cp jdk-x64.tar.gz /usr/local/
进入上述目录解压:
cd /usr/local/
tar xzvf jdk-x64.tar.gz
若权限不足则还需要加上sudo:
sudo cp jdk-x64.tar.gz /usr/local/
cd /usr/local/
sudo tar xzvf jdk-x64.tar.gz

本人下载时的版本是1.8.0_51,故在/usr/local/目录下解压生成的jdk目录是/usr/local/jdk-1.8.0_51
3.2.2 配置路径安装
打开配置文件:
sudo vim /etc/profile
添加以下命令语句:
export JAVA_HOME=/usr/local/jdk-1.8.0_51
export PATH = $JAVA_HOME/bin:$PATH
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
应用配置:
source /etc/profile
测试成功:
java -version


4. 安装hadoop
4.1. 解压:
sudo tar xzf hadoop-2.7.1.tar.gz(一定不要下载rpm的,这个是redhat等系统的软件安装包,在ubuntu中是tar.gz这种才行。)
4.2. copy到/usr/local/中,并命名为hadoop
sudo mv hadoop-2.7.1 /usr/local/
cd /usr/local
sudo mv hadoop-2.7.1 hadoop

4.3. 修改目录主人
sudo chown hadoop:hadoop -R -f /usr/local/hadoop/

4.4. 配置
打开配置文件:
sudo vim /etc/profile
添加以下命令语句:

export HADOOP_INSTALL=/usr/local/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"


5. 测试

进入 hadoop目录:

cd /usr/local/hadoop

为了测试Hadoop安装在正确性,我们可以用在带的例子(比如WordCount)进行测试。

  1) 在/usr/local/hadoop路径下创建input文件夹    

    ~$ mkdir input

  2)拷贝 README.txt 到 input 文件夹

    ~$ cp README.txt input

  3)执行WordCount程序实例

       ~$ bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.0-sources.jar org.apache.hadoop.examples.WordCount input output

 

posted @ 2015-11-06 23:05  码代码的banana  阅读(389)  评论(0编辑  收藏  举报