linux环境搭建实验报告(linux搭建环境需要哪些命令)

Rust之旅 linux下rust环境搭建

从今天开始,我们将开始我们的Rust语言学习之路。Rust 语言是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。

首先我们需要搭建好开发环境,本次选用linux作为服务器系统,也是为以后项目环境做考虑。毕竟windows作为服务器系统还是过于小众。

如果您曾经安装过 rustup,可以执行 rustup update 来升级 Rust。

在ssh界面运行以下命令:

如果您熟悉rustup安装程序并希望自定义安装,请选择第二个选项。 但是,出于本教程的考虑,我们仅选择默认的第一个选项,然后按Enter。

在 Rust 开发环境中,所有工具都安装在 ~/.cargo/bin 目录中,您可以在这里找到包括 rustc、cargo 和 rustup 在内的 Rust 工具链。

运行以下命令

运行以下命令

如果出现以下版本号则证明安装成功

如果想卸载 Rust,您可以运行

如果想更新Rust,可以运行

如何在Linux下搭建hadoop集群环境 小残\'s Blog

前期准备

l 两台linux虚拟机(本文使用redhat5,IP分别为 IP1、IP2)

l JDK环境(本文使用jdk1.6,网上很多配置方法,本文省略)

l Hadoop安装包(本文使用Hadoop1.0.4)

搭建目标

210作为主机和节点机,211作为节点机。

搭建步骤

1修改hosts文件

在/etc/hosts中增加:

IP1 hadoop1

IP2 hadoop2

2 实现ssh无密码登陆

2.1 主机(master)无密码本机登陆

ssh-keygen -t dsa -P \'\' -f ~/.ssh/id_dsa

直接回车,完成后会在 ~/.ssh/ 生成两个文件: id_dsa 和 id_dsa.pub 。

这两个是成对出现,类似钥匙和锁。

再把 id_dsa.pub 追加到授权 key 里面 ( 当前并没有 authorized_key s文件 ) :

cat ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys

ssh localhost hostname

还是要输入密码,一般这种情况都是因为目录或文件的权限问题,看看系统日志,确实是权限问题

.ssh下的authorized_keys权限为600,其父目录和祖父目录应为755

2.2 无密码登陆节点机(slave)

slave上执行:

ssh-keygen -t dsa -P \'\' -f ~/.ssh/id_dsa

生成.ssh目录。

将master上的authorized_keys复制到slave上:

scp authorized_keys hadoop2:~/.ssh/

实验:在master上执行

ssh hadoop2

实现无密码登陆。

3 配置Hadoop

3.1拷贝hadoop

将hadoop-1.0.4.tar.gz ,拷贝到usr/local 文件夹下,然后解压。

解压命令:

tar –zxvf hadoop-1.0.4.tar.gz

3.2查看 cat /etc/hosts

IP1 hadoop1

IP2 hadoop2

3.3 配置 conf/masters 和 conf/slaves

conf/masters:

1

IP1

conf/slaves:

1

2

IP2

IP2

3.4 配置 conf/hadoop-env.sh

加入

1

export JAVA_HOME=/home/elvis/soft/jdk1.7.0_17

3.5 配置 conf/core-site.xml

1

2

3

4

property

namefs.default.name/name

valuehdfs://IP1:9000/value

/property

3.6 配置 conf/hdfs-site.xml

加入

property

namedfs.http.address/name

valueIP1:50070/value

/property

property

namedfs.name.dir/name

value/usr/local/hadoop/namenode/value

/property

property

namedfs.data.dir/name

value/usr/local/hadoop/data/value

/property

property

namedfs.replication/name

value2/value

/property

3.7 配置conf/mapred-site.xml

加入

property

namemapred.job.tracker/name

value192.168.1.50:8012/value

/property

3.8 建立相关的目录

1

/usr/local/hadoop/ //hadoop数据和namenode目录

【注意】只创建到hadoop目录即可,不要手动创建data和namenode目录。

其他节点机也同样建立该目录。

3.9 拷贝hadoop文件到其他节点机

将hadoop文件远程copy到其他节点(这样前面的配置就都映射到了其他节点上),

命令:

1

scp -r hadoop-1.0.4 IP2:/usr/local/

3.10 格式化Active master

命令:

bin/hadoop namenode -format

3.11 启动集群 ./start-all.sh

现在集群启动起来了,看一下,命令:

1

bin/hadoop dfsadmin -report

2个datanode,打开web看一下

浏览器输入:IP1:50070

打完收工,集群安装完成!

Linux下docker基础环境搭建

curl -fsSL | bash -s docker --mirror Aliyun

# 报错:curl: (6) Could not resolve host: get.docker.com; 未知的错误

# 解决:cat /etc/resolv.conf 里加了个 nameserver 8.8.8.8

sudo curl -L \"(uname -s)-$(uname -m)\" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

验证安装:docker-compose --version

# compose 那个亚马逊的老是下载不了,可换对应地址:

sudo curl -L (uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

查看docker版本: docker --version

启动docker: systemctl start docker 或者 service docker start

停止docker: systemctl stop docker

查看docker镜像文件: docker images

查看docker内容器: docker ps -a

修改 /etc/dockers 文件下的配置文件 daemon.json (配置作用参考附录)

操作完成后需要重启docker: systemctl restart docker

服务端安装git:yum install git

拉取一下文件和命令:git clone

查看本地和远端版本:git branch -a

切换本地分支为dev:git checkout -b dev origin/dev

启动docker:service docker start

后 执行文件中的shell:./init.sh all (包含:mysql,mongo,redis,solr,activemq,tomcat)

删除多下载的镜像:docker rmi --force 3068f6bb852e

容器列表: docker ps -a

进入某个容器:docker exec -it [CONTAINER ID] /bin/bash

查看某个容器进程:docker top [NAMES]

查看 demo-dockers 目录下 java-runtime 文件位置下有对应几个项目配置文件 application-alpha.yml

修改配置文件后,需要重新启动对应java项目,执行启动脚本 ./init-java-runtime.sh + [项目名或者all]

获取镜像文件的地址: 查找对应需要的镜像包

更换镜像文件: vi java-runtime.yml 内,image后的对应项目后跟的包名中

重启对应项目: ./init-java-runtime.sh [项目名]

查看对应项目启动log: docker logs -f --tail 500 [生成的容器名称]

(容器重启:docker restart [容器id或名称])

{

\"authorization-plugins\": [],//访问授权插件

\"data-root\": \"\",//docker数据持久化存储的根目录

\"dns\": [],//DNS服务器

\"dns-opts\": [],//DNS配置选项,如端口等

\"dns-search\": [],//DNS搜索域名

\"exec-opts\": [],//执行选项

\"exec-root\": \"\",//执行状态的文件的根目录

\"experimental\": false,//是否开启试验性特性

\"storage-driver\": \"\",//存储驱动器

\"storage-opts\": [],//存储选项

\"labels\": [],//键值对式标记docker元数据

\"live-restore\": true,//dockerd挂掉是否保活容器(避免了docker服务异常而造成容器退出)

\"log-driver\": \"\",//容器日志的驱动器

\"log-opts\": {},//容器日志的选项

\"mtu\": 0,//设置容器网络MTU(最大传输单元)

\"pidfile\": \"\",//daemon PID文件的位置

\"cluster-store\": \"\",//集群存储系统的URL

\"cluster-store-opts\": {},//配置集群存储

\"cluster-advertise\": \"\",//对外的地址名称

\"max-concurrent-downloads\": 3,//设置每个pull进程的最大并发

\"max-concurrent-uploads\": 5,//设置每个push进程的最大并发

\"default-shm-size\": \"64M\",//设置默认共享内存的大小

\"shutdown-timeout\": 15,//设置关闭的超时时限(who?)

\"debug\": true,//开启调试模式

\"hosts\": [],//监听地址(?)

\"log-level\": \"\",//日志级别

\"tls\": true,//开启传输层安全协议TLS

\"tlsverify\": true,//开启输层安全协议并验证远程地址

\"tlscacert\": \"\",//CA签名文件路径

\"tlscert\": \"\",//TLS证书文件路径

\"tlskey\": \"\",//TLS密钥文件路径

\"swarm-default-advertise-addr\": \"\",//swarm对外地址

\"api-cors-header\": \"\",//设置CORS(跨域资源共享-Cross-origin resource sharing)头

\"selinux-enabled\": false,//开启selinux(用户、进程、应用、文件的强制访问控制)

\"userns-remap\": \"\",//给用户命名空间设置 用户/组

\"group\": \"\",//docker所在组

\"cgroup-parent\": \"\",//设置所有容器的cgroup的父类(?)

\"default-ulimits\": {},//设置所有容器的ulimit

\"init\": false,//容器执行初始化,来转发信号或控制(reap)进程

\"init-path\": \"/usr/libexec/docker-init\",//docker-init文件的路径

\"ipv6\": false,//开启IPV6网络

\"iptables\": false,//开启防火墙规则

\"ip-forward\": false,//开启net.ipv4.ip_forward

\"ip-masq\": false,//开启ip掩蔽(IP封包通过路由器或防火墙时重写源IP地址或目的IP地址的技术)

\"userland-proxy\": false,//用户空间代理

\"userland-proxy-path\": \"/usr/libexec/docker-proxy\",//用户空间代理路径

\"ip\": \"0.0.0.0\",//默认IP

\"bridge\": \"\",//将容器依附(attach)到桥接网络上的桥标识

\"bip\": \"\",//指定桥接ip

\"fixed-cidr\": \"\",//(ipv4)子网划分,即限制ip地址分配范围,用以控制容器所属网段实现容器间(同一主机或不同主机间)的网络访问

\"fixed-cidr-v6\": \"\",//(ipv6)子网划分

\"default-gateway\": \"\",//默认网关

\"default-gateway-v6\": \"\",//默认ipv6网关

\"icc\": false,//容器间通信

\"raw-logs\": false,//原始日志(无颜色、全时间戳)

\"allow-nondistributable-artifacts\": [],//不对外分发的产品提交的registry仓库

\"registry-mirrors\": [],//registry仓库镜像

\"seccomp-profile\": \"\",//seccomp配置文件

\"insecure-registries\": [],//非https的registry地址

\"no-new-privileges\": false,//禁止新优先级(??)

\"default-runtime\": \"runc\",//OCI联盟(The Open Container Initiative)默认运行时环境

\"oom-score-adjust\": -500,//内存溢出被杀死的优先级(-1000~1000)

\"node-generic-resources\": [\"NVIDIA-GPU=UUID1\", \"NVIDIA-GPU=UUID2\"],//对外公布的资源节点

\"runtimes\": {//运行时

\"cc-runtime\": {

\"path\": \"/usr/bin/cc-runtime\"

},

\"custom\": {

\"path\": \"/usr/local/bin/my-runc-replacement\",

\"runtimeArgs\": [

\"–debug\"]

}

}

}

服务端安装git:yum install git

拉取一下文件和命令:git clone

指定分支克隆git clone -b dev-1

查看本地和远端版本:git branch -a

切换本地分支为dev:git checkout -b dev origin/dev

启动docker:service docker start

后 执行文件中的shell:./init.sh all (顺序:mysql,mongo,redis,solr,activemq,tomcat)

删除多下载的镜像:docker rmi --force 3068f6bb852e

容器列表: docker ps -a

进入某个容器:docker exec -it [CONTAINER ID] /bin/bash

查看某个容器进程:docker top [NAMES]

# 查看是否安装了tomcat: rpm -qa | grep tomcat

# 查找文件:find / -name tomcat

# 切换Tomcat目录:cd /usr/local/tomcat/bin

# 关闭Tomcat:./shutdown.sh

# 查看docker中的java版本:docker exec container_name java -version

git拉代码:git clone git@172.16.1.35:gchat/gaga-server.git

查看远端分支:git branch -r

创建本地dev分支 并切换到dev分支:git checkout -b dev origin/dev

查看本地分支:git branch

切换回眸分支:git checkout master

查看所有JDK在系统中位置:/usr/libexec/java_home -V

参考地址:

查找docker 安装包:yum list installed | grep docker

停掉docker:systemctl stop docker

删除对应文件:yum remove docker.x86_64 docker-client.x86_64 docker-common.x86_64 -y

查看下docker rpm源:rpm -qa | grep docker

删除对应路径:rm -rf /var/lib/docker

注释:

本次也是由于业务需要,需要重新搭建新的测试服务器,这也是搭建中的一个插曲,后续会使用 Jenkins 进行相关的持续集成,大家一起学习分享!~

未经允许不得转载:便宜VPS网 » linux环境搭建实验报告(linux搭建环境需要哪些命令)