ubuntu 1604 配置hadoop spark 笔记

1 安装jdk

1.1 移除所有java相关包的方法

sudo apt-get update

sudo apt-cache search Java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common' | xargs sudo apt-get -y remove

sudo apt-get -y autoremove

//清除配置信息
sudo dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge

//清除java配置及缓存
sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf

//手动清除JVMs
sudo rm -rf /usr/lib/jvm/*

1.2 安装

// 下载(下载链接可能有问题,直接下载压缩包丢进去)
sudo wget http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-i586.tar.gz?AuthParam=1450494209_eedfc9b7c3f8482ca06d415172852c69 -O jdk8.tar.gz

//新建jdk目录
sudo mkdir /usr/lib/jdk
sudo chown -R hadoop:hadoop /usr/lib/jdk/

//解压到jdk目录
tar vzxf jdk-8u131-linux-x64.tar.gz -C /usr/lib/jdk/

配置环境变量

编辑配置文件

sudo vim ~/.bashrc

文件末尾添加以下代码

export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

令配置文件生效

source ~/.bashrc

下载好的jdk压缩包传给其他机器

scp ./jdk-8u131-linux-x64.tar.gz hadoop@ht05-13:/home/hadoop
scp ./jdk-8u131-linux-x64.tar.gz hadoop@ht05-14:/home/hadoop

1.3 检查

java -version
javac -version

2 新建用户

2.1 添加新用户

添加用户hadoop

sudo adduser hadoop

根据提示设置密码,其余信息可为空

2.2 赋予新用户sudo权限

sudo usermode -aG sudo hadoop

2.3 测试

切换用户

su hadoop

测试sudo权限

sudo visudo

3 设置ssh免密登录

在主机

ssh localhost  //登录本地自动创建~/.ssh文件夹
exit           //退出本地登录
cd ../.ssh
ssh-keygen -t rsa  //一路enter 生成ssh登录认证公钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //生成的公钥保存到认证文件

scp ~/.ssh/id_rsa.pub hadoop@ht05-13:/home/hadoop // 公钥拷贝到slave中
scp ~/.ssh/id_rsa.pub hadoop@ht05-14:/home/hadoop

在slave中

ssh localhost  //登录本地自动创建~/.ssh文件夹
exit           //退出本地登录
cd ../.ssh

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys // 将master的公钥保存到slave的认证文件中

完成后 master就可以使用ssh无密码登录到slave节点

4 master节点安装hadoop

4.1 下载安装hadoop

//下载
 wget https://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/hadoop-2.6.0.tar.gz 

//解压到 /usr/local
sudo tar vzxf hadoop-2.6.0.tar.gz -C /usr/local
//修改文件夹名
sudo mv hadoop-2.6.0/ hadoop

//修改文件夹所属用户和组
sudo chown -R hadoop:hadoop hadoop
cd hadoop/

// 测试
./bin/hadoop

4.2 配置hadoop

在hadoop的slaves文件末尾添加slave节点名

sudo vim /usr/local/hadoop/etc/hadoop/slaves

这里用的slave节点名为 ht05-13 ht05-14
因此配置后的文件内容为

localhost
ht05-13
ht05-14

编辑配置文件 core-site.xml,将如下配置添加到标签之间

<property>
     <name>fs.defaultFS</name>
     <value>hdfs://ht05-12:9000</value>
</property>

<property>
     <name>hadoop.tmp.dir</name>
     <value>file:/usr/local/hadoop/tmp</value>
     <description>Abase for other temporary directories</description>
</property>

修改hdfs-site.xml

<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>ht05-12:50090</value>
</property>

<property>
    <name>dfs.name.dir</name>
    <value>/usr/local/hadoop/tmp/dfs/name</value>
    <description>Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently.</description>
</property>

<property>
    <name>dfs.data.dir</name>
    <value>/usr/local/hadoop/tmp/dfs/data</value>
    <description>Comma separated list of paths on the local filesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

修改mapred-site.xml

复制mapred-site.xml.template并改名为mapred-site.xml

cp mapred-site.xml.template mapred-site.xml

编辑mapred-site.xml

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

编辑 yarn-site.xml

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>ht05-12</value>
</property>

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

修改hadoop-env.sh,添加JDK支持:

export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_131

5 在slave节点安装配置hadoop

将master节点的/usr/local 目录下的hadoop目录打包 发送给slave节点

sudo tar czvf hadoop.tar.gz hadoop
scp hadoop.tar.gz hadoop@ht05-13:/home/hadoop
scp hadoop.tar.gz hadoop@ht05-14:/home/hadoop

在slave节点解压文件并修改文件所属用户以及组

sudo tar vzxf hadoop.tar.gz -C /usr/local
sudo chown -R hadoop:hadoop /usr/local/hadoop

6 运行hadoop

cd /usr/local/hadoop/
// 格式化
./bin/hdfs namenode -format

// 启动
./sbin/start-dfs.sh
./sbin/start-yarn.sh

//检验运行状态
jps
./bin/hdfs dfsadmin -report

//运行hadoop自带例程
cd bin/
//本地创建input目录存放输入
sudo mkdir input
//复制文件作为输入
sudo cp ../etc/hadoop/core-site.xml input/words.txt
//在hdfs上创建目录input
./hdfs dfs -mkdir /input
//查看hdfs上的input目录下的文件
./hdfs dfs -ls /
//本地文件移动到hdfs上的input中
./hdfs dfs -put input/* /input

//执行例程
./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /input /output

执行结果

这里写图片描述

停止hadoop

./sbin/stop-dfs.sh
./sbin/stop-yarn.sh

7 安装Scala

7.1 解压

sudo tar -xzvf scala-2.12.2.tgz -C /usr/local

7.2 重命名

cd /usr/local
sudo mv scala-2.12.2 scala

7.3 配置环境变量

sudo vim /etc/profile
# 在最后添加下面内容
export SCALA_HOME=/usr/local/scala
export PATH=$SCALA_HOME/bin:$PATH

7.4 使配置生效

source /etc/profile

7.5 测试

scala -version

8 安装spark

8.1 解压

sudo tar -zxf spark-2.1.1-bin-hadoop2.6.tgz -C /usr/local

8.2 重命名

cd /usr/local
sudo mv spark-2.1.1-bin-hadoop2.6 spark

8.3 添加环境变量

sudo vim /etc/profile
# 在最后添加下面内容
export SPARK_HOME=/usr/local/spark
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH

8.4 修改权限

sudo chown -R hadoop:hadoop ./spark

8.5 拷贝配置文件

cd /usr/local/spark
cp ./conf/spark-env.sh.template ./conf/spark-env.sh

8.6 修改配置文件

cd /usr/localsudo /spark
vim ./conf/spark-env.sh
# 添加下面一行
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_131

8.7 运行简单示例

/usr/local/spark/bin/run-example SparkPi 2>&1 | grep "Pi is roughly"

8.8 启动spark

/usr/local/spark/sbin/start-all.sh

8.9 进入spark shell

输入

spark-shell

可以看到界面
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值