环境:
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服务的过程;
手动安装过程如下:
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