CentOS 集群安装hadoop-2.6.0 步骤记录
0. 背景介绍
7台服务器,操作系统CentOS 6.6版本 64位;
硬件配置:Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz,CPU MHZ:2201.00,cache :25600 KB,CPUcore:10;MemTotal:132132104 kB,MemFree:124365240 kB;
IP 地址分布及机器名:
pHPC4 10.18.109.104
pHPC5 10.18.109.105
pHPC6 10.18.109.106
pHPC7 10.18.109.107
pHPC8 10.18.109.108
pHPC9 10.18.109.109
IP 地址分布及机器名:
pHPC4 10.18.109.104
pHPC5 10.18.109.105
pHPC6 10.18.109.106
pHPC7 10.18.109.107
pHPC8 10.18.109.108
pHPC9 10.18.109.109
计划:pHPC4部署Master,其余5台部署slave.
1. jdk安装
首先Hadoop运行需要Java的支持,所以必须在集群中所有的节点安装JDK.集群内所有节点JDK安装路径统一如下:/usr/local/java
安装步骤:
a. 源码准备: 下载路径(jkd1.8.0_25)
b. 创建安装路径并解压源码到所创建路径:
创建路径:mkdir /usr/local/java
c. 复制源码到: /usr/local/java 并解压:
复制: cp jdk-8u25-linux-x64.tar.gz /usr/local/java
解压: sudo tar xvf jdk-8u25-linux-x64.tar.gz
删除源码:rm -r -f jdk-8u25-linux-x64.tar.gz
d. 配置环境变量(采用全局设置方法,它是是所有用户的共用的环境变量)打开配置文件:sudo gedit ~/.bashrc
配置如下:
export JAVA_HOME=/usr/local/java/jdk1.8.0_25
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
e. 查看:java -version
2. 配置hosts
a. 配置hosts
命令: sudo vim /etc/hosts
b. 添加:10.18.109.104 pHPC4
10.18.109.105 pHPC5
10.18.109.106 pHPC6
10.18.109.107 pHPC7
10.18.109.108 pHPC8
10.18.109.109 pHPC9
3. ssh 无密码连接
Hadoop需要使用ssh,通信,这里建立pHPC4(master)与pHPC5(slave)节点之间ssh无密码相互通信:a. 安装环境
安装ssh: yum install ssh
b. 生产密钥(在pHPC0下)
命令: ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa (产生一个私钥、公钥)
c. 拷贝公钥(进入~/.ssh/目录,将公钥(id_dsa.pub)拷贝到需要建立ssh连接的节点目录:~/.ssh/,并命名为id_dsa_0.pub)
命令: scp id_dsa.pub root@10.18.109.104:~/.ssh/id_dsa_0.pub
d. 导入私钥(进入pHPC4的~/.ssh/目录,导入私钥)
命令: cat id_dsa_0.pub >> autauthorized_keys
以同样方法建立其余各节点之间的ssh无密码连接。
4. Hadoop 的安装
a. 下载Hadoop-2.6.0:下载路径
b. 解压安装(安排统一安装路径:/usr/local/hadoop-2.6.0)
进入目录: cd /usr/local/
解压: tar xzfv hadoop-2.6.0.tar.gz
c. 配置
(1).修改hadoop-2.6.0/etc/hadoop/hadoop-env.sh,添加JDK支持:
export JAVA_HOME=/usr/java/jdk1.8.0_25
(2). 修改hadoop-2.6.0/etc/hadoop/core-site.xml:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-2.6.0/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://10.18.109.104:9000</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
(3). 修改hadoop-2.6.0/etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.6.0/dfs/name</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop-2.6.0/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop-2.6.0/dfs/data</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop-2.6.0/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(3). 修改hadoop-2.6.0/etc/hadoop/mapred-site.xml(由于2.6.0中没有这个配置文件,先建立一个):
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>10.18.109.104:9001</value>
</property>
</configuration>
首先建立一个master文件:touch master
在其中列出所有的master节点:
10.18.109.104
(6).修改hadoop-2.6.0/etc/hadoop/slaves
首先建立一个slaves文件:touch slaves
在其中列出所有的slaves节点:
10.18.109.105
10.18.109.106
10.18.109.107
10.18.109.108
10.18.109.109
(7). 至此配置工作做完,接着将配置好的hadoop文件夹拷贝到所有的slaves节点上:
下面以pHPC5为例:
拷贝命令:scp -r /usr/local/hadoop-2.6.0 root@10.18.109.105:/usr/local/hadoop-2.6.0
依次拷贝到所有slave节点。
5. 启动Hadoop
开启进程:sbin/start-dfs.sh
补充一点,空闲时关闭进程:sbin/stop-dfs.sh
我们可以通过网页来查看安装配置是否正常:http://10.18.109.100:50070/
番外篇:
a. 安装maven
命令:sudo apt-get install maven
验证:mvn --version
b. 安装依赖库
命令:sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev
c. 安装openssh
命令:sudo apt-get install openssh-server
d.安装protoco
命令:sudo apt-get install protobuf-compiler
验证:protoc --version
e. 安装ANT
命令:sudo apt-get install ant
或者采用手动安装
(1). 下载最新版:http://ant.apache.org/bindownload.cgi
(2). 解压:tar -xf apache-ant-1.8.2-bin.tar.gz
(3). 移动到指定文件夹:sudo mv apache-ant-1.8.2 /usr/local/apache-ant
(4). 配置环境变量:sudo vim /etc/profile
添加如下内容:
export ANT_HOME=/usr/local/apache-ant/apache-ant-1.8.2
(5). 验证是否成功:ant -version
f. 进入编译
命令:mvn clean package -Pdist,native -DskipTests -Dtar
编译好的文件在:hadoop-2.6.0-src/hadoop-dist/target