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

在Linux下搭建Hadoop分布式集群

2017-07-11 20:51 645 查看
【设置网络连接】

首先我们要设置虚拟机NAT方式(自动分配IP地址)连接外网

进行更新源的操作(具体操作见:http://blog.csdn.net/arnold_lee_yc/article/details/74846263)

【安装Mysql】

sudo apt install
b640
mysql-server


验证是否安装成功

mysql -uroot -pa
show databases;
exit


【创建jar包存放目录】

mkdir software
cd ~/software


【上传jdk hadoop】

rz


【在/目录下创建文件夹】

sudo mkdir mysoftware


【更改mysoftware所属】

sudo chown -R hadoop:hadoop mysoftware


【进入mysoftware并解压jdk、hadoop】

cd mysoftware
tar -zxvf ~/software/jdk-8u101-linux-x64.tar.gz
tar -zxvf ~/software/hadoop-2.7.3.tar.gz


【配置环境变量】

vim ~/.profile
输入以下内容:
export JAVA_HOME=/mysoftware/jdk1.8.0_101
export HADOOP_HOME=/mysoftware/hadoop-2.7.3
export PATH="$JAVA_HOME/bin:$HADOOP_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATH"


【重启虚拟机检查是否安装成功】

sudo reboot
javac -version
java -version
hadoop version
【更改NAT连接方式,不再自动分配地址】(这样当我们在不同环境开发,都不用去修改ip地址)



【将ip地址修改为静态ip】

sudo vim /etc/network/interfaces




【配置主从机ip地址映射】

sudo vim /etc/hosts



【初始化ssh(便于无密码登录)】

rm -rf .ssh
ssh-keygen -t rsa -P ""
cat id_rsa.pub >> authorized_keys


【添加配置信息】

cd /mysoftware/hadoop-2.7.3/etc/hadoop/
vim hadoop-env.sh
输入以下内容:
export JAVA_HOME=/mysoftware/jdk1.8.0_101

vim core-site.xml
输入以下内容:
<configuration>
<!--外部访问hadoopURL-->
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>

<!--hadoop产生临时文件所存放的位置-->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/mysoftware/hadoop-2.7.3/tmp</value>
</property>
</configuration>

vim hdfs-site.xml
输入以下内容:
<configuration>
<!--文件系统中每一个文件块的重复份数,建议使用奇数份-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>

<!--文件系统中元数据存放的位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/mysoftware/hadoop-2.7.3/dfs/name</value>
</property>

<!--文件系统数据块存放的位置,数据块的大小默认是128M-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/mysoftware/hadoop-2.7.3/dfs/data</value>
</property>

<!--对文件系统中数据访问时是否进行权限验证,默认true-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
输入以下内容:
<configuration>
<!--hadoop分布式计算框架的处理交给哪个平台处理-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

vim yarn-site.xml
输入以下内容:
<configuration>
<!--hadoop分布式计算框架的资源调度管理的主机-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>

<!--hadoop分布式计算框架的资源处理方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

vi slaves
输入以下内容:
slave01
slave02
slave03


【克隆主机】

进入每一个克隆机修改IP地址和主机名

sudo vim /etc/network/interface			配置IPv4 子网掩码 默认网关(网段要和VMnet8的网段一致)
sudo vim /etc/hostname                          分别改为slave01  slave02  slave03


【启动hadoop】

第一次启动时执行格式化操作(仅第一次使用时执行,只有再也不用格式化)

hdfs namenode -format
启动hadoop分布式存储系统

cd /mysoftware/hadoop-2.7.3
sbin/start-yarn.sh


查看java进程来确定hadoop是否启动成功

jps
看主节点是否会出现 namenode,secondarynamenode

看从节点是否会出现datanode

出现代表,hdfs启动成功,否则,表示失败,返回日志查看原因

less logs/hadoop-hadoop-namenode-master.log    查看namenode-master日志信
将本地文件上传到hdfs中

cd ~/data
hdfs dfs -put *.txt /        将data目录下的所有.txt文件上传至hdfs的根目录下
开启集群资源管理

sbin/start-yarn.sh
调用mapreduce的jar包进行运算

cd /mysoftware/hadoop-2.7.3/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /*.txt /out    统计单词数量
hdfs dfs -cat /out/*       查看结果


【关闭hadoop】

cd /mysoftware/hadoop-2.7.3
sbin/stop-yarn.sh      关闭集群资源管理
sbin/stop-dfs.sh       关闭hdfs分布式文件系统


【关闭虚拟机】
sudo shutdown -h now
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: