在Ubuntu上安装与配置Hadoop

安装环境

操作系统:ubuntu14.10,运行在virtualBox上。

Hadoop:hadoop-1.0.4.tar.gz

JDK:jdk-7u25-linux-i586.tar.gz


        首先把要用到的压缩包上传到Ubuntu,在这里我使用Xshell作为远程管理工具,Xftp作为文件管理工具。在/home/caiyong(当前用户目录)下创建setup文件夹,将hadoop-1.0.4.tar.gzjdk-7u25-linux-i586.tar.gz上传到/home/caiyong/setup


Step1.添加用户和组


(1)添加组:

   addgroup hadoop  //组名为hadoop
(2)添加用户:
   adduser -ingroup hadoop hadoop //在hadoop组中添加名为hadoop用户
添加新的用户和组的作用: 使用独立的账户保护hadoop文件,防止被其他用户修改,同时还能防止程序修改其他账户的文件


Step2.hosts的配置


        Hadoop通过域名来进行互相访问,通过修改/etc/hosts文件可以配置本地域名映射关系,在hosts文件中添加计算机的域名(别名)和IP的对应关系,如在本机中添加slave1的主机,假设ip为192.168.1.1,则在末尾添加的内容为:192.168.1.1  master。

(修改hosts时可能会提示权限不够,修改/etc/hosts文件的权限:chmod 777 /etc/hosts

       然后修改/etc/sysconfig/network文件,将主机名改为master,在network文件后面添加一行:HOSTNAME=master。重启系统后,主机名便会生效。也可以运行如下命令设置主机名,无须重启:

    hostname master
     然后输入hostname查看主机名已经变为master。


Step3.ssh无密码登录


(1)安装ssh客户端:

   sudo apt-get install ssh
(2)生成无密码的“公私钥”对:
   su hadoop  //切换到hadoop用户
   ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  // ssh-keygen代表生成密钥,-t表示指定生成的密钥类型,密钥类型为dsa和
   rsa都可以,-P ''表示密码为空,-f指向生成的密钥文件地址为~/.ssh/id_dsa
   在Ubuntu中,~代表当前用户文件夹,这里为:/home/caiyong

   cd .ssh/
   ls -alh  //查看秘钥文件
   cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys //把公钥追加到用于认证的公钥文件中,这里authorized_keys就是用于认证的公钥文件
   chmod 600 ~/.ssh/authorized_keys  //给authorized_keys最小的权限600,其他用户不能写
(3)验证ssh是否安装成功

   切换到根目录:cd ~,修改.ssh的权限:chmod 700 .ssh/
   输入:

   ssh -V

   显示ssh的版本信息,则说明ssh安装成功。

   输入:

  ssh localhost
   会自动登录到localhost而不需要输入密码。

Step4.JDK的安装与配置


运行hadoop需要JDK1.6及以上的版本。
(1)安装

  tar -zxvf  jdk-7u25-linux-i586.tar.gz -C /usr/java      // /usr/java是解压后存放jdk的位置   
  //建立一个软连接,目的是减少以后输入的复杂度,以后输入jdk就代表输入的是jdk1.7.0_25,便于配置
  ln -s /usr/java/jdk1.7.0_25 /usr/java/jdk
 (2)配置环境变量 在/etc/profile文件中添加下面的内容: 
 
   export JAVA_HOME=/usr/java/jdk
   export PATH=$JAVA_HOME/bin:$PATH
   export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    在命令行下输入: source   /etc/profile使修改生效
    输入:

java -version
   显示java的版本信息,则说明JDK安装成功。
  重启后,输入java -version看不到安装的java的版本信息,所以要手动将当前安装的JDK设置成系统默认的JDK,命令如下:

  sudo update-alternatives  --install   /usr/bin/java  java   /usr/java/jdk/bin/java  300
  sudo update-alternatives  --install   /usr/bin/javac  javac   /usr/java/jdk/bin/javac  300
  sudo  update-alternatives  --config  java

Step5.hadoop的安装

在分布式安装的模式下,所有服务器的hadoop的安装目录需要一样,我安装的位置是:/opt/hadoop

  tar -zxvf  hadoop*.tar.gz -C /opt
  mv /opt/hadoop-1.0.4 hadoop     //把hadoop-1.0.4 移动到hadoop,方便配置
  chown -R hadoop:hadoop /opt/hadoop/   //把hadoop文件的权限赋给hadoop组的hadoop用户

Step6.配置hadoop


首先切换到hadoop用户:

  su hadoop
修改hadoop目录下conf/hadoop-env.sh的环境变量,在末尾添加:
  export JAVA_HOME=/usr/java/jdk
  export HADOOP_HEAPSIZE=256
  export HADOOP_PID_DIR=/home/$USER/pids
修改hadoop目录下 conf/core-site.xml的配置文件,在 <configuration>标签中添加如下内容:
  <property>
     <name>fs.default.name</name>
     <value>hdfs://master:9000</value>
  </property>
  <property>
     <name>hadoop.tmp.dir</name>
     <value>/home/${user.name}/tmp</value>
  </property>
修改hadoop目录下 conf/hdfs-site.xml的配置文件,在 <configuration>标签中添加如下内容:
  <property>
      <name>dfs.replication</name>   //因为这是伪分布式模式,所以备份数为1
      <value>1</value>
  </property>

  <property>
      <name>dfs.name</name>
      <value>/home/${user.name}/dfs_name</value>
  </property>

  <property>
      <name>dfs.data.dir</name>
      <value>/home/${user.name}/dfs_data</value>
  </property>
修改 hadoop目录cong/mapred-site.xml的配置,在 <configuration>标签中添加如下内容:
  <property>
      <name>mapred.job.tracker</name>
      <value>master:9001</value>
  </property>

  <property>
      <name>mapred.system.dir</name>
      <value>/home/${user.name}/mapred_system</value>
  </property>

  <property>
      <name>mapred.local.dir</name>
      <value>/home/${user.name}/mapred_local</value>
  </property>
配置辅助名称节点:修改hadoop目录conf/masters文件,修改内容为:
master   //用IP也可以
配置子节点:修改hadoop目录conf/slaves文件,修改内容为:
master   //用IP也可以


Step7.执行Hadoop


(1)格式化:

  ./bin/hadoop  namenode  -format(在/opt/hadoop目录下面执行)
(2)启动hadoop守护进程:
  ./bin/start-all.sh
hadoop的守护进程的日志写入到{HADOOP_LOG_DIR}目录(默认为log下面)
(3)查看启动是否成功,输入:jps 

如果出现6个进程:jps,namenode,secondarynamenode,datanode,jobtraacker和tasktracker,则说明Hadoop安装成功。

(4)浏览namenode和jobtracker的网络接口,默认地址是:
   namenode:http://192.168.56.101:50070/
   jobtracker:http://192.168.56.101:50030/



参考资料:《Hadoop实战》    第二版    陆嘉恒  著           机械工业出版社

                 《Hadoop实战手册》      [美]Jonathan R.Owens 等   著     傅杰  等  译     人民邮电出版社

                  

你可能感兴趣的:(hadoop,hadoop,1.0.4)