初学hadoop 老师又给了spark的任务 所以有了这次环境配置 经过几天的努力总算搭建起来 现在详细说下过程 做下记录
1我是在虚拟机上安装的ubuntu 网络选择的是NAT 模式
安装好ubuntu 就进入正题了 ubuntu需要联网 不过NAT模式下不用设置网络连接 与主机共享IP 初始有网络
2开始shell Ctrl+ALT+T 因为在root 用户下操作方便
所以先执行 sudo passwd root 创建root密码
之后执行su 登陆
3安装JDK 下载JDK 我放在/usr/java/jdk.....
配置/etc/profile 文件 /etc/profile文件每次需要source 嫌麻烦可修改~/.bashrc文件 或将source /etc/profile 命令写入~/.bashrc
source /etc/profile
java -version 进行检测
4关闭防火墙 centos 是iptable ubuntu是ufw 服务
ufw status 查看
ufw disable 禁用
5修改主机名
vi为编辑器 vi /etc/hostname 进行修改
/etc/hosts ip地址+主机名+域名 ip与主机名绑定 修改后ping 主机名 可以ping通
执行hsotname查看主机名
6 ssh 免密码登陆
apt-get update 更新软件包
apt-get install openssh-server 安装ssh服务
ssh-keygen -t rsa 产生公钥 私钥 在~/.ssh 文件下 一直按回车即可
将公钥内容 拷贝到 授权文件authorized_keys
相当于在ssh文件下 执行 cp id_rsa.pub authorized_keys
7 安装hadoop 修改配置文件
我用的是2.7.3 主要修改的配置文件有
我的主机名为linux1991
yarn-site.xml
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mapred-site.xml
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
hdfs-site.xml
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_121
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
core-site.xml
具体内容 查看相关文章
还应配置/etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export SCALA_HOME=/usr/scala/scala-2.12.1
export SPARK_HOME=/usr/spark/spark-2.1.0-bin-hadoop2.7
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
这里还有scala 和spark的环境配置
8 格式namenode hadoop命令在bin文件下
bin/hadoop namenode -format
9 启动hadoop
start-all.sh 在sbin文件下
10 查看节点 jps
ResourceManager
DataNode
Jps
NodeManager
SecondaryNameNode
NameNode
若 没有datanode 1关闭防火墙 或2 清除{hadoop.tmp.dir}/dfs/data/文件下的所有文件 或3格式namenode
若启动SecondaryNameNode IP显示为0.0.0.0
在hdfs-site.xml 中配置
若出现Error JAVA_HOME is not set 在hadoop-env.sh中设置 java_home
11 运行wordcount
在hdfs上创建文件 执行 bin/hadoop fs -mkdir /input
上传文件到 hdfs 执行bin/hadoop fs -put README.txt /input
查看 执行 bin/hadoop fs -ls /
运行样例包 jar包在share/hadoop/mapreduce hadoop-mapreduce-examples-2.7.3.jar
运行 bin/hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output
注意jar 路径 与权限 权限通过 chmod 777 hadoop-mapreduce-examples-2.7.3.jar 修改
/output 文件 不用创建 执行时自动在hdfs上生成
可以用 bin/hadoop fs -get /output ./ 将output 下载下来
注意在每次运行时 output文件 必须不能存在于hdfs上
执行后 查看output中part文件 查看结果
自此 hadoop 可以运行
12 安装scala
解压 配置/etc/profile 设置scala 环境变量
export SCALA_HOME=/usr/scala/scala-2.12.1
SCALA_HOME/bin
执行scala命令 可进入scala的relp模式 :quit 退出
13 安装spark
解压 配置/etc/profile 设置spark 环境变量
export SPARK_HOME=/usr/spark/spark-2.1.0-bin-hadoop2.7
$SPARK_HOME/bin
在conf文件下配置spark-env.sh
export SCALA_HOME=/usr/scala/scala-2.12.1
export JAVA_HOME=/usr/java/jdk1.8.0_121
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.7.3/etc/hadoop
export SPARK_MASTER_IP=linux1991
export SPARK_LOCAL_IP=linux1991
export SPAPK_LOCAL_DIRS=/usr/spark/spark-2.1.0-bin-hadoop2.7
export SPARK_DRIVER_MEMORY=1G
具体内容 查文章
修改slaves文件 为主机名
14 运行 sbin/start-all.sh
jps 后有 master worker
浏览器 可访问 linux1991:8080
15 spark 提供了shell 编程
scala在bin/spark-shell
python用bin/pyspark
打开shell后会自动创建sc 实例
若没有找到sc 注意打开hdfs