您的位置:首页 > 运维架构

vmware ubuntu12.04 hadoop 完全分布式环境搭建记录(1)

2017-05-20 15:50 369 查看
不能算原创,根据http://www.jb51.net/article/104427.htm 整理下自己的过程

1,前面装了三个虚拟机,一个master,两个slave,并配置桥模式,能够互相ping通,并能上网

2.,配置java环境

下载jdk

jdk-8u131-linux-x64.tar.gz
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jdk1.8.0_131 linux 64bit

创建java文件夹,sudo mkdir /usr/local/java

拷贝下载的压缩包到这个路径下

到这个文件夹下,解压压缩包 sudo tar xvf jdk-8u131-linux-x64.tar.gz

解压完,下载的压缩包可以删除了

修改环境变量 sudo gedit /etc/profile, 在打开的文件下面添加

export
JAVA_HOME=/usr/local/java/jdk1.8.0_131

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

在控制台java
-version 查看是否有版本信息,有即安装成功

【多个用户共享java环境变量】

sudo chmod 777 /etc/profile

sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_131/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.8.0_131/bin/javac 300

sudo update-alternatives --config java

3 配置SSH免密登录 参考上面链接,这里复制下命令以备自己使用,并增加补充说明,见红色

在hadoop用户下执行

保证虚拟机可以上网,安装ssh

sudo apt-get install ssh

ls -a -l

sudo mkdir .ssh

sudo chown -R hadoop .ssh

ssh-keygen -t rsa #这里是创建公钥和私钥

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #把公钥拷贝到公共认证文件

chmod 600 ~/.ssh/authorized_keys #修改权限

【补充】

scp ~/.ssh/id_rsa.pub hadoop@slave1 #将master的公钥传到slave1上,后面再拷贝到slave1的公共认证文件中,当然也可以直接打开master的authorized_keys,手动拷贝到slave1/2的同名文件中

这里说明的是,把master的pubkey拷贝进slave1/2的authorized_keys里,master可以无密码登录到slave1/2

反过来把slave1/2的pubkey到拷贝到master的authorized_Keys中,slave1/2能无密码登录master

4. Hadoop安装

Hadoop分别从三个角度将主机划分为两种角色。第一,最基本的划分为Master和Slave,即主人和奴隶;第二,从HDFS的角度,将主机划分为NameNode和DataNode(在分布式文件系统中,目录的管理很重要,管理目录相当于主任,而NameNode就是目录管理者);第三,从MapReduce角度,将主机划分为JobTracker和TaskTracker(一个Job经常被划分为多个Task,从这个角度不难理解它们之间的关系)。 【摘自上面链接】

步骤参考文章顶部转载链接

【补充】

master slave1 slave2 最后把hadoop放置在相同的路径下,如都是hadoop@master:/下 ,因为我开始master上hadoop在home/hadoop/hadoop/hadoop-2.8.0,slave1/2是在home/hadoop/hadoop-2.8.0上,这样在执行start-all.sh时,slave1/2会根据master的路径找slave上的文件,找不到。不知道是不是我前面配置的问题,后来我把master上的路径调整成和slave一致,问题就解决了

原来连接中设置core-site.xml中设置hadoop重要文件放入/tmp中,这个如果在设备重启后,会被清空,所以这里不推荐用/tmp,可以放到其他路径下,设置完后要重新格式化namenode

hadoop 格式化的命令有两个:

老的:hadoop namenode -format

新的:hafs namenode -format

启动命令也有多个:

老的 start-all.sh

新的 start-dfs.sh 和 start-yarn.sh

查看启动成功和状态也可以用浏览器界面形式:
http://192.168.124.130:50070 (HDFS管理界面)
http://192.168.124.130:8088 (MR管理界面)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: