irpas技术客

云服务器搭建Hadoop集群_Edge_Code_云主机搭建hadoop集群

irpas 3462

云服务器搭建Hadoop集群 一、配置服务器1. 创建普通用户2. 安装 Java 环境3.安装hadoop4.网络配置5.hadoop配置6.执行分布式实例

一、配置服务器 1. 创建普通用户 说明:由于 root 环境下操作比较危险,所以这里新建一个普通用户来进行 hadoop 的搭建。 创建一个普通用户 hadoop sudo useradd -m hadoop -s /bin/bash

设置密码并重复一次

sudo passwd hadoop

给 hadoop 用户增加 sudo 管理员权限

sudo adduser hadoop sudo

关闭终端,重新登录,将用户名更改为 hadoop ,并输入密码登录 切换到hadoop用户

su hadoop 2. 安装 Java 环境

进入 /usr/lib 文件夹下

cd /usr/lib

创建 jvm 文件夹

sudo mkdir jvm Windows 上下载 jdk1.8 安装包下载链接——提取码:6fat解压缩到 jvm 文件夹中 sudo tar -zxvf jdk-8u291-linux-x64.tar.gz -C /usr/lib/jvm 编辑环境变量文件 vim ~/.bashrc 在文件头添加如下内容: export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_291 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 保存后退出,并让 bashrc 文件重新生效 source ~/.bashrc 输入命令查看 Java 是否配置成功,显示如下即表示成功了 java -version 3.安装hadoop Hadoop 下载地址解压缩文件到 /usr/local 中 sudo tar -zxf hadoop-3.3.1.tar.gz -C /usr/local 进入到 /usr/local 文件夹下,更改 hadoop-3.3.1 的文件名为 hadoop cd /usr/local sudo mv ./hadoop-3.3.1/ ./hadoop 修改文件权限,让用户 hadoop 可以使用 hadoop 文件夹 sudo chown -R hadoop ./hadoop 进入到 hadoop 文件夹中,运行 hadoop,显示版本号即表示配置成功 4.网络配置 配置hostname 为了更好的在Shell中区分三台主机,修改其显示的主机名,执行如下命令 在3台机器上分别执行 sudo vim /etc/hostname

在master的/etc/hostname中添加如下配置:

master

slave1的/etc/hostname中添加如下配置:

slave1

同理slave2

slave2 在三台机器的/etc/hosts文件中,添加如下配置 ip1 master ip2 slave1 ip3 slave2

其中每台服务器自己的IP是内网IP,别人的是外网IP

配置ssh免密登陆 开始配置ssh之前,先确保三台机器都装了ssh。输入以下命令测试能否连接到本地,验证是否安装ssh。 ssh localhost

若不能,则安装open-server

sudo apt-get openssh-server

并生成ssh公钥。

ssh-keygen -t rsa -P ""

将公钥加入到已认证的key中

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

在保证了三台主机电脑都能连接到本地localhost后,还需要让master主机免密码登录slave1和slave2主机。在master执行如下命令,将master的id_rsa.pub传送给两台slave主机。

scp ~/.ssh/id_rsa.pub hadoop@slave1:/home/hadoop/ scp ~/.ssh/id_rsa.pub hadoop@slave2:/home/hadoop/

接着在slave1、slave2主机上将master的公钥加入各自的节点上,在slave1和slave2执行如下命令:

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

在master主机上直接执行如下测试命令,即可让master主机免密码登录slave1、slave2主机。

ssh slave1 ssh slave2 5.hadoop配置

在配置集群/分布式模式时,需要修改“/usr/local/hadoop/etc/hadoop”目录下的配置文件,这里仅设置正常启动所必须的设置项,包括workers 、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5个

修改文件workers 本教程让Master节点仅作为名称节点使用,因此将workers文件中原来的localhost删除,只添加如下两行内容: slave1 slave2 配置文件配置 cd /etc vim hadoop-env.sh 将JAVA_HOME修改为本机的JAVA_HOME JAVA_HOME=/usr/lib/jvm/java-openjdk

修改core-site.xml

<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> </configuration>

修改hdfs-site.xml:

<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration>

修改mapred-site.xml

<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>

修改yarn-site.xml

<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> </configuration>

配置好后,将 master 上的 /usr/local/Hadoop 文件夹复制到各个节点上。速度较慢,也可直接在slave上重新配置

cd /usr/local/ tar -zcf ~/hadoop.master.tar.gz ./hadoop cd ~ scp ./hadoop.master.tar.gz slave1:/home/hadoop scp ./hadoop.master.tar.gz slave2:/home/hadoop

在slave1,slave2节点上执行:

sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local sudo chown -R hadoop /usr/local/hadoop 启动Hadoop集群 在master主机上执行如下命令: cd /usr/local/hadoop bin/hdfs namenode -format sbin/start-all.sh

运行后,在master,slave1,slave2运行jps命令,查看:

jps

首次启动Hadoop集群时,需要先在Master节点执行名称节点的格式化(只需要执行这一次,后面再启动Hadoop时,不要再次格式化名称节点),命令如下

hdfs namenode -format 6.执行分布式实例

首先创建HDFS上的用户目录,命令如下:

hdfs dfs -mkdir -p /user/hadoop

然后,在HDFS中创建一个input目录,并把“/usr/local/hadoop/etc/hadoop”目录中的配置文件作为输入文件复制到input目录中,命令如下:

hdfs dfs -mkdir input hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml input

接着就可以运行 MapReduce 作业了,命令如下:

hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input output 'dfs[a-z.]+'

3.0之后hadoop登录端口9870


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #云主机搭建hadoop集群 #创建普通用户2 #安装 #JAVA #创建普通用户说明由于 #root